更多操作
无编辑摘要 |
无编辑摘要 |
||
(未显示同一用户的1个中间版本) | |||
第1行: | 第1行: | ||
{{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> == | ==<font color="blue">产品参数</font> == | ||
第54行: | 第79行: | ||
| colspan="3" |15(g) | | colspan="3" |15(g) | ||
|} | |} | ||
==<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:45的最新版本
产品图片
产品介绍
- 高分辨率:128x64(和12864同分辨率,高PPI)
- 超大可视角度:大于160°(显示屏中可视角度最大的一种屏幕)
- 超低功耗:正常显示0.06w(远低于TFT显示屏)
- 宽电压供电(3V~5V),兼容3.3V和5V电平逻辑,无需电平转换芯片
- IIC接口只需2个IO轻松点亮
- 工作温度范围为工业级(-20℃~70℃)
- 军工级工艺标准,长期稳定工作
- 提供丰富的多平台例程,提供底层驱动技术支持
- 黄蓝、白、蓝三种颜色显示方案可选
产品参数
名称 | 颜色分类 | ||
显示颜色 | 白色 | 蓝色 | 黄蓝双色 |
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) |
产品尺寸
产品尺寸图:0.96寸OLED产品尺寸图
硬件说明
硬件原理图:全动电子0.96寸OLED显示模块原理图.pdf
IIC从设备地址选择硬件调整说明:
如图红色矩形框内,如果电阻接在0x78这边,则表示IIC从设备地址为0x78,如果接在0x7A这边,则表示IIC从设备地址为0x7A。
软件说明
本模块提供了三个平台的测试程序,分别是C51、STM32和Arduino,每个平台的测试程序大致由三部分组成:
平台相关的代码、OLED操作相关的代码以及IIC操作相关的代码。除了平台相关的代码因平台而异,其他两部
分的代码原理和实现方法都差不多,和所用的平台没有关系。在同一平台上,代码可以直接移植,只需要修
改相关的引脚定义就可以正常运行了。
C51代码说明
打开C51代码工程,发现有如下文件:
REG51.h是和平台相关的代码,里面定义了一些平台相关的参数。
oledfont.h、bmp.h都存放图片和汉字取模后的点阵数组。
oled.h存放的是和OLED屏相关的一些参数,包括引脚定义。
oled.c存放的是和OLED屏操作相关的一些函数,包括IIC的读写,OLED屏数据写入等
main.c则是主程序操作了。
通过以上描述我们可以知道,只需要修改oled.h文件里的引脚定义即可。
打开oled.h文件,找到以下内容:
只要修改OLED_SCL和OLED_SDIN的值就可以了。
这里是将P23引脚定义为时钟信号引脚,将P24引脚定义为数据信号引脚。
再找到如下内容,可以修改IIC从设备地址:
该OLED模块IIC地址为0x78。
STM32代码说明
打开STM32代码,发现有以下文件:
除了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文件,找到如下内容:
根据自己定义,修改GPIO_ResetBits和GPIO_SetBits的GPIO组和pin脚。
这里将GPIOB的13号引脚定义为时钟信号引脚,将GPIOB的14号引脚定义为数据信号引脚。
再找到如下内容,可以修改IIC从设备地址:
该OLED模块IIC地址为0x78。
打开oled.c文件,找到如下内容:
分别对定义的引脚进行输出模式、速率以及置位设置。
Arduino代码说明
Arduino使用硬件IIC,芯片内部已经对IIC引脚做了定义,因此软件上不需要再对IIC引脚进行定义,
只是不同型号的单片机,IIC引脚定义不一样,需要在接线上做调整。由于软件使用了U8glib开源库,
所以初始化时,需要根据OLED屏驱动IC的型号选择正确的类。
例如本模块使用了U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE)进行初始化。
如果要修改IIC从设备地址,则需要打开u8g_com_arduino_ssd_i2c.c文件,找到如下内容:
该OLED模块的IIC地址为0x3c*2(0x78)
使用说明
通过查看SSD1306的数据手册可以得知该IC支持四线和三线SPI、IIC 接口以及8bit的并口连接。
由于并口连接方式占用的数据线较多,接线麻烦,所以不太常用。关于通信接口方式怎么选择,
这是通过BS0、BS1以及BS2这三个管脚来配置的,具体定义如下图:
本模块使用IIC通信接口,只需要接4根线就可以完成OLED屏数据通信,如下图所示:
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