2.2 硬件结构设计
系统硬件由单片机AT89C51系统和行列阵LED显示模块、上位机、串行显示键盘模块、晶振电路和存储器模块等构成。系统硬件结构如图2所示。
[page]
硬件模块主要完成的功能有:显示屏的驱动,是通过与上位机间的串口通信接收文件信息并保存,通过行列驱动器控制完成LED的驱动。串行显示键盘,为实现键盘输入与显示屏输出实现同步,进行串口输出模式切换,完成对LED的驱动,但由于系统中并行口的I/O资源不够,而串行口又没有其他作用,通过用数据锁存模块74LS164来扩展并行I/O口,节约单片机资源。将AT89C51串行通信口输出的串行数据译码在其并口线上输出,将显示的数据直接送串口发送缓冲器,等待串行中断即可。
2.2.1 LED显示模块
显示部分采用动态扫描方式,实现汉字、图像、数字字符等数据信息的控制以及显示等功能。采用行扫描方式,当选通第1行LED点阵时,对应列数据,由于74HC595器件的特殊性,通过将每个器件的串行数据输入引脚14与下一个器件的串行数据输出引脚9级联,可以把需要显示的数据信息依次存入74HC595器件内,通过其锁存器功能将数据锁存,待40列数据都存入74HC595器件内时,把输出有效引脚13置为低电平,则40列数据一起输出,达到一行显示的效果。依次类推,实现整个显示屏的显示功能。
2.2.2 串行显示键盘
该模块用于与人机交互和显示,行列式键盘即矩阵式键盘,由行和列组成,在每个行列的交叉点上放置一个按键。包括8只控制LED的位驱动晶体管,控制数码显示的数据由控制灯亮灭信号和控制位显示的控制信号两部分组成。
2.2.3 串口通信
串口接口通过RS 232实现上位机与单片机传输信息。当模块进入串行传输方式,上位机通过同步时钟线SCLK和串行数据线完成数据的传输。在AT89C51片选引脚CS为高电平时,主机时钟线上的时钟信号才能被液晶显示模块接受,当引脚CS为低电平时,显示模块内部寄存器将被复位,即终止数据传输。
2.3 软件设计
整个系统软件设计语言采用C语言,进行中断控制,其中代码开发编写测试则通过Keil μVision 3软件与Proteus软件之间完成。
软件实现代码流程如图3所示。
[page]
由于软件开发代码复杂,现给出键盘输入程序部分代码如下:[page]
3 Proteus与Keil软件的联调设置
在Proteus软件中,双击AT89C51单片机,在其属性下面的Program file中加载由Keil μVision 3产生的.HEX文件,然后点击ok退出,同时在debug菜单下面选择use remote debug monitor,这样就完成了Proteus与Keil的联调准备工作如图5所示。
4 结语
LED显示系统以AT89C51单片机为基础,利用RS 232和单片机的接口转换模块,实现与PC机的数据传输,可以随时更新显示内容。同时,采用键盘输入串口中断模式与驱功LED同步显示,并实现了两者的模式切换,同时采用C语言和汇编语言混合编程,和基于Keil与Proteus联调仿真的开发模式,使系统的功能更容易实现且具有较好的移植性。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』