2010-04-06 09:31:25 阅读8 评论0 字号:大中小
摘要:介绍点阵式的基本原理及DMC161C的技术特性。给出智能仪表中DMC161C与8098单片机的接口电路及显示软件设计方案。
1 引言
智能化测量与控制仪表普遍采用LED显示器。然而,由于液晶显示器具有功耗低、寿命长、价格低等优点,LCD正在被广泛应用。采用31/2位或41/2位段位式LCD液晶数码显示器的仪表已不罕见,但段位式LCD显示器的功能较局限。对于多功能的智能仪表,采用点阵式LCD液晶显示模块,可提供更为丰富灵活的显示内容。点阵式LCD显示模块是一种集显示、控制与驱动为一体的显示器件。本文采用DMC161C用于8098单片机为核心的仪表系统。
2 字符型点阵式LCD显示模块
点阵式LCD显示模块与众所周知的段位式LCD显示器之显示基理相同,因其本身不发光,故环境亮度越高,显示越清晰。 字符型点型式LCD用5×7(或5×10)点阵图形来显示字符。其基本组成如下:指令寄存器IR、数据寄存器DR、忙信号标号BF、地址计数器AC、显示数据RAM(DDRAM)、ROM(CGROM)、字符发生器RAM(CGRAM)、时序发生器、光标/闪烁控制、并行/串行转换器、电压调整电路和LCD驱动电路。 CGROM存储若干可显示字符的代码,CGRAM用于存储用户自定义点阵字符代码,待显示字符代码存储于DDRAM。 指令寄存器IR暂存各种命令的指令码或DDRAM、CGRAM的地址。数据寄存器DR用于CPU与DDRAM传送数据时的数据信息暂存:CPU向LCD写数据时,数据先存DR,而后自动写入DDRAM或CGRAM相应地址的数据传至DR,随后CPU执行读DR指令,便完成数据传送。同时AC内容自动增1(或减1),下一地址单元的数据传至DR。LCD其余组成部分是用于LCD显示的控制与驱动。
3 DMC161C点阵式LCD显示模块
DMC161C由LCD屏、PCB板、驱动电路组成,其功率约10~15mW,可显示单行16个字符。CGROM含192种点阵字符代码,用户可利用CGRAM自定义最多8个5×7点阵字符。显示屏为64.0×13.0mm。 DDRAM为80×8位的RAM,地址为00~27H和40~07H。通常单行显示时,前8位为DDRAM中00~07H内容,后8位为40~47H中内容。单行左移位显示时,为DDRAM中01~08H和41~48的内容;单行右移位显示,则为07H、00H~06H和47H、40H~46H之内容。
4 DMC161C与8098单片机的接口设计
智能仪表的核心是单片机,应用点阵式的关键是它与单片的接口。图1给出应用DMC161C与8098单片机构成智能仪表的硬件电路原理图,其中仪表的输入/输出电路及8098单片机被略去。仪表的显示操作电路由DMC161C、8279和16个键构成。图1中还给出了地址锁存器74LS373、地址译码器74LS138、扩展的16k程序存储器27128及2片8k数据存储器6264。 DMC161C的数据、命令由8098单片机的P3中提供,其灰度调整电压由电位器进行调整。控制信号RS和R/W由8098P3口两根口线提供。8098P4口线经74LS138译码后,当Y2有效时,其下降沿使DMC161C得到使能信号E。由图1可确定DMC161C的读定地址如表2所示。图2给出80C31单片机与DMC161C的接口电路示意图。
5 仪表显示功能的软件设计
智能仪表的丰富功能需要有高质量的软件系统来支持,在此仅介绍点阵式实现显示功能的软件设计。点阵式LCD模块的显示软件应包括功能方式设置和数据/命令的传输,根据需要也可以在显示过程中改变显示方式。例如,欲显示“Hello, my friend”字样,需要先进行复位,并设定显示方式,然后再送显示数据。用PL/M语言编写完成上述任务的程序如下:
RDBUSY:PROCEDURE 读忙子程序
RDBS :AH=SLCDCR 读忙标志
AL=AH AND 80H
IF(AL<>0)THEN 忙?
GOTO RDBS ;
END :RDBUSY ;
DO ;
START:CALL RDBUSY ;
SLCDCW=38H ;
8位数据传送、双行显示CALL RDBUSY ;
SLCDCW=0FH ;打开显示和光标、光标位字符闪烁CALL RDBUSY ;SLCDCW=06H ;
地址计数器设为增方式,光标移位CALL RDBUSY ;
SLCDCW=80H ;
设DDRAM地址00HCALL RDBUSY ;
SLCDCW=“H” ;
送‘H'的ASCII码(依次送FLLOM等ASCII码)CALL RDBUSY ;
SLCDCW=“Y” ;
‘Y'的ASCII码CALL RDBUSY ;
SLCDCW=0C0H ;设DDRAM地址40HCALL RDBUSY ;
SLCDCW=‘F' ;
送‘F'的ASCII码(依次送R、I、E、N的ASCII码)CALL RDDBUSY ;SLCDCW=‘D' ;
送‘D'的ASCII码END
6 结束语
在智能仪表中,当设定显示方式后,还可根据仪表不同工作阶段的需要,将不同欲显示字符的代码作为数据,送至SLCDDW数据寄存器即可。字符代码取自CGROM中的ASCII码或CGRAM中的自定义代码。上述显示设计方法,对于使用汇编语言设计显示软件同样适用。