1 引言?
本文所介绍的开发依托于德国奔克公司BP电梯控制系统,该控制系统的显示器采用HD44780字符型液晶显示模块,显示界面语言采用英语。为了方便在中国的各类电梯用户,因而开发了这个汉化系统,用OCMJ4X8中文液晶显示模块替代HD44780字符型液晶显示模块,并将界面语言改为中文。
??
2 OCMJ4X8中文液晶显示模块?
该模块的最大特点是它自带常用的一级汉字中文字库,用户只要向液晶模块输入汉字的区位码就能在液晶屏上显示汉字;而且它和计算机的接口时序也非常的简洁,节省了计算机执行指令的时间。因此,OCMJ 4X8中文液晶显示模块是进行中文显示的最佳选择。?
OCMJ 4X8的接口协议为ASK/ANSWER握手方式。ASK=1表示OCMJ忙于内部处理,不能接受用户命令;ASK=0后表示OCMJ空闲等待接收用户命令。??
3 AVR单片机——AT90S8515?
在开发中我们采用了ATMEL公司的90系列增强RISC内载Flash的单片机AT90S8515。AVR系列单片机与MCS51系列单片机相比,由于它的寄存器文件由32个通用工作寄存器组成,从而消除了在MCS51系列单片机中单一累加器A传输数据的瓶颈现象,从而避免了基于累加器的结构而需要大量程序代码。AVR单片机采用了Havard结构,在前一条指令执行的时候,就取出现行的指令,然后以一个周期执行指令,每MHz可实现1MPIS的处理能力。在其它的CISC以及类似的RISC结构中,外部振荡器的时钟被分频降低到传统的内部执行周期,这种分频最大达12倍。AVR单片机是用一个时钟周期执行一条指令的,因此它是在8位单片机中的一种真正的RISC单片机。??
4 HD44780液晶显示模块?
HD44780液晶显示模块属于字符型液晶显示模块,专用于显示字母、数字、符号等的字符型液晶显示模块。它的每一行有20个显示位,总共有四行,每个字符为5X7点阵。该模块的接口时序为M6800时序,其特点是读写操作时序是由使能信号E完成的,E信号是正脉冲信号,不操作时为低电平状态,操作时产生一个正脉冲。HD44780接口的主要引脚如下:?
DB7~DB4 三态 8位数据总线的高4位或4位数据总线。?
DB3~DB0 三态 8位数据总线的低4位。?
RS 输入 寄存器选择信号。?
R/W 输入 读/写选择信号。?
E 输入 使能信号。?
HD44780接口部信号端的逻辑功能组合表如下所示:?
表中“1”代表高电平;“0”代表低电平;“downedge”代表下降沿。?
表格中的BF为液晶模块和计算机的握手信号,当BF=1时,计算机对液晶模块不能进行任何操作,此时液晶模块正在进行内部操作;只有当BF=0时,计算机才可以向液晶模块进行读写操作。标中的AC为液晶模块的地址指针计数器,它能够反映出显示屏上当前的光标位置,其实光标的当前位置就是液晶模块内部的DDRAM地址。HD44780液晶显示模块共有8条指令。?
5 硬件设计?
硬件框图右图所示:
开发的最终目的是要将HD44780从BP系统上取消,而只利用它们之间的接口。由于BP电梯控制系统内嵌的软件仅支持英文液晶显示器HD44780的指令系统。因此,必须开发一块硬件接口板,截获BP控制系统发送来的英文信息,并使该接口板支持中文液晶显示模块OCMJ4X8的指令系统。该接口板服务与硬件框图中的“信号采集处理系统”的部分。在系统开发时,我们对控制系统的内嵌软件是未知的。因此,接口板不仅扮演了HD44780的角色,还肩负着信号采集处理的重任,对采集到的信息经处理后转换成中文信息,随后用OCMJ的指令系统将其输出到中文液晶显示模块,所以整个系统就包括BP控制系统的信息源、信息采集和处理系统、中文菜单存储系统、中文显示系统四个部分。具体的电路如图二所示。图中74LS273芯片用来锁存BP发送过来的信息;74LS373用来反馈忙信息,当BP处于读状态时,由E信号和W/R信号联合控制选通74LS373,给BP控制系统反馈忙标志信号;单片机AT90S8515是信息采集和处理中心;EPROM 27512存储有大量的中文菜单信息;数据串行输入74LS164,并从其并行口将数据送往OCMJ4X8中文液晶显示模块进行显示,移位脉冲由软件产生。
6 软件设计?
程序框图如图3所示:?
编制程序的难点在于两个方面。难点之一是采用什么方式触发单片机采集BP向HD44780写入的数据。当在BP系统的控制面板上进行按键操作时,BP就会与HD44780进行信息交换。采用查询方式时,是对BP控制系统发送过来的使能信号E进行查询,当E信号为高电平时,说明BP对HD44780进行读写操作,于是程序进入读写操作的判别。如果是读操作,则程序必须反馈给BP忙标志BF值;如果是写操作,则必须采集接口数据总线上的值(读操作或写操作由W/R信号线区别)。这时必须给CPU设定查询时间,根据实际按键操作特点,CPU总的查询时间设定为约100ms。这样CPU每隔约100ms查询一次,若没有采集到使能信号E为高电平,则置出错标志,CPU转而执行其它的任务。但程序的实际运行状况看,系统不能完整的采集到所有BP发送过来的数据。故查询方式不能被采用。另外一种触发方式就是中断,利用使能信号E的高电平触发中断INT1。实际应用表明中断方式能完全采集到数据,实际上也正是利用了中断的灵活性。在编制中断子程序时,主要考虑了中断子程序最多能完成的任务量,否则会影响数据采集的完整性。在试验中发现,中断子程序最多只能完成对AVR单片机I/O口的数据采集和数据保存的工作。难点之二是表格的编制。由于电梯的菜单多达上千句,为了能得到最短的查表时间,以达到数据采集、转换、显示的紧密配合,否则会导致OCMJ中文显示跟不上BP上按键操作要求更改屏幕显示信息的要求,所以精心构造查表程序。由于篇幅限制,具体程序略。??
7 抗干扰设计?
采用了软件和硬件两方面的抗干扰措施。由于AVR单片机本身就具有看门狗电路,所以在软件编制时,在软件中加入看门狗复位。一但程序由于干扰进入混乱状态,就可以利用看门狗进行程序复位;另外一个就是利用软件滤波;再一个就是保护中断现场。硬件抗干扰措施主要是在设计印刷电路板时考虑抗干扰。地线设计时将地线加粗、将地线构成闭环路;对易受干扰地信号线与信号源之间加入地线屏蔽;对印刷板入口处地电源线和地线之间并接退耦电容;集成芯片上加去耦电容,电容值可取0.01μf。??
8 结论?
带来本系统给操作、调试、维护人员提供了方便易读的中文电梯控制系统菜单,使他们可以正确而快速地进行电梯参数设置和故障分析,提高调试的安全性、可靠性;缩短了调试时间,提高了工作效率。??
参考文献?
[1]王幸之,王雷,等编著.单片机应用系统抗干扰技术[M].北京航空航天大学出版社 2000年2月第一版?
[2]宋建国主编.AVR单片机原理及应用[M].1998年10月第一版北京航空航天大学出版社?
[3]李维提,郭强编著.液晶显示应用技术[M].2000年3月第一版电子工业出版社
[4]肇庆市奥可拉液晶显示器有限公司[S].OCMJ系列中文液晶显示模块说明书