1.3inch OLED Module (C) 产品说明
提供树莓派、STM32、arduino例程
| SKU | 产品 |
|---|---|
| 待补 | 1.3inch OLED Module (C) |
产品参数
- 工作电压: 3.3V
- 通信接口: SPI/I2C
- 控制芯片: SH1107
- 分辨率: 64 × 128
- 显示尺寸: 14.7 × 29.42 (mm)
- 像素大小: 0.15 × 0.15 (mm)
- 产品尺寸: 30 × 39.5(mm)
- 显示颜色: 黑/白
功能引脚
| 功能引脚 | 描述 |
|---|---|
| VCC | 电源正(3.3V电源输入) |
| GND | 电源地 |
| DIN | 数据输入 |
| CLK | 时钟信号输入 |
| CS | 片选,低电平有效 |
| DC | 数据/命令,低电平表示命令,高电平表示数据 |
| RST | 复位,低电平有效 |
硬件配置
OLED模块提供两种驱动接口:分别为4-wire SPI 和I2C接口,模块背面有一个可选择焊接的电阻, 通过电阻的选择来选择相应的通信方式, 如图:

模块出厂默认使用4线SPI通信模式, 即IM默认接0(1和0不全代表电平,只是电阻接上或者接下的焊接方式,具体硬件链接见下表):
注:上图为硬件上的焊接, 下表为实际的硬件连接
| 通信方式 | IM |
|---|---|
| 4-wire SPI | 0 |
| I2C | 1 |
具体硬件配置,如下:
-
使用4线SPI:即出厂程序设置,IM接0连接到地;
-
使用I2C:IM接1连接至VCC(3.3V);
-
使用I2C时:DC的高低状态可以控制从设备的地址,如果接到了低电平,那么I2C的7位地址为:0x3C;
PS:程序默认SPI模式,需要切换模式请修改 DEV_Config.h 详见程序说明-底层硬件接口-接口选择
OLED及其控制器
本款OLED使用的内置控制器为SH1107,它有128 × 128 bits SRAM,支持最大128 × 128像素屏幕,支持SPI/I2C/ 6800并口/8080并口,256级亮度设置,本屏幕为64 × 128 像素,所以内部SRAM没有完全使用。
本模块采用四线SPI和IIC两种接口,兼容性好,传输速度高。
通信协议
SPI协议
注:该模块的四线SPI是没有MISO的,不是比较流行的四线SPI,具体请见Datasheet Page 11。
CS为从机片选, 仅当CS为低电平时,芯片才会被使能;
SI(D1)即MOSI,为主设备数据输出,从设备数据输入;
SCL(D0)为SPI通信时钟;
A0即DC,为芯片的数据/命令控制引脚,当DC = 0时写命令,当DC = 1时写数据
对于SPI通信而言,数据是有传输时序的,即数据的捕获需要时钟信号的某个边沿触发,而这个边沿就是由时钟极性(CPOL)与时钟相位(CPHA)的组合决定的:
CPOL的高低决定串行同步时钟的空闲状态电平,CPOL = 0,为低电平;CPOL = 1,为高电平。
CPHA的高低决定串行同步时钟是在第一时钟跳变沿还是第二个时钟跳变沿数据被采集, 当CPHA = 0,在第一个跳变沿进行数据采集;CPHA = 1,在第二个跳变沿进行数据采集。
从图中可以看出,SCL空闲时是高电平,在第二个边沿时开始传输数据,所以是模式三(0x11),一个时钟周期传输8bit数据,按位传输,高位在前,低位在后(MSB)。