基于HD61202U图形液晶显示模块接口电路及编程
扫描二维码
随时随地手机看文章
从实际应用的角度出发介绍了内置HD61202图形液晶显示模块的结构特性,液晶显示模块的硬件接口电路及编程要点,并对其正常工作的条件、控制指令系统及编程思路进行了探讨。
引言 信息的获取主要通过显示和人机交互界面,随着电子技术和电子产品集成化的迅速发展,液晶显示模块在智能仪器仪表中实现了图形和文本的混合显示,实现了屏幕菜单人机对话操作,因而图形液晶显示模块以其体积小、功耗低、开发周期短、安全可靠、使用灵活等优点,在智能仪表中得到了越来越广泛的应用[1]。 本文以内置两片或三片HD61202图形液晶显示控制器及HD61203驱动器组成的MGLS-12864、MGLS-19264的点阵式图形液晶显示模块为例,介绍液晶显示模块与单片机的硬件电路接口设计、编程思路与要点,以及图形液晶显示模块在实际应用中的程序流程。 1. 内置HD61202U显示模块的特性 HD61202是一种带有列驱动输出的液晶显示控制器,它可以直接与8位微处理器相连,与行驱动器HD61203配合使用,组成液晶驱动控制系统,对液晶屏进行行、列驱动。本文以MGLS-12864为例介绍HD61202液晶显示器控制电路及编程。 HD61202及其兼容控制驱动器的特点: 1)内藏64×64=4096位显示RAM ,RAM中每位数据对应LCD 屏上一个点的亮、暗状态; 2) HD61202 及其兼容控制驱动器是列驱动器具有64路列驱动输出; 3)HD61202 及其兼容控制驱动器读写操作时序与68系列微处理器相符,因此它可直接与68 系列微处理器接口相联; 4)HD61202 及其兼容控制驱动器的占空比为1/32-1/64。 表1 内置两片HD61202液晶显示模块引脚功能表[2]
引脚
标号
引脚功能
引脚
标号
引脚功能
1
Vss
电源地
15
CS1
CS1=1:芯片选择左边64×64点
2
Vdd
电源正极+5V
16
CS2
CS2=1:芯片选择右边64×64点
3
Vo
液晶显示驱动电源0~5V
17
RESET
复位信号
4
D/I
D:数据输入;I:指令输入
18
Vee
LCD驱动负电源
5
R/W
R:数据读取;W:数据写入
19
A
背光电源+
6
E
使能信号,有H到L完成使能
20
K
背光电源-
7-14
D0-D7
数据线
2. 硬件接口电路 内置HD61202液晶显示模块与计算机的连接方式通常有两种:直接访问方式和间接控制方式。直接访问方式是计算机以访问存储器或I/O设备的方式操作液晶控制模块工作,以单片机为例,P0、P2口与液晶显示模块相连;而间接控制方式则是计算机通过自身的或系统的并行接口与液晶控制模块相连,我们接触到的间接控制一般是单片机P1、P3口与液晶显示模块相连而成的。 在实际应用中,单片机的 P0口 和P2口常被用作扩展总线,P3口又常用作它的第二功能,因此我们可以采用Z80-PIO或8255等并行芯片及74LS373锁存器进行扩展,与液晶显示模块相连[1]。本设计采取Z80-PIO作并行扩展口来控制内置HD61202液晶显示模块MGLS-12864。 PA口与MGLS-12864的八个数据总线相连,MGLS-12864的控制端通过PB口进行控制。Z80-PIO与MGLS-12864接口电路如图1。 图1 MGLS-12864与Z80-PIO接口电路图 3. 软件编程 3.1 HD61202指令系统和时序信号波形 MGLS-12864的控制器HD61202有一系列操作指令,通过指令可以实现对显示屏的控制。设计过程中,根据HD61202的指令系统及与微处理器的时序信号波形图等进行编程。HD61202指令系统见表1。液晶显示模块的控制端置、复位与读写信号的控制关系见图2。表2 HD61202指令表[3]
指令名称
控制信号
控制代码
D/I R/W
D7 D6 D5 D4 D3 D2 D1 D0
显示开关设置
0 0
0 0 1 1 1 1 1 D
显示起始行设置
0 0
1 1 L5 L4 L3 L2 L1 L0
页面地址设置
0 0
1 0 1 1 1 P2 P1 P0
列地址设置
0 0
0 1 C5 C4 C3 C2 C1 C0
读取状态字
0 1
BUSY 0 O/F REST 0 0 0 0
写显示数据
1 0
写显示数据
读显示数据
1 1
读显示RAM数据
a)显示开关设置:D=1时LCD 显示RAM 中的内容,D=0 时关闭显示; b) 显示起始行设置:L0~L5在0~ 3FH (0~ 63行)范围内取值; c)页面地址设置:P0~P2:设置页号(0~ 7),显示RAM 共64行分8 页,每页8 行; d)列地址设置:C0~C5:设置显示列地址0~ 3FH (0~ 63行); e)控制器状态:BUSY =1-内部在工作,BUSY =0-正常状态;ON/OFF= 1-显示关闭,ON/OFF =0-显示打开;REST =1-复位状态,REST =0-正常状态。在BUSY 和REST 状态时,除读状态指令外,其它指令均不对HD61202 及其兼容控制驱动器产生作用。在对HD61202 及其兼容控制驱动器操作之前要查询BUSY 状态,以确定是否可以对HD61202及其兼容控制驱动器进行操作。 f) 读、写数据指令每执行完一次读、写操作,列地址就自动加一。必须注意的是,进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。 图 2 HD61202信号时序图 3.2 程序流程图 实际的液晶显示编程的过程一般是:首先编制出状态查询、写指令、写数据、读数据等子程序,然后编制出清屏、画点等基本子程序,最后才在此基础上编写显示字符、数字、汉字及复杂的图形等。本文给出内置HD61202液晶显示模块的写指令、写数据的流程图[4]。 3. 总结 本文的创新点是采用Z80-PIO并行芯片及74LS373锁存器进行端口扩展,把Z80-PIO作为并行扩展口来控制内置HD61202液晶显示模块MGLS-12864。在对电路的硬件、软件进行设计后,经过精心的调试,整个系统运行良好,并能正确地显示图文,实现了人机对话。同样,此电路设计思路也可以应用到其它显示模块的接口设计中。随着现代测控技术的发展,仪器仪表的智能化程度和可操作性要求越来越高,良好的人机界面越来越受到设计者的重视。本文介绍的液晶显示模块的功能、显示方法及编程的技巧在测控领域有着广泛的应用价值。 参考文献:[1] 李维缇,郭强,周云仙编著.北京:液晶显示技术[M].电子工业出版社,2002.8.
[2] 张平均,陈志华. SPCE061A单片机与液晶显示模块HS12864_1的接口及其编程[J].微计算机信息,2005.21(5):117-118.
[3] 杨振江,杜铁军,李群编著.西安:智能仪器与数据采集系统中的新器件及应用[M].西安电子科技大学出社,2001.12.
[4] 李文江,张岩,汪玉凤.内置HD61202点阵式液晶显示模块接口设计与编程[J],液晶与显示,2004,19(2):138-142.
[5] 夏继强,聂慧萍,袁骏. 一种用于嵌入式系统的液晶显示单元设计[J],微计算机信息,2005. 21(7):6-8.
[6] 杨雷,刘晓