今天无聊,正好手上有个OLED小屏幕。于是就用STM32L053R8写了显示程序。首先我来介绍下OLED吧。
OLED的英文全称是OrganicLight-Emitting Diode,中文名叫有机发光二极管又称为有机电激光显示,由美籍华裔教授邓青云在实验室中发现,由此展开了对OLED的研究。OLED显示技术具有自发光的特性,采用非常薄的有机材料涂层和玻璃基板,当有电流通过时,这些有机材料就会发光,而且OLED显示屏幕可视角度大,并且能够节省电能。
简单说说OLED的优缺点吧:
OLED的优点
1、厚度可以小于1毫米,仅为LCD屏幕的1/3,并且重量也更轻;
2、固态机构,没有液体物质,因此抗震性能更好,不怕摔;
3、几乎没有可视角度的问题,即使在很大的视角下观看,画面仍然不失真;
4、响应时间是LCD的千分之一,显示运动画面绝对不会有拖影的现象;
5、低温特性好,在零下40度时仍能正常显示,而LCD则无法做到;
6、制造工艺简单,成本更低;
7、发光效率更高,能耗比LCD要低;
8、能够在不同材质的基板上制造,可以做成能弯曲的柔软显示器。
OLED的缺点
1、寿命通常只有5000小时,要低于LCD至少1万小时的寿命;
2、不能实现大尺寸屏幕的量产,因此目前只适用于便携类的数码类产品;
3、存在色彩纯度不够的问题,不容易显示出鲜艳、浓郁的色彩。
我手中的OLED是SPI协议通信的,我使用模拟的SPI,就是用STM32的IO口进行模拟。
用到了GPIOB的PIN1,PIN15,PIN14,PIN15脚。
控制引脚的电平高低使用BSRR和BRR寄存器控制,这个跟STM32F10X是一样的,大家可以参考STM32F10X的手册去了解这两个寄存器。
下面放出我的测试图:
附上源代码:
OLED.zip
(693.66 KB)
(下载次数: 118, 2014-12-9 01:25 上传)