单片机的OLED显示系统设计与实现
图3中,在VDD得电并稳定后,RES#引脚被拉低并维持低电平至少3μs(t1),然后再接其拉高,从而实现芯片复位。在芯片完成复位后,VCC上电。在VCC稳定之后,可发送0XAF命令开显示,而OLED的段和公共端(SEG/COM)则需再延迟100 ms,方可得电。按此可得对应的软件实现为:


同理可知,若将D/C#引脚电平拉高,则可得到发送一个字节数据的函数实现。
4 硬件接口
硬件基于自主开发的FG_V1.2开发板,核心控制芯片为宏晶公司LQFP-44封装的贴片STC89C52单片机,OLED的时钟引脚SCLK(D0)与单片机的P16引脚进行接口,数据引脚SDA(D1)与单片机的P17引脚进行接口,控制脚RST#与单片机的P36引脚进行接口,D/C#引脚与单片机的P37引脚进行接口,片选信号CS#已接至地。具体的硬件接口电路如图4所示。

图4:OLED与单片机接口电路
5 实现效果
SSD1306Z驱动芯片为OLED提供了丰富的指令集,可以使OLED在实现数据显示的同时,还能具有多种显示效果(如反白、渐变、闪烁等)和动态效果(如左移、右移、斜角斜屏、动态区域设置等)。具体显示效果如图5所示。

图5:OLED实物显示效果
图5为OLED模块在STC89C52单片机控制下的几种显示效果。(a)为静态显示效果,(b)为反白显示效果,反白后通过相机可见屏幕当中有动态黑色条纹,这是因为反白显示时出现了串扰(Crosstalk)现象,而这种现象被相机捕获到了,人眼观察是不存在动态黑色条纹的。(c)为区域动态效果,屏幕汉字部分设置为静态,而网址部分设置为连续右移的动态效果。由此可见,OLED相对比LCD显示,其具有更丰富的显示效果。
6 结论
文中通过STC89C52单片机对OLED显示模块进行了驱动,实验表明,其不仅硬件接口简单,而且在软件实现上极具灵活性,模块驱动芯片SSD1306Z包含丰富指令集,不仅简化了软件实现,而且丰富了显示效果。相比于同分辨率的12864LCD模块,OLED显示模块小巧精致,刷新速度快,显示效果丰富,成本相对也较低,是12864LCD模块的理想替代产品。随着OLED技术的发展,相信显示技术必将发展到一个新的阶段。
- 时间照明控制系统的解决方案详解(02-26)
- 一起来揭开触控技术的神秘面纱!(02-02)
- 12个不容忽视的LED重要性能指标(02-16)
- 量子点技术是什么?为什么选择它?(02-25)
- 四大主流面板正面对决:谁的显示效果最好?(02-25)
- 揭秘OLED电视有哪些优点(02-17)
