STM32单片机仿真开发实例 课件 5.3 串行OLED显示器的使用_第1页
STM32单片机仿真开发实例 课件 5.3 串行OLED显示器的使用_第2页
STM32单片机仿真开发实例 课件 5.3 串行OLED显示器的使用_第3页
STM32单片机仿真开发实例 课件 5.3 串行OLED显示器的使用_第4页
STM32单片机仿真开发实例 课件 5.3 串行OLED显示器的使用_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

5.3串行OLED显示器的使用能力目标:

在了解I2C总线通信规则的基础上,掌握使用OLED显示器显示常用字符的方法,并能编写相应的STM32程序。任务要求:仿真电路如图所示,要求在屏幕第一行显示“Helloworld!”,在屏幕第二行显示一个动态循环递增的二位十进制数字0~99,数字变化的时间间隔为0.5秒。5.3.1OLED显示器简介(1)OLED技术概述OLED(OrganicLight-EmittingDiode,有机发光二极管),顾名思义,其本质上是一种特殊的发光二极管,是一种利用多层有机薄膜结构产生电致发光的器件。与LCD显示器相比,OLED显示器技术更加新颖,具备外形轻薄、亮度高、功耗低、响应快、清晰度高、柔性好、发光效率高等优点,目前在手机屏幕、计算机显示器、游戏掌机屏幕等领域均有广泛应用。(2)OLED12864显示器OLED12864是一种单色显示的小尺寸显示器,屏幕尺寸仅0.96吋,具有128×64的分辨率,其正面(左)与反面(右)的照片分别如下图所示。OLED12864采用3.3~5V宽电压供电,适用于包括MCS-51、STM32在内的各种主流单片机。OLED12864可视角度能达到160°,因为OLED12864从本质上来说是一种高密度发光二极管点阵显示器,所以不需要背光设计,仅靠点阵自身发光即可满足显示需求。(3)显示驱动方式

OLED12864采用SSD1306进行驱动,支持8位6800/8080串并联接口、I2C与SPI串行接口,本教材仅介绍其中的I2C通信方式。显示器在出厂的时候仅预留了I2C通信接口的4个引脚——电源正极VCC、电源负极GND、时钟引脚SCL、数据引脚SDA。

SSD1306内置GDDRAM(GraphicDisplayDataRAM,图形显示数据RAM),其结构如下图所示,分为8个页(PAGE0~PAGE7),每页128个字节(SEG0~SEG127),共计128*64bits,每个bit与OLED屏的像素一一对应,需要OLED屏哪个像素点发光,则向对应的GDDRAM位中写入1即可,反之写入0。

在I2C通信模式下,由单片机作为通信主机与作为从机的SSD1306通信数据包结构如下图所示。

主机单向发送数据包给从机即可实现单片机对OLED显示器的控制,该过程无需从机响应。表格1:SSD1306命令字节——基本命令(D/C#=0,R/W#(WR#)=0,E(RD#=1)除非有特殊说明,所有命令表均适用)序号HEX命令描述181HA[5:0]设置对比度双字节命令,第一个字节为命令,第二个字节为参数,通过低六位设定,缺省值7FH。(后面还有若干双字节命令,不再赘述。)2A6H/A7H设置正常/逆显示A6H:正常显示(缺省);A7H:逆显示。3AEH/AFH设置显示关/开AEH:关显示(缺省);AFH:正常显示。表格2:SSD1306命令字节——寻址设置命令序号HEX命令描述100H~0FH设置页面寻址方式的列起始地址(低四位)设置列起始地址的低四位,使用低四位进行设定,复位值0000B。210H~1FH设置页面寻址方式的列起始地址(高四位)设置列起始地址的高四位,使用低四位进行设定,复位值0000B。3B0H~B7H设置页面寻址方式的起始页地址使用低三位设置GDDRAM页面的起始地址(PAGE0~PAGE7)。表格3:SSD1306命令字节——硬件配置命令序号HEX命令描述140H~7FH设置显示起始行设置显示起始行0~63,D6位固定为1,通过低六位设定[5:0],复位值000000B。2A0H/A1H设置段重映射A0H:列地址0映射到SEG0(缺省);A1H:列地址127映射到SEG0。3A8HA[5:0]设置复用率第二个字节为参数,若参数取值N,则比例为N+1(比如,参数设定63D,比例即为64D),比例范围16~64,即参数取值0FH~3FH(复位值)。此命令用于将默认的64复用率更改至任何范围为16~64的值,COM0~COM63输出将切换到设定的输出信号。4C0H/C8H设置COM输出扫描方向C0H:正向扫描,从COM0向COM[N-1]扫描(缺省);C8H:反向扫描,从COM[N-1]向COM0扫描。N即为上一条指令中的复用率。此指令一旦执行,屏幕将会立刻垂直翻转。5D3HA[5:0]设置显示偏移第二个字节用于设置屏幕起始行,通常设置为00H,即无偏移。此指令用于设置列信号引脚配置来适应OLED面板的硬件布局。6DAHA[5:4]设置COM引脚硬件配置A[4]=0,顺序COM脚配置;A[4]=1,可变COM脚配置(缺省);A[5]=0,禁用COM左右重映射(缺省);A[5]=1,启用COM左右重映射。表格4:SSD1306命令字节——时间和驱动方案设置命令序号HEX命令描述1D5HA[7:0]设置显示时钟分频系数与振荡频率A[3:0],分频系数=A[3:0]+1,复位值0000B,分频系数即为1;A[7:4],振荡频率为0000B~1111B,缺省值1000B(即8MHz)。2D9HA[7:0]预充电周期(包括放电周期)[3:0],放电周期,取值0001B~1111B,缺省2H;[7:4],预充电周期,取值0001B~1111B,缺省2H3DBHA[6:4]设置VCOMH取消选定电平A[6:4]HEX数值VCOMH取消选定电平000B00H~0.65×VCC010B20H~0.77×VCC(缺省)011B30H~0.83×VCC表格5:SSD1306命令字节——电荷泵命令序号HEX命令描述18DHA[7:0]电荷泵设置8DH:电荷泵设置14H:使能电荷泵AFH:开显示(4)显示字符的设计

OLED12864是一种高密度发光二极管点阵显示器,理论上可以显示任何字符与图案,可以手动编辑显示数据用于记录显示器各个坐标点的亮灭状态,但实际上人们常常会借助于专门的取字模软件来建立显示数组,比如PCtoLCD2002。

打开PCtoLCD2002并新建一个8×16的图案,如右图所示。

不妨以上述“P”字点阵数据为例,我们不妨采用画格子的方式来还原这组数据代表的含义,“1”用黑色填充表示,“0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论