目录
一、OLED显示屏介绍
常见显示屏:LCD显示屏、点阵显示屏、OLED显示屏。LCD显示屏最常见,技术成熟。
OLED,即有机发光二极管(Organic Light-Emitting Diode),又称为有机激光显示(Organic Electroluminesence Display)。
OLED显示屏就是利用有机发光二极管制成的显示屏,只要在正负极上加上正确的电压就会发光。
LCD有背光层,显示黑色不那么明显,而OLED就是把所有的发光二极管都关闭,就是很明显的黑色。
ATK_OLED模块是一块小尺寸(0.96寸)、高亮、自带升压电路的高性能OLED显示模块,分辨率为128 * 64,采用SSD1306驱动IC,该芯片内部集成DCDC升压,仅需3.3V供电。0.96英寸指的是对角线0.96英寸。
模块支持8位6800并口、8位8080并口、4线SPI以及IIC等4种通信接口。通过BS1和BS2选择通信接口。
更改通信接口需要将BS1和BS2的焊盘更改高低电平。
通过BS1和BS2选择
引脚说明:
1、CS:OLED片选信号(低电平有效)
2、WR:向OLED写入数据
3、RD:向OLED读取数据
4、D[7:0]:8位双向数据线
5、RST(RES):硬复位OLED(低电平有效)
6、DC:数据/命令标志(0,命令;1,数据)这个有可能还叫RS,低电平为命令,高电平为数据。
二、OLED显示屏驱动原理
OLED屏驱动的核心是:驱动OLED驱动芯片
通过驱动IC的列地址和行地址,就可以锁定一个点,如果想让这个点亮,就置1,灭就置0。
如何驱动屏幕:
1、选择驱动芯片时序 8080时序,根据时序实现数据写入/读取,通过时序就可以跟驱动IC建立通信关系了。
2、初始化时许,由厂家提供,用于初始化屏幕
3、实现画点函数、读点函数(可选)
SSD1306工作时序(8080时序):
并口总线时序,常用于屏幕驱动IC的访问,由Intel提出,也叫英特尔总线。
总要进行读和写:读数据、读命令、写数据、写命令。
8080并口读/写的过程
1、设置DC为高(数据)/低(命令)DC引脚 根据写入/读取的数据类型
2、拉低片选CS引脚 选中SSD1306
3、设置RD/WR为低 根据是读数据还是写数据
4、拉高RD/WR,出现上升沿,在RD的上升沿,使数据锁存到数据线D[7:0]上,在WR的上升沿,使数据写入到SSD1306里。
写时许:
首先是设置DC引脚电平,根据是数据还是命令进行设置,然后拉低CS线,写数据所以将WR线拉低,然后准备数据,对数据线进行操作,然后将WR引脚再拉到,也就是打算写的时候将WR拉低,准备好数据后,将WR拉高,这样就出现了上升沿,这时候数据就写入到SSD1306里边。然后释放CS和DC信号线,在这个过程中,由于没有读数据,所以RD信号线可以保持高电平。
其中第一行就是操作DC引脚的,根据参数cmd看是数据还是命令。其他就是正常按上面说的步骤操作就可以。其中oled_data_out(data);是对数据线进行操作,具体函数如下:
其中GPIO的ODR寄存器是控制输出的,数据线有8位,由PC0~PC7控制,首先将ODR寄存器与OXRR00与,将低8位都清零,然后再使用数据data与OX00FF与得到数据的低8位,将这低8位与ODR寄存器或操作,即可实现数据位控制。
三、OLED驱动芯片简介
用于控制OLED的显示功能和效果。SSD1306指令比较多,下面是常用的。