欢迎光临上海欧沁机电工程技术有限公司!主营产品:schunk机械抓手、beckhoff倍福模块、pfinder芬德清洗剂
    免责申明 | 网站地图
上海欧沁机电工程技术有限公司

专业schunk机械抓手经销商
多家机械厂家零件提供商

咨询服务热线15921239438

新闻动态

联系我们
全国咨询热线:15921239438
地 址:上海市嘉定区博乐南路158号泰宸商务楼706-710室
电 话:15921239438
传 真:021-52910271
邮 箱:admin@ouqueen.com
邮政编码:201800
行业动态
xingyedongtai
beckhoff倍福模块- 初识OLED模块

1. 初识OLED模块
OLED(Organic Light-Emitting Diode),即有机发光二极管,其实物图如下所示. OLED由于同时具备自发光,不需背光源,对比度高,厚度薄,视角广,反应速度快,可用于挠曲性面板,使用温度范围广,构造及制程简单等优异特性,被认为是下一代的平面显示器新兴应用技术。具有轻,薄,省电等特性,工作电压宽度高,从2.2V到5.5V. 
 



以上关于OLED的介绍简单看看就可以了,只需要知道它是128×64的点阵就行(当然也有其他尺寸的)。


2. 思路分析
前面已经讲了,就是三步曲,
(1) 初始化
(2)确定显示位置
(3)确定显示内容


3. 操作步骤

3.1 初始化
初始化过程说明书讲的很详细了,想都不用想,照做即可


  1. (1)Set MUX Ratio A8h, 3Fh 

  2. (2)Set Display Offset D3h, 00h

  3. (3)Set Display Start Line 40h

  4. (4)Set Segment re-map A0h/A1h

  5. (5)Set COM Output Scan Direction C0h/C8h

  6. (6)Set COM Pins hardware configuration DAh,02h

  7. (7)Set Contrast Control 81h,7Fh

  8. (8)Disable Entire Display On A4h

  9. (9)Set Normal Display A6h

  10. (10)Set Osc Frequency D5h, 80h

  11. (11)Enable charge pump regulator 8Dh, 14h

  12. (12)Display On AFh


复制代码



3.2 确定显示位置

与LCD1602的分析思路相同,要知道知道在哪里显示,就需要先知道哪些地方能显示。这里我们使用的oled模块的分辨率是128×64,也就是说一共128×64个led,下面用一个128列,64行的表格来描述更清晰一些,如下表所示。显示模块上的每一个点就对应着这个表格的一个空格,假设你在某一个空格中放1表示这个‘点‘亮,那么放0就表示这个’点‘暗。现在我们把这个表格的每8行叫做一个PAGE,这样一共就有8个PAGE(PAGE0~PAGE7). 由于我们在写如数据时通常以字节为单位,那么现在把表格中的Col0这一列的Row0-Row7作为一个单位,一共8个空格,刚好对应一个字节。那么这个字节的高低位如何分配呢?***低位放到Row0-Col0对应的空格(bit0),***高位放到Row7-Col0对应的空格(bit7)。这样当你写入一个字节的数据0x08时,对应的坐标(Col0-Row3)这个’点‘就亮了,其他7个点为暗。

那么现在对OLED模块的控制这个问题就转换成了如何向以下这个表格写入数据了。所谓确定显示屏的位置就是确定这个表格的位置,而确定表格的位置就是确定第几行,第几列。注意到我们这里是把表格中的每8行看成一个基本单位,因此确定表格的位置就是确定第几个PAGE,第几列。




  Col 0
  
  Col 1
  
  Col 2
  
  Col 3
  
  Col 4
  
  …
  
  Col 125
  
  Col 126
  
  Col 127
  
  
PAGE 0
  
  bit 0
  
  Row 0
  
  0
  








  bit 1
  
  Row 1
  
  0
  








  bit 2
  
  Row 2
  
  0
  








  bit 3
  
  Row 3
  
  1
  








  bit 4
  
  Row 4
  
  0
  








  bit 5
  
  Row 5
  
  0
  








  bit 6
  
  Row 6
  
  0
  








  bit 7
  
  Row 7
  
  0
  








  PAGE 1
  
  bit 0
  
  Row 8
  









  bit 1
  
  Row 9
  









  bit 2
  
  Row 10
  









  bit 3
  
  Row 11
  









  bit 4
  
  Row 12
  









  bit 5
  
  Row 13
  









  bit 6
  
  Row 14
  









  bit 7
  
  Row 15
  









  PAGE 2
  











  PAGE 3
  











  PAGE 4
  











  PAGE 5
  











  PAGE 6
  











  PAGE 7
  














那么如何确定PAGE和'列'呢?这个就涉及到寻址模式了,看看下面的这个图就明白了
 



这个属于页寻址模式,当然还有其他寻址,为了描述的简洁性这里不列出,详细内容查看说明书应该不难理解。这样对这个表格位置的确定就转换成了如何确定寻址模式,如何确定PAGE,如何确定起止列。与LCD1602类似,去查看OLED的指令表就可以搞定了,指令表中描述的非常清楚了。


3.3 确定显示内容
显示位置确定后,以字节为单位写入数据就可以了,一个字节8位,对应8个led,让它亮就写1,让它灭就写0. 写完一个字节的数据,指针会按照寻址模式的方向自动加1。这样就能构造出各种形状了。当然在实际操作过程中我们需要借助字模工具,让设计过程更加便捷。


 



4. 显示模块小结:
以上只是简单的描述OLED显示模块操作的思路,忽略了很多具体的细节。但是了解了这个思路,然后去查看说明书就很容易了。
现在来小结一下,对于显示模块,其功能自然是显示作用,既然是显示,我们关心无非就是在哪里显示,显示什么内容。只不过对于不同的显示模块,有些显示的位置多些,有些显示的内容更加丰富一些,比如有些模块可以显示不同的颜色。整体来讲对于显示模块,我们只需要做一件事情就可以了,就是在显示画面的任意一个位置能显示一个点(白点,黑点或者红点等等)。因为任何一个形状都是由点构成的,所以你能在任意一个位置显示一个点,那么理论上讲你就能显示各种形状了。当然,在具体操作中我们会借助一些字模工具来完成。


返回顶部