《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 业界动态 > OLED显示模块基于单片机的电路设计及编程方法

OLED显示模块基于单片机的电路设计及编程方法

2020-06-02
来源:与非网

引言

近年来,智能控制已经广泛应用于烟叶烘烤系统中。由于烘烤自控系统通常在高温、甚至夏日强光环境下运行,并且烟叶烘烤工艺复杂,烘烤过程数据需要在信息提示下进行人工设定,所以系统需要一种具备高亮度,含有文字显示功能的显示终端。目前,烟叶烘烤自控系统一般采用的数码管或 LCD 显示方式,均不能完全满足系统需求。针对这般现状,本文提出了一种新方案,即将有机发光显示 OLED (Organic Light Emitting Display)显示器嵌入烟叶烘烤自控系统,从而很好地解决了当前烟叶烘烤自控系统存在的迫切问题。OLED 是最具发展前景的新一代显示技术,与 LCD 显示技术相比,OLED 具有超轻薄、高亮度、广视角、自发光、响应速度快、适应温度范围宽、抗震强、功耗低以及可实现柔软显示等优越性能。为此,本文阐述了烟叶烘烤自控系统的结构原理和 OLED 显示模块 VGG12864G—S002 的功能,详细介绍了该模块基于单片机 W78E54B 控制的电路设计及编程方法。


1、系统结构

烟叶烘烤自控系统的结构框图如图 1 所示。按照传统的烘烤工艺,自控系统采集的数据包括干湿球两个传感器参数,整个烟叶烘烤过程控制都围绕烘烤房内的温度和湿度展开。天窗和地窗是烤房内的湿度控制设备,每个巡检周期动作一次,由于电机驱动电路对系统具有较强的干扰,为了提高系统抗干扰能力,系统设计了光电耦合隔离电路。由于烤房内的温度存在垂直梯度差,故烤房必须设有热风循环风机,风机转动用以形成空气对流,使温度达到相对均衡。烤房热源来自于烧煤,煤炉风机输送的进风量决定了煤的燃烧程度,而系统通过对煤炉风机的转速调控来实现对烤房内温度的控制。此外,系统还配备了报警装置,当烘烤过程出现异常时,它可提示工作人员采取相应措施。实时时钟可不仅记录系统烘烤时间,而且可为控制外设提供分钟中断信号。通常一次完整的烟叶烘烤过程将持续近 120 个小时。为了避免断电导致系统停止运作,系统配有备用干电池及数据保护电路,以确保连续性烘烤。为提高温度控制的稳定性,本系统还采用单总线数字式温度传感器。看门狗电路可以在意外死机时,使系统恢复正常运转。显示器及键盘是人机交互的必要设备,录入烘烤过程中的数据和读取烘烤信息都需通过显示器,因此显示设备的性能对本系统起着至关重要的作用。

 

5ed4702e96add-thumb.png

 

2、OLED 模块

VGGl2864G—S002 是维信诺公司最新推出的一个 OLED 单色 128x64 点阵且具有高亮度、高对比度的显示器模块。模块内部集成的控制器芯片 SSDl303 包括行列驱动模块、电源控制模块、GDDRAM(Graphic Display Data RAM)、NPU 接口、命令控制模块、振荡器和时序发生器。VGGl2864G—S002 完整的模块结构和丰富的指令集决定了其外部接口与软件设计非常方便而灵活。该模块发绿光,工作温度范围是:一 40℃~+80℃。其外部接口及内部结构如图 2 所示,引脚说明见表 l 所列。

 

5ed4702e7b579-thumb.png

 

3、硬件设计

3.1 接口设计

OLED 显示模块 VGGl2864G 的外部接口采用 8 位并行数据传输方式。CPU 对模块的读写无须考虑内部结构,因而控制非常方便,VGGl2864G 与单片机 W78E54lB 的接口电路如图 3 所示。为确保数据总线的驱动能力,数据总线(DO~D7)可接约 10 kΩ的上拉电阻。

 

3.2 电源设计

该模块内部集成有高效率的电源,但外部需提供逻辑电压 VDD(+3V),而华邦单片机 W78E54B 和外围芯片所需要提供的电压均为 VCC(+5 V),因此必须专门设计由+5 到+3 V 的直流电压转换电路,其电源设计电路如图 4 所示。其中稳压芯片 SPXlll7T 一 3.0 性能稳定,可输出最大值为 800 mA 的电流,而 OLED 模块的最大驱动电流为 450 mA,可见足以驱动显示模块。

 

5ed4702eb3b81-thumb.png

 

4、 软件设计

OLED 显示模块 VGGl2864G—S002 的读写时序可兼容 Motorola 6800 与 Intel 8080 两种总线模式,本系统采用 Intel 8080 总线控制方式。

 

4.1 控制方法

对 VGGl2864G—S002 的控制分为数据和命令两种,可通过控制 D/C 的电平来实现:高电平时传送显示数据,低电平时传送操作命令。图 5 为 VGGl2864G—S002 的写时序图及时间参数表。对 OLED 模块的写命令子程序如下(写数据(WriteData())只要将 DC 设置为 l 即可):

 

 

5ed4702e8e05f-thumb.png

 

5ed4702ea8fcf-thumb.png

4.2 0LED 设置

在显示信息之前,系统须对 OLED 做好显示的准备工作,应当写入 0LED 的设置命令如下:

 

0x81:设置亮度对比度,0xC0:O~255 级对比度,0xA6:设置正常显示

 

0xA8:设置使用行数,0x40:显示 64 行,0xAE:显示面板开启

 

0xD3:设置滚屏,Ox00:关闭滚屏

 

VGGl2864G—S002 显示数据缓冲区采用分页(B0~B7 共 8 页)管理方式,每页 128x8 点阵。每字节数据显示对应 8×1 点阵,在写入显示的内容前,先送入页地址,然后送入 16 位行偏移地址,低位在前,高位在后,即行偏移地址=16×H0-3+L0-3,其中 L4-7=0000,H4-7=000l。例如,要从第 3 页第四列开始写入命令代码(0xB2,0x03,0x00),接着写入显示数据(OxFF),那么,显示缓冲区 RAM 的指针位置及显示如图 6 所示。

 

5ed4702e9725b-thumb.png

 

4.3 程序流程

烟叶烘烤自控系统管理外设较多,要求系统必须具有较强的实时操作性能,为了提高响应速度,系统采用中断管理方式。在本自控系统中,CPU 对 OLED 显示模块及外设的软件管理流程如图 7 所示。流程图中的巡检周期、循环周期以及累计报警时间 N(小时)都可由用户自己设定。

 

 

5ed4702ee3f51-thumb.png


4.4 汉字显示

VGGl2864G—S002 模块的汉字或图像显示码,可通过字模提取软件 Zimo2l 获得。软件选项设置为纵向取模、字节倒序方式。根据烟叶烘烤自控系统的实际需求,应该设置字体及大小为宋体 12,即一个汉字对应 16×16 点阵(32 字节显示码),西文字符为 8×16 点阵(16 字节显示码)。由于每个汉字或字符跨越上下相邻两页,因此每个字的显示代码可分两批写入。其显示程序如下:

 

 5ed4702f1fcbe-thumb.png


128x64 点阵每行可以显示 8 个汉字,而烟叶烘烤自控系统每行需显示汉字 4~5 个,显示需要西文字符 l~4 位(干湿球目标、实际温度、阶段时间及升温速度),另附几位空格字符,因此,128x64 点阵的显示面板恰好能满足系统需求。

 

5、结束语

烟叶烘烤自控系统嵌入 OLED 显示器,同时配合键盘,便可建立良好的人机交互界面,其操作及显示性能显着提高。相对 P13501、VGGl2864Z 和 VGGl2864K 等显示器,该模块的软硬件设计更加灵活、方便,可广泛应用于其它移动仪器装置。


本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。