0.96寸的oled屏幕目前大多使用SSD1306控制器驱动,其分辨率为 128*64。可以通过多种接口方式实现数据显示。
在8080接口模式下,上述的D[7:0]、E、R/W、D/C、RES、CS与芯片响应引脚相连即可。每条线代表的功能如下: CS:OLED
片选信号。WR:向 OLED 写入数据。RD:从 OLED 读取数据。D[7:0]:8 位双向数据线。RST(RES):硬复位
OLED。DC:命令/数据标志(0,读写命令;1,读写数据)。
内部点阵排列如下所示:
每一页的内部构造如下图所示:(每一个字节的数据就是通过线LSB D0 ===》MSB D7逐位传输)
通过观察可知,OLED内部可以看作是一个128*64的点阵,每一个点都是由相应的位(0/1)来控制。那么可以在单片机内部开辟一段内存,大小为 u8 OLED_GRAM[128][8](刚好对应相应的点阵大小),这样我们只需将每次要显示的内容记录在OLED_GRAM上,然后遍历数组的每一个字节,刷新到D[7:0]线上,就可以实现字符的显示。
具体怎么初始化和传输过程网上都相关代码,详细了解的话看SSD1306手册。