所需设备:
1、USB 转 SPI I2C 适配器;内附链接
2、0.96寸OLED显示模块;
备注:专业版、升级版都适用;
首先介绍一下OLED显示模块,SSD1306是一款OLED驱动芯片,拥有最大128*64像素支持,广泛应用在小尺寸OLED显示屏的驱动中。它由128个SEG(列输出)和64个COM(行输出)组成。该芯片专为共阴极OLED面板设计。
SSD1306内置对比度控制器、显示RAM(GDDRAM)和振荡器,以此减少了外部元件的数量和功耗。该芯片有256级亮度控制。数据或命令由通用微控制器通过硬件选择的6800/8000系通用并行接口、I2C接口或串行外围接口发送。该芯片适用于许多小型便携式应用,如手机副显示屏、MP3播放器和计算器等。
先上图:
0.96寸OLED显示模块
USB 转 SPI I2C适配器
基础配置:
IIC总线包含从机地址位 SA0,数据信号线 SDA(SDAOUT/D2输出和SDAIN/D1输入)和时钟信号线 SCL组成。SDA和SCL线都必须接上拉电阻,RES#用来初始化芯片。
IIC设备在数据传输之前都必须识别从机地址。SSD1306的从机地址有 0111100b 和 0111101b 两种,通过将SA0(D/C#)脚上拉到高电平可以设置从机地址第七位为 1,将SA0(D/C#)脚下拉到低电平可以设置从机地址第七位为 0。通过SA0(D/C#)脚的上拉和下拉来设置从机地址,从而令总线上可以存在最多2个SSD1306驱动器。
SDAOUT/D2和SDAIN/D1连接到一起作为SDA。SDAIN引脚必须连接到SDA,SDAOUT引脚可以不连接。当SDAOUT引脚不连接,应答信号将会被12C总线忽略。
写入时序:
IIC写入时序如下所示:
1、主机先发起开始(START)信号,然后发送1byte首字节,包括从机地址(7位)和读写数据位(1位,最低位,0为写模式),驱动器识别从机地址为本机地址之后,将会发出 应答信号(ACK) 。(首字节组成如下图所示)
2、主机收到从机(驱动器)的应答信号之后,随后传输1byte控制字节。一个控制字节主要由
CO 和 D/C# 位后面再加上六个0组成的。(控制字节组成如下图所示)
如果Co为0,后面传输的信息就只包含数据字节。
D/C# 位决定了下个数据字节是作为命令还是数据。D/C# 为0时,下一个数据被视为命令;DC# 为1时,下一个数据被视为显示数据,存储到GDDRAM中。
3、收到控制字节ACK信号之后,传输要写入的数据字节。
4、传输完毕之后主机发出结束(STOP)信号
待续!