“0.96inch OLED Module (IIC-4P SKU: MC096GX)”的版本间的差异

来自LCD wiki
跳转至: 导航搜索
第54行: 第54行:
 
| colspan="3" |15(g)
 
| colspan="3" |15(g)
 
|}
 
|}
 +
{{lan
 +
    |
 +
cn=http://www.lcdwiki.com/zh/0.96inch_OLED_Module_(IIC-4P_SKU:MC096VX)
 +
    |
 +
en=http://www.lcdwiki.com/0.96inch_OLED_Module_(IIC-4P_SKU:MC096VX)                                                 
 +
}}
 +
 +
== <font color="blue">产品图片</font> ==
 +
[[File:MC096-002.jpg|300px]]
 +
[[File:MC096-004.jpg|300px]]
 +
[[File:MC096-003.jpg|300px]]
 +
 +
==<font color="blue">产品介绍</font> ==
 +
 +
*高分辨率:128x64(和12864同分辨率,高PPI)
 +
*超大可视角度:大于160°(显示屏中可视角度最大的一种屏幕)
 +
*超低功耗:正常显示0.06w(远低于TFT显示屏)
 +
*宽电压供电(3V~5V),兼容3.3V和5V电平逻辑,无需电平转换芯片
 +
*IIC接口只需2个IO轻松点亮
 +
*工作温度范围为工业级(-20℃~70℃)
 +
*军工级工艺标准,长期稳定工作
 +
*提供丰富的多平台例程,提供底层驱动技术支持
 +
*黄蓝、白、蓝三种颜色显示方案可选
 +
 +
==<font color="blue">产品参数</font> ==
 +
 +
{| class="wikitable" border="1" style="width: 30%; background-color: white;"
 +
| align="center" |名称
 +
| colspan="3" align="center" |颜色分类
 +
|-
 +
|显示颜色
 +
|白色
 +
|蓝色
 +
|黄蓝双色
 +
|-
 +
|SKU
 +
| style="color: #ff0000; " |MC096VW
 +
| style="color: #ff0000; " |MC096VB
 +
| style="color: #ff0000; " |MC096VY
 +
|-
 +
|尺寸
 +
| colspan="3" |0.96(inch)
 +
|-
 +
|类型
 +
| colspan="3" |OLED
 +
|-
 +
|OLED驱动芯片
 +
| colspan="3" |SSD1306
 +
|-
 +
|分辨率
 +
| colspan="3" |128*64 (Pixel)
 +
|-
 +
|模块接口
 +
| colspan="3" style="color: #ff0000; " |IIC,①-VCC,②-GND,③-SCL,④-SDA
 +
|-
 +
|有效显示区域
 +
| colspan="3" |21.744x10.864(mm)
 +
|-
 +
|模块尺寸
 +
| colspan="3" |27.3x27.8(mm)
 +
|-
 +
|视角
 +
| colspan="3" |>160°
 +
|-
 +
|工作温度
 +
| colspan="3" | -20℃~70℃
 +
|-
 +
|存储温度
 +
| colspan="3" | -30℃~80℃
 +
|-
 +
|工作电压
 +
| colspan="3" |3.3V / 5V
 +
|-
 +
|功耗
 +
| colspan="3" |全亮约为25mA,全灭约为1.5mA。
 +
|-
 +
|产品重量
 +
| colspan="3" |15(g)
 +
|}
 +
==<font color="blue">接口定义</font> ==
 +
 +
{| class="wikitable" border="1" style="width: 30%; background-color: white;"
 +
|-
 +
| align="center" |PIN
 +
| align="center" |标号
 +
| align="center" |引脚说明
 +
|-
 +
| align="center" |1
 +
| align="center" |VCC
 +
|OLED电源正(3.3V~5V)
 +
|-
 +
| align="center" |2
 +
| align="center" |GND
 +
|OLED电源地
 +
|-
 +
| align="center" |3
 +
| align="center" |SCL
 +
|OLED IIC总线时钟信号
 +
|-
 +
| align="center" |4
 +
| align="center" |SDA
 +
|OLED IIC总线数据信号
 +
|}
 +
 +
==<font color="blue">产品尺寸</font> ==
 +
产品尺寸图:[http://www.lcdwiki.com/zh/%E6%96%87%E4%BB%B6:MC096-005.jpg 0.96寸OLED产品尺寸图]
 +
 +
==<font color="blue">硬件说明</font> ==
 +
硬件原理图:[http://www.lcdwiki.com/res/MC096VW/%E5%85%A8%E5%8A%A8%E7%94%B5%E5%AD%900.96%E5%AF%B8OLED%E6%98%BE%E7%A4%BA%E6%A8%A1%E5%9D%97%E5%8E%9F%E7%90%86%E5%9B%BE.pdf 全动电子0.96寸OLED显示模块原理图.pdf]
 +
 +
IIC从设备地址选择硬件调整说明:
 +
 +
[[文件:MC096-006.jpg|300x300像素]]
 +
 
 +
 +
如图红色矩形框内,如果电阻接在0x78这边,则表示IIC从设备地址为0x78,如果接在0x7A这边,则表示IIC从设备地址为0x7A。
 +
 +
==<font color="blue">软件说明</font> ==
 +
本模块提供了三个平台的测试程序,分别是C51、STM32和Arduino,每个平台的测试程序大致由三部分组成:
 +
 +
平台相关的代码、OLED操作相关的代码以及IIC操作相关的代码。除了平台相关的代码因平台而异,其他两部
 +
 +
分的代码原理和实现方法都差不多,和所用的平台没有关系。在同一平台上,代码可以直接移植,只需要修
 +
 +
改相关的引脚定义就可以正常运行了。
 +
 +
'''C51代码说明
 +
'''
 +
 +
打开C51代码工程,发现有如下文件:
 +
 +
[[文件:MC096-007.jpg|558x236像素]]
 +
 +
REG51.h是和平台相关的代码,里面定义了一些平台相关的参数。
 +
 +
oledfont.h、bmp.h都存放图片和汉字取模后的点阵数组。
 +
 +
oled.h存放的是和OLED屏相关的一些参数,包括引脚定义。
 +
 +
oled.c存放的是和OLED屏操作相关的一些函数,包括IIC的读写,OLED屏数据写入等
 +
 +
main.c则是主程序操作了。
 +
 +
通过以上描述我们可以知道,只需要修改oled.h文件里的引脚定义即可。
 +
 +
打开oled.h文件,找到以下内容:
 +
 +
[[文件:MC096-008.jpg|558x236像素]]
 +
 +
只要修改OLED_SCL和OLED_SDIN的值就可以了。
 +
 +
这里是将P23引脚定义为时钟信号引脚,将P24引脚定义为数据信号引脚。
 +
 +
再找到如下内容,可以修改IIC从设备地址:
 +
 +
[[文件:MC096-009.jpg|558x236像素]]
 +
 +
该OLED模块IIC地址为0x78。
 +
 +
'''STM32代码说明'''
 +
 +
打开STM32代码,发现有以下文件:
 +
 +
[[文件:MC096-010.jpg|750x300像素]]
 +
 +
除了main.c、oled.c、oled.h、bmp.h、oledfont.h,其他都是和平台相关的代码。
 +
 +
oledfont.h、bmp.h都存放图片和汉字取模后的点阵数组。
 +
 +
oled.h存放的是和OLED屏相关的一些参数,包括引脚定义。
 +
 +
oled.c存放的是和OLED屏操作相关的一些函数,包括IIC的读写,OLED屏数据写入等
 +
 +
main.c则是主程序操作了。
 +
 +
由于STM32比C51多了GPIO口初始化操作,所以移植代码需要修改oled.h和oled.c两个文件。
 +
 
 +
打开oled.h文件,找到如下内容:
 +
 +
[[文件:MC096-011.jpg|558x236像素]]
 +
 +
根据自己定义,修改GPIO_ResetBits和GPIO_SetBits的GPIO组和pin脚。
 +
 +
这里将GPIOB的13号引脚定义为时钟信号引脚,将GPIOB的14号引脚定义为数据信号引脚。
 +
 +
再找到如下内容,可以修改IIC从设备地址:
 +
 +
[[文件:MC096-009.jpg|558x236像素]]
 +
 +
该OLED模块IIC地址为0x78。
 +
 
 +
打开oled.c文件,找到如下内容:
 +
 +
[[文件:MC096-012.jpg|558x236像素]]
 +
 +
分别对定义的引脚进行输出模式、速率以及置位设置。
 +
 +
'''Arduino代码说明'''
 +
 +
Arduino使用硬件IIC,芯片内部已经对IIC引脚做了定义,因此软件上不需要再对IIC引脚进行定义,
 +
 +
只是不同型号的单片机,IIC引脚定义不一样,需要在接线上做调整。由于软件使用了U8glib开源库,
 +
 +
所以初始化时,需要根据OLED屏驱动IC的型号选择正确的类。
 +
 +
例如本模块使用了U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE)进行初始化。
 +
 +
如果要修改IIC从设备地址,则需要打开u8g_com_arduino_ssd_i2c.c文件,找到如下内容:
 +
 +
[[文件:MC096-013.jpg|558x236像素]]
 +
 +
该OLED模块的IIC地址为0x3c*2(0x78)
 +
 +
==<font color="blue">使用说明</font> ==
 +
通过查看SSD1306的数据手册可以得知该IC支持四线和三线SPI、IIC 接口以及8bit的并口连接。
 +
 +
由于并口连接方式占用的数据线较多,接线麻烦,所以不太常用。关于通信接口方式怎么选择,
 +
 +
这是通过BS0、BS1以及BS2这三个管脚来配置的,具体定义如下图:
 +
 +
[[文件:MC096-014.jpg|600x198像素]]
 +
 +
本模块使用IIC通信接口,只需要接4根线就可以完成OLED屏数据通信,如下图所示:
 +
 +
[[文件:MC096-004.jpg|300像素]]
 +
 +
VCC:电源正极(接5V电源)
 +
   
 +
GND:电源负极(接地)
 +
   
 +
SCL:IIC时钟信号线
 +
   
 +
SDA:IIC数据信号线
 +
 
 +
VCC接到单片机的5V电源引脚上,GND接到GND引脚上,SCL和SDA需要根据不同的平台引脚定义来接线。
 +
 
 +
C51和STM32一般使用模拟IIC,就是自己定义两个引脚作为SCL和SDA。
 +
 
 +
Arduino使用硬件IIC,就是芯片本来就定义好了SCL和SDA引脚,不需要我们自己再重新定义。
 +
 
 +
接好线上电后,可以运行我们提供的测试程序进行测试。
 +
 +
==<font color="blue">驱动下载</font> ==
 +
百度云盘下载:[https://pan.baidu.com/s/1UcJRGOd8ZNFA0H6PqEgj1w 全动电子0.96寸OLED显示模块资料V1.0]
 +
 +
==<font color="blue">常用软件说明</font> ==
 +
取模软件说明见软件包,下载地址如下:
 +
 +
PCtoLCD2002:[http://www.lcdwiki.com/res/software/PCtoLCD2002.zip PCtoLCD2002]

2018年6月13日 (三) 10:44的版本

产品参数

名称 颜色分类
显示颜色 白色 蓝色 黄蓝双色
SKU MC096GW MC096GB MC096GY
尺寸 0.96(inch)
类型 OLED
OLED驱动芯片 SSD1306
分辨率 128*64 (Pixel)
模块接口 IIC,①-GND,②-VCC,③-SCL,④-SDA
有效显示区域 21.744x10.864(mm)
模块尺寸 27.3x27.8(mm)
视角 >160°
工作温度 -20℃~70℃
存储温度 -30℃~80℃
工作电压 3.3V / 5V
功耗 全亮约为25mA,全灭约为1.5mA。
产品重量 15(g)

语言选择

Languages

➤中文
➤EN


产品图片

MC096-002.jpg MC096-004.jpg MC096-003.jpg

产品介绍

  • 高分辨率:128x64(和12864同分辨率,高PPI)
  • 超大可视角度:大于160°(显示屏中可视角度最大的一种屏幕)
  • 超低功耗:正常显示0.06w(远低于TFT显示屏)
  • 宽电压供电(3V~5V),兼容3.3V和5V电平逻辑,无需电平转换芯片
  • IIC接口只需2个IO轻松点亮
  • 工作温度范围为工业级(-20℃~70℃)
  • 军工级工艺标准,长期稳定工作
  • 提供丰富的多平台例程,提供底层驱动技术支持
  • 黄蓝、白、蓝三种颜色显示方案可选

产品参数

名称 颜色分类
显示颜色 白色 蓝色 黄蓝双色
SKU MC096VW MC096VB MC096VY
尺寸 0.96(inch)
类型 OLED
OLED驱动芯片 SSD1306
分辨率 128*64 (Pixel)
模块接口 IIC,①-VCC,②-GND,③-SCL,④-SDA
有效显示区域 21.744x10.864(mm)
模块尺寸 27.3x27.8(mm)
视角 >160°
工作温度 -20℃~70℃
存储温度 -30℃~80℃
工作电压 3.3V / 5V
功耗 全亮约为25mA,全灭约为1.5mA。
产品重量 15(g)

接口定义

PIN 标号 引脚说明
1 VCC OLED电源正(3.3V~5V)
2 GND OLED电源地
3 SCL OLED IIC总线时钟信号
4 SDA OLED IIC总线数据信号

产品尺寸

产品尺寸图:0.96寸OLED产品尺寸图

硬件说明

硬件原理图:全动电子0.96寸OLED显示模块原理图.pdf

IIC从设备地址选择硬件调整说明:

MC096-006.jpg


如图红色矩形框内,如果电阻接在0x78这边,则表示IIC从设备地址为0x78,如果接在0x7A这边,则表示IIC从设备地址为0x7A。

软件说明

本模块提供了三个平台的测试程序,分别是C51、STM32和Arduino,每个平台的测试程序大致由三部分组成:

平台相关的代码、OLED操作相关的代码以及IIC操作相关的代码。除了平台相关的代码因平台而异,其他两部

分的代码原理和实现方法都差不多,和所用的平台没有关系。在同一平台上,代码可以直接移植,只需要修

改相关的引脚定义就可以正常运行了。

C51代码说明

打开C51代码工程,发现有如下文件:

MC096-007.jpg

REG51.h是和平台相关的代码,里面定义了一些平台相关的参数。

oledfont.h、bmp.h都存放图片和汉字取模后的点阵数组。

oled.h存放的是和OLED屏相关的一些参数,包括引脚定义。

oled.c存放的是和OLED屏操作相关的一些函数,包括IIC的读写,OLED屏数据写入等

main.c则是主程序操作了。

通过以上描述我们可以知道,只需要修改oled.h文件里的引脚定义即可。

打开oled.h文件,找到以下内容:

MC096-008.jpg

只要修改OLED_SCL和OLED_SDIN的值就可以了。

这里是将P23引脚定义为时钟信号引脚,将P24引脚定义为数据信号引脚。

再找到如下内容,可以修改IIC从设备地址:

MC096-009.jpg

该OLED模块IIC地址为0x78。

STM32代码说明

打开STM32代码,发现有以下文件:

MC096-010.jpg

除了main.c、oled.c、oled.h、bmp.h、oledfont.h,其他都是和平台相关的代码。

oledfont.h、bmp.h都存放图片和汉字取模后的点阵数组。

oled.h存放的是和OLED屏相关的一些参数,包括引脚定义。

oled.c存放的是和OLED屏操作相关的一些函数,包括IIC的读写,OLED屏数据写入等

main.c则是主程序操作了。

由于STM32比C51多了GPIO口初始化操作,所以移植代码需要修改oled.h和oled.c两个文件。

打开oled.h文件,找到如下内容:

MC096-011.jpg

根据自己定义,修改GPIO_ResetBits和GPIO_SetBits的GPIO组和pin脚。

这里将GPIOB的13号引脚定义为时钟信号引脚,将GPIOB的14号引脚定义为数据信号引脚。

再找到如下内容,可以修改IIC从设备地址:

MC096-009.jpg

该OLED模块IIC地址为0x78。

打开oled.c文件,找到如下内容:

MC096-012.jpg

分别对定义的引脚进行输出模式、速率以及置位设置。

Arduino代码说明

Arduino使用硬件IIC,芯片内部已经对IIC引脚做了定义,因此软件上不需要再对IIC引脚进行定义,

只是不同型号的单片机,IIC引脚定义不一样,需要在接线上做调整。由于软件使用了U8glib开源库,

所以初始化时,需要根据OLED屏驱动IC的型号选择正确的类。

例如本模块使用了U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE)进行初始化。

如果要修改IIC从设备地址,则需要打开u8g_com_arduino_ssd_i2c.c文件,找到如下内容:

MC096-013.jpg

该OLED模块的IIC地址为0x3c*2(0x78)

使用说明

通过查看SSD1306的数据手册可以得知该IC支持四线和三线SPI、IIC 接口以及8bit的并口连接。

由于并口连接方式占用的数据线较多,接线麻烦,所以不太常用。关于通信接口方式怎么选择,

这是通过BS0、BS1以及BS2这三个管脚来配置的,具体定义如下图:

MC096-014.jpg

本模块使用IIC通信接口,只需要接4根线就可以完成OLED屏数据通信,如下图所示:

MC096-004.jpg

VCC:电源正极(接5V电源)

GND:电源负极(接地)

SCL:IIC时钟信号线

SDA:IIC数据信号线

VCC接到单片机的5V电源引脚上,GND接到GND引脚上,SCL和SDA需要根据不同的平台引脚定义来接线。

C51和STM32一般使用模拟IIC,就是自己定义两个引脚作为SCL和SDA。

Arduino使用硬件IIC,就是芯片本来就定义好了SCL和SDA引脚,不需要我们自己再重新定义。

接好线上电后,可以运行我们提供的测试程序进行测试。

驱动下载

百度云盘下载:全动电子0.96寸OLED显示模块资料V1.0

常用软件说明

取模软件说明见软件包,下载地址如下:

PCtoLCD2002:PCtoLCD2002