更多操作
无编辑摘要 |
无编辑摘要 |
||
第1行: | 第1行: | ||
{{lan | {{lan | ||
| | | | ||
第90行: | 第36行: | ||
|- | |- | ||
|SKU | |SKU | ||
| style="color: #ff0000; " | | | style="color: #ff0000; " |MC096GW | ||
| style="color: #ff0000; " | | | style="color: #ff0000; " |MC096GB | ||
| style="color: #ff0000; " | | | style="color: #ff0000; " |MC096GY | ||
|- | |- | ||
|尺寸 | |尺寸 | ||
第107行: | 第53行: | ||
|- | |- | ||
|模块接口 | |模块接口 | ||
| colspan="3 | | colspan="3" |IIC,①-GND,②-VCC,③-SCL,④-SDA | ||
|- | |- | ||
|有效显示区域 | |有效显示区域 | ||
第132行: | 第78行: | ||
|产品重量 | |产品重量 | ||
| colspan="3" |15(g) | | colspan="3" |15(g) | ||
|} | |} | ||
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