今天学习的是OLED显示实验,OLED,即有机发光二极管,自发光,不需要背光源,被认为是下一代的平面显示器新兴应用技术。
它有两个引脚,是用来控制通信方式:BS1和BS2。因为我学的是正点原子的开发板,他的OLED配件需要40元(有四种接口方式),而淘宝的IIC接口OLED的只需要9.9,于是我就买了便宜的,这就意味着要自己研究资料和敲代码。该OLED的控制芯片是SSD1306,IIC接口的只需要4根线:VCC,GND,SDA,SCL,非常节约资源。IIC通信上一次已经讲过,这次就不重复了。
这里先讲一下SSD1306写模式,1)首先是开始状态;2)发送从机地址:0x78|(W/R),写为0,读为1;3)等待回应;4)发送控制码:写数据为0x40,写命令为0x00;5)等待回应;6)发送数据值或命令值;7)等待回应;8)结束状态。
常用命令
OLED的显存为128字节*8页,每个字节是按列存放的。
默认的是页寻址,每列写完后,指针自动加一,到达最后一列,列指针回到最开始的地方,但页指针不会自动加一,用户必须自己更新到下一行。根据这个寻址方式,我们使用取模软件时,必须设置为阴码,列行式,逆向。