基于单片机液晶显示模块的接口设计
2014-01-21吕志信
吕志信
(中国煤炭科工集团 太原研究院,山西 太原 030006)
0 引言
在以单片机为核心的微型计算机控制系统中,单片机与显示器件的接口是必不可少的环节,而LCD 液晶显示器由于具有体积小、重量轻、功耗低、寿命长、稳定性高、无辐射等许多其他显示器无法比拟的优点,被广泛用于单片机控制的智能仪器、仪表等工业设备中[1]。
MSP430 系列单片机是一种采用精简指令集(RISC)结构的16 位超低功耗单片机,可应用于仪器仪表、自动控制等传统的单片机应用领域,更适合用于一些电池供电的便携式低功耗产品[2]。
本文基于单片机MSP430F149 的个人辐射剂量仪对人机交互接口的要求,详细讨论了12864 点阵式液晶显示模块与单片机的硬件接口电路和软件编程设计。
1 硬件设计
GJ12864A-2 是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64 全点阵液晶显示器组成。可完成图形、字符显示,也可以显示8×4 个(16×16 点阵)汉字,该模块共有20 个引脚,引脚定义如表1 所示。
表1 GJ12864A-2引脚定义
MSP430F149 单片机具有指令简单,处理能力强的特点。一条指令的执行时间最快达到125ns,内部集成16×16 位硬件乘法器;工作电压低,工作电压范围在1.8~3.6V;功耗低,具有多种低功耗模式,在LPM4 下,消耗的电流仅为0.1μA,一颗锂电池可工作10年;外围模块多,多路12 位A/D 转换器、2 个串行通讯接口、PWM 模块、定时器模块、看门狗模块、I/O 资源丰富、多种中断源,支持JTAG 接口仿真和编程,程序代码由加密熔丝保护。它还带有60KB 和256B 的FLASH 存储器、2K 随机存储器(RAM)有64 脚QFP 和QFN 两种封装形式,芯片体积小[2]。使用户编制的程序及需要显示的英文字母、数字、汉字、曲线和图形都可以存储在里面,免去了扩展外部存储器的麻烦,使以MSP430F149 单片机为核心的控制系统电路更简单,因此十分适用于液晶显示,在智能仪器、仪表和低功耗电子产品中被广泛应用。考虑到单片机的资源比较丰富,液晶显示器的8 位数据线与单片机采用并行接口的方式实现快速准确的数据传输,如图1 所示。
P4.1 控制D/I 数据指令选通信号,P4.2控制R/W 读写选通信号,P4.3接E 片使能信号,电平由高到低是将数据读到DB7-DB0。P4.5 和P4.6 控制左右半屏显示,P4.7 控制RET 复位信号,该显示屏为低电平复位。在实际应用中可以将P4.7 口为输出为高电平,也可以直接将lcd 的17 脚接到电源正上。P5 口接数据总线DB0-DB7。
图1 中3 脚为LCD 驱动电压,用于对比度的调节。在实际应用当中,电位器一端通常接地,但也可接电源正,调节电位器电阻即可,目的是管脚Vo 处形成LCD工作负电压即可。
另外,MSP430 的工作电压为3.3V,而液晶模块驱动电压为5V,为此电路中接了电平转换芯片,以实现单片机到液晶的电平转换。电路中程序下载接口模块用来进行在线仿真以利于程序的编写和调试,同时可把程序写入单片机中,从而实现脱机使用。
图1 液晶显示模块与单片机接口电路
2 软件设计
单片机对液晶显示模块的操作可分为两部分,即左半屏和右半屏操作。在屏幕上显示的任何字符、汉字等须自己建立点阵字模库,通常通过字模软件取出对应格式的字模数据,将相应的数据保存在单片机内部的存储器中。
为简化编程,软件设计采用子程序方式,包括液晶初始化程序、清屏子程序、通用子程序、调送显示数据子程序等。在系统主程序中需要显示一屏时,只需调用相应子程序送该屏对应的显示数据一遍即可[4]。
2.1 字模软件使用
在应用过程中需要设置显示图形、汉字、字符等的数据格式,可以选择C51 或A51 格式,该显示采用C51格式。同时还要对取模软件参数进行设置,取模方式采用的是纵向取模,同时选择字节倒序。取模如图2 所示。
图2 取模软件
2.2 程序指令
GJ12864 共有七条指令,这些指令和使用方法如表2 所示。
2.3 图形、字符和汉字显示
GJ12864 点阵式液晶显示模块对收到的数据汉字采用16×16 的点阵,字母和数字采用8×16 的点阵,由于需要显示的汉字、字母和数字是固定的,通过取模软件得到,采用直接固化显示字模到FLASH 中的方法。这种方法占用空间少,程序实现简单,显示速度快,适合字模数据库。
本文主要介绍汉字显示。下面给出显示汉字的实例,显示流程如图3 所示。
表2 指令说明
图3 汉字显示流程图
程序采用C 语言编写,在IAR Embedded Workbench 上编译通过。其中函数NOP () 为延时函数,单片机MSP430F149 时钟选择8M 晶振。主频的选择将影响LCD显示的稳定性,如果程序中E 控制信号(P4.3)有效时间过短的话,显示的效果将会不稳定,所以程序中对E 信号要适当延时。
GJ12864 液晶显示模块在软件编程中共分4 页,128 列。程序中X 表示起始列,Y 表示起始页,Start 表示汉字数据,Num 表示显示汉字的个数。汉字显示程序如下:
2.4 实例图片
该技术已成功应用于仪器仪表设计,实验中的部分图片如图4 所示。
图4 实例图片
3 结论
以图形点阵式液晶显示模块GJ12864-2 为例,介绍了与单片机MSP430F149 的一种实用的硬件接口电路和软件编程方法,这种设计可方便显示汉字、字符和图形,实现了交互式显示和图文并茂的人机界面效果。各种点阵图形液晶显示模块的接口基本相同,因此本文所介绍的显示方式也适用于其他型号的点阵图形液晶显示模块,并且该设计已成功应用在γ-个人辐射剂量仪仪表中,获得了很好的实用价值。
[1] 李维諟,郭强.液晶显示应用技术[M].北京:电子工业出版社,2000.
[2] 贾金萍,张志东.STN 液晶部分显示的设计方案[J].液晶与显示,2006,10.
[3] 韦永办.图形LCD 模块的菜单方式人机交互界面[J].单片机与嵌入式系统应用,2002,11.
[4] 尹溪,涂起龙.基于单片机液晶显示模块LCM12232 的接口设计[J].煤矿机械,2010,3.
[5] 王君,壮凌,檀慧明.液晶显示控制器的应用[J].液晶与显示,2003,1.
[6] 余华芳,刘健.单片机与液晶显示模块的软硬件接口技术[J].液晶与显示,2003,2.