OLED显示模块(原理讲解、STM32实例操作)

OLED显⽰模块(原理讲解、STM32实例操作)
OLED的基础介绍
OLED的定义和优势
OLED,即有机发光⼆极管(Organic Light-Emitting Diode),⼜称为有机电激光显⽰(Organic Electroluminesence Display,OELD)。OLED由于同时具备⾃发光,不需背光源、对⽐度⾼、厚度薄、视⾓⼴、反应速度快、可⽤于挠曲性⾯板、使⽤温度范围⼴、构造及制程较简单等优异之特性,被认为是下⼀代的平⾯显⽰器新兴应⽤技术。
OLED显⽰技术具有⾃发光的特性,采⽤⾮常薄的有机材料涂层和玻璃基板,当有电流通过时,这些有机材料就会发光,⽽且OLED显⽰屏幕可视⾓度⼤,并且能够节省电能,从2003年开始这种显⽰设备在MP3播放器上得到了应⽤。
LCD都需要背光,⽽OLED不需要,因为它是⾃发光的。这样同样的显⽰,OLED效果要来得好⼀些。以⽬前的技术,OLED的尺⼨还难以⼤型化,但是分辨率确可以做到很⾼。
ALINETEK的0.96⼨OLED模块
模块有单⾊和双⾊两种可选,单⾊为纯蓝⾊,⽽双⾊则为黄蓝双⾊。单⾊模块每个像素点只有亮与不亮两种情况,没有颜⾊区分;
尺⼨⼩,显⽰尺⼨为0.96⼨,⽽模块的尺⼨仅为27mm*26mm⼤⼩;
金属丝的杨氏模量⾼分辨率,该模块的分辨率为128*64;
多种接⼝⽅式,该模块提供了总共4种接⼝包括:6800、8080两种并⾏接⼝⽅式、 4线的穿⾏SPI接⼝⽅式、IIC接⼝⽅式;
不需要⾼压,直接接3.3V就可以⼯作了。
OLED模块⼯作模式选择
4种模式通过模块的BS1/BS2设置(通过硬件来设置),BS1/BS2的设置与模块接⼝模式的关系如表所⽰:
OLED四种⼯作模式
接⼝⽅式4线SPI IIC8位68008位8080
BS10101
BS20011
下⾯是OLED模块的具体实物图:
ALIENTEK OLED模块默认设置是BS0接GND,BS1和BS2接VCC(8080模式),即使⽤8080并⼝⽅式,如果想要设置成其他的模式,则需要在OLED的背⾯,⽤烙铁修改BS0-BS2的设置。
从模块的原理图上,我们可以看到的更加清晰:
该模块采⽤8*2的2.52排针与外部连接,总共16个管脚,在16条线中,我们只⽤了15条,有⼀条是悬空的。15条线中,电源和地线占了2条,还剩下13条信号线。在不同的模式下,需要的信号线的数⽬是不同的,在8080模式下,需要全部的13条。
OLED控制器为SSD1306,也就是说:裸屏由SSD1306驱动,这也是⼀种较为⼴泛使⽤的led驱动芯⽚。木门制作
OLED的显⽰原理
OLED8080并⾏接⼝信号线说明
在上⾯,提到了本⽂中OLED采⽤8080的接⼝⽅式,其对应的并⾏接⼝图如下所⽰:
接下来,就对这个并⾏接⼝的各个信号线的含义进⾏解释说明:
CS:OLED⽚选信号;
WR:向OLED写⼊数据
RD:从OLED读取数据;
D[7:0]:8位双向数据线;
RST(RES):硬复位OLED;
DC(RS):命令/数据标志(0,读写命令;1,读写数据)。
OLED8080并⼝读写过程
模块的8080并⼝读/写的过程为:
将数据放到数据⼝;
根据要写⼊/读取的数据的类型,设置DC(RS)为⾼(数据)/低(命令);
拉低⽚选,选中SSD1306;
接着我们根据是读数据,还是要写数据置RD/WR为低;
读数据过程:在RD的上升沿, 使数据锁存到数据线(D[7:0])上;
写数据过程:在WR的上升沿,使数据写⼊到SSD1306⾥⾯;
拉⾼CS和DC(RS)。
并⼝写时序图
并⼝读时序图
OLED模块显存
OLED本⾝是没有显存的,它的显存是依赖于SSD1306提供的(之后讲解的TFTLCD是本⾝⾃带显存,利⽤FSMC来进⾏控制)。⽽SSD1306提供⼀块显存,芯⽚具体的讲解见下⽂。
p612
SSD1306的显存总共为128*64bit⼤⼩,SSD1306将这些显存分为了8页。每页包含了128个字节,总共8页,这样刚好是128*64的点阵⼤⼩。
程序显⽰原理
在STM32的内部建⽴⼀个缓存(共128*8个字节),在每次修改的时候,只是修改STM32上的缓存(实际上就是SRAM),在修改完了之后,⼀次性把STM32上的缓存数据写⼊到OLED的GRAM。当然这个⽅法也有坏处,就是对于那些SRAM很⼩的单⽚机(⽐如51系列)就⽐较⿇烦了。
SSD1306芯⽚
SSD1306芯⽚简介
SSD1306是⼀个单⽚CMOS、OLED/PLED驱动芯⽚可以驱动有机/聚合发光⼆极管点阵图形显⽰系统。由128 segments 和64 Commons组成。该芯⽚专为共阴极OLED⾯板设计。
SSD1306中嵌⼊了对⽐度控制器、显⽰RAM和晶振,并因此减少了外部器件和功耗。有256级亮度控制。数据/命令的发送有三种接⼝可选择:6800/8000串⼝,I2C接⼝或SPI接⼝。适⽤于多数简介的应⽤,注⼊移动电话的屏显,MP3播放器和计算器等。
SSD1306芯⽚特性
分辨率:128 * 64 点阵⾯板;
电源:
1. VDD = 1.65V to 3.3V,⽤于IC逻辑;
2. VCC = 7V to 15V,⽤于⾯板驱动;
点阵显⽰:
1. OLED驱动输出电压,最⼤15V;
2. Segment最⼤电流:100uA;
3. 常见最⼤反向电流:15mA;
4. 256级对⽐亮度电流控制;
嵌⼊式128 * 64位SRAM显⽰缓存;
引脚选择MCU接⼝:
1. 8位6800/8000串⼝;医用压片机
2. 3/4线SPI接⼝;
3. I2C接⼝。
SSD1306芯⽚命令
命令0X81:设置对⽐度。包含两个字节,第⼀个0X81为命令,随后发送的⼀个字节为要设置的对⽐度的值。这个值设置得越⼤屏幕就越亮。
命令0XAE/0XAF:0XAE为关闭显⽰命令;0XAF为开启显⽰命令。
命令0X8D:包含2个字节,第⼀个为命令字,第⼆个为设置值,第⼆个字节的BIT2表⽰电荷泵的开关状态,该位为1,则开启电荷泵,为0则关闭。在模块初始化的时候,这个必须要开启,否则是看不到屏幕显⽰的。
命令0XB0~B7:⽤于设置页地址,其低三位的值对应着GRAM的页地址。
热力井命令0X00~0X0F:⽤于设置显⽰时的起始列地址低四位。
印花胶浆
命令0X10~0X1F:⽤于设置显⽰时的起始列地址⾼四位。
STM32控制OLED
硬件连接
单⽚机:STM32F103ZET6
模块:OLED显⽰模块
引脚连接:
之前的并⾏接⼝图是相对于显⽰屏上的引脚,⽽上图的并⾏接⼝图是相对于STM32的IO⼝的图。
OLED_DC(RS):OV SCL(PD3)、OLED_CS:FIFO WRST(PD6)、OLED_ED:OV SDA(PG13)、OLED_WR:FIFO RRST(PG14)、OLED_RST:FIFO OE(PG15)、OLED_D0:OV D0(PC0)、OLED_D1:OV D1(PC1)、OLED_D2:OV D2(PC2)、OLED_D3:OV D3(PC3)、OLED_D4:OV D4(PC4)、OLED_D5:OV D5(PC5)、OLED_D6:OV
D6(PC6)、OLED_D7:OV D7(PC7)
硬件资源:指⽰灯DS0、OLED模块
STM32控制程序

本文发布于:2024-09-22 07:29:20,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/191918.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模块   数据   发光   命令   模式   设置   有机
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议