登录站点

用户名

密码

STC89C55RD+单片机的LED点阵显示系统

已有 168 次阅读  2010-06-30 21:15

总体设计
系统采用了上位机——下位机的结构构建,上位机为 PC机,通过串行通信接口与下位机显示系统进行通信[1],以实现对显示内容的实时擦除、更新等操作;下位机系统主要包括单片机控制电路和显示电路两部分,汉字显示采用 16x16点阵模式,通过单片机的控制,实现字符从右往左滚动的动态显示效果。基本框图如图 1所示。
?

3 系统的硬件结构
?
3.1 MCU的选择
MCU是整个下位机系统的核心部件,其性能和片内资源很大程度上决定了该系统工作的灵活性、先进性和稳定性。基于此,本系统选用了 STC公司生产的 STC89C55RD+增强型 51单片机。
STC89C55RD+单片机的指令系统、硬件结构以及片内资源与标准8052单片机完全兼容,采用DIP40封装形式;支持的最高时钟频率为80M,能最大限度地提高MCU的运行速度;片内包含大容量的20KBFlash程序存储器和1KB的数据存储器,其内部可用Data Flash达58个扇区共29KB;具有在系统可编程(ISP)功能和在应用可编程(IAP)功能,可实现远程软件升级,无需编程器,从而大大缩短开发复杂度,同时可节省购买编程器的额外投入。
3.2?串行通信
系统上位机和下位机通过串行通信接口进行联系。 STC89C55RD+单片机内部含有一个可编程的全双工串行通信接口,即 RXD(P3.0)和TXD(P3.1),具有 UART的全部功能,该接口电路能同时进行数据发送和接收。一般情况下只要通过RXD、TXD和GND三根线就可以实现与上位机PC的串行通信,根据通信距离的远近,可以选择RS232或RS485通信方式,由于本系统中显示屏控制电路与上位机PC的距离较近,故选用了RS-232标准总线接口。具体电路图如图2所示。


?

3.3?驱动及扫描电路 LED点阵选用8x8模块,每 4块排列成一个16x16的点阵,用于显示一个汉字。点阵每一行的所有LED共阴极,每一列的所有LED共阳极。
因为单片机I/O口的驱动能力有限,所以每一行LED阴极通过一个三极管8550与电源相连,I/O口仅需要提供几个毫安的灌入电流即可控制其通断。考虑到本系统可以同时显示六个汉字,故每一列 LED的阳极都通过一个限流电阻和一个三极管8550与电源相连,当六个汉字的同一行汉字字模(即12个字节)通过锁存器74HC377并行送出后,由移位寄存器 74HC595输出行选通信号,来点亮该行的LED,接着再送下一行数据,再选中下一行有效,直到16行全被扫描过一遍。至此,一幅完整的文字信息就显现出来,然后按这种方式反复扫描,借助于程序的控制,即可实现信息从右至左的动态显示了。具体电路图如图3所示。


?
该系统的软件主要实现的功能包括:上位机信息(或命令)的发送和下位机点阵显示内容及方式的控制两部分。
4.1上位机软件
上位机信息(或命令)的发送使用普通的字模提取软件和串口调试软件即可,在与下位机进行通信时,须保证双方具有相同的数据格式和波特率,本设计采用 RS232通信,波特率为9600bit/s。同时,制定了上下位机之间的通信协议,信息包格式如图4所示。
?
?
4.2下位机软件
LED点阵的显示内容及方式主要由单片机的程序进行控制。程序采用模块化结构,主要包括有主程序、串口中断服务子程序以及扫描显示子程序等。
(1)主程序为顺序结构,主要完成系统对 I/O口和一些变量的初始化,定时器初始值、串行通信工作方式、以及波特率的设置[2],然后循环调用扫描显示子程序,显示原来Data Flash区中已存在的汉字信息。
(2)串口中断服务子程序采用接收中断启动[3],主要负责接收来自上位机 PC发送的信息,包括欲显示的内容以及命令字节,并根据命令完成相应的信息写入、擦除等操作,最后开中断返回主程序。其流程图入图5所示。

上一篇: 保护电路设计 下一篇: DS1876 中文资料

分享 举报