GD32E230开发标准教程 课件 ch11OLED显示_第1页
GD32E230开发标准教程 课件 ch11OLED显示_第2页
GD32E230开发标准教程 课件 ch11OLED显示_第3页
GD32E230开发标准教程 课件 ch11OLED显示_第4页
GD32E230开发标准教程 课件 ch11OLED显示_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

OLED显示GD32E230开发标准教程第十一章01实验内容通过学习OLED模块原理图、OLED显示原理及SSD1306工作原理,基于资料包中提供的实验例程,编写OLED驱动程序。该驱动包括8个API函数,分别是初始化OLED显示模块函数InitOLED、开启OLED显示函数OLEDDisplayOn、关闭OLED显示函数OLEDDisplayOff、更新GRAM函数OLEDRefreshGRAM、清屏函数OLEDClear、显示数字函数OLEDShowNum、指定位置显示字符函数OLEDShowChar、显示字符串函数OLEDShowString。最后,在Main.c文件中调用这些函数来验证OLED驱动是否正确。实验内容02实验原理OLED显示模块OLED,即有机发光二极管,又称为有机发光显示器。OLED由于同时具备自发光、不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异特性,被广泛应用于各种产品中。OLED自发光的特性源于其采用非常薄的有机材料涂层和玻璃基板,当有电流通过时,这些有机材料就会发光。由于LCD需要背光,而OLED不需要,因此,OLED的显示效果要比LCD的好。实验原理OLED显示效果如图11-1所示。实验原理OLED显示模块的引脚说明如表11-1所示,模块上的硬件接口为2×4Pin双排排针。实验原理SSD1306的显存大小为128×64=8192bit,SSD1306将这些显存分为8页,其对应关系如图11-5(a)所示。可以看出,SSD1306包含8页,每页包含128字节,即128×64bit。将图11-5(a)的PAGE3取出并放大,如图11-5(b)所示,图11-5(a)中的每个格子表示1字节,图11-5(b)中的每个格子表示1位。从图11-5(b)和图11-5(d)中可以看出,将SSD1306显存中的SEG62、COM29位置为1,屏幕上的62列/34行对应的点为点亮状态。SSD1306的显存实验原理图11-5SSD1306显存与显示屏对应关系图。实验原理SSD1306的命令较多,这里仅介绍几个常用的,如表11-2所示。实验原理若需了解其他命令,可参见SSD1306的数据手册。第1组命令用于设置屏幕对比度,该命令由2字节组成,第一字节0x81为操作码,第二字节为对比度,该值越大,屏幕越亮,对比度的取值范围为0x00~0xFF。第2组命令用于设置显示开和关,当x0为0时关闭显示,当x0为1时开启显示。第3组命令用于设置电荷泵,该命令由2字节组成,第一字节0x8D为操作码,第二字节的A2位为电荷泵开关,该位为1时开启电荷泵,为0时关闭电荷泵。实验原理在模块初始化时,电荷泵一定要开启,否则看不到屏幕显示。第4组命令用于设置页地址,该命令取值范围为0xB0~0xB7,对应页0~7。第5组命令用于设置列地址的低4位,该命令取值范围为Ox00~0x0F。第6组命令用于设置列地址的高4位,该命令取值范围为Ox10~0x1F。实验原理字模选项字模选项包括点阵格式、取模走向和取模方式。其中,点阵格式分为阴码(1表示亮,0表示灭)和阳码(1表示灭,0表示亮);取模走向包括逆向(低位在前)和顺向(高位在前)两种;取模方式包括逐列式、逐行式、列行式和行列式。实验原理本实验的字模选项为“16×16字体顺向逐列式(阴码)”,以图11-6所示的问号为例来说明。实验原理我们通常使用OLED显示数字、标点符号、英文大写字母和英文小写字母。为了便于开发,可以提前通过取模软件取出常用字符的字模并保存到数组中,在OLED应用设计中,直接调用这些数组即可将对应字符显示到OLED显示屏上。由于ASCII³码表几乎涵盖了最常使用的字符,因此,本实验以ASCII码表为基础,将其中95个字符(ASCII值为32~126)生成字模数组,ASCII码表如附录B所示。ASCII码表与取模工具实验原理GD32E230C8T6的GRAM与SSD1306的GRAMGD32E230C8T6通过向OLED驱动芯片SSD1306的GRAM写入数据来实现OLED显示。在OLED应用设计中,通常只需要更改某几个字符,比如,通过OLED显示时间,每秒只需要更新秒值,只有在进位时才会更新分钟值或小时值。为了确保之前写入的数据不被覆盖,可以采用“读一改一写”的方式,也就是先将SSD1306的GRAM中原有的数据读取到微控制器的GRAM(实际上是内部SRAM),再对微控制器的GRAM进行修改,最后写入SSD1306的GRAM。实验原理OLED显示模块的显示流程如图11-10所示。实验原理外部中断实验的程序架构如图11-11所示。实验原理03实验步骤步骤1:复制并编译原始工程;步骤2:添加OLED文件对;步骤3:OLED.h文件代码详解;实验步骤步骤4:OLED.c文件代码详解;步骤5:完善OLED显示实验应用层;步骤6:编译及下载验证。实验步骤04本章任务将“第2章串口电子钟”的RunClock模块集成到“10.OLEDDisplay”的工程中,实现电子钟的运行,并将动态时间显示到OLED显示屏上。另外,将自己的姓名的拼音大写显示在OLED显示屏的最后一行,如图11-13所示。本章任务任务提示:(1)将RunClock文件对添加到本实验的工程中,且无须对RunClock文件对进行修改。(2)参考串口电子钟实验的实现过程,在main函数中通过SetTimeVal函数设置初始时间值,在Proc1SecTask函数中获取当前小时值、分钟值和

温馨提示

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

评论

0/150

提交评论