MCS-51单片机串口一口两用在LED显示屏的一例应用

本文作者:admin       点击: 2008-01-11 00:00
前言:
由于LED图文显示屏的控制电路采用单片机方案,对LED 显示屏产生行扫描和列扫描驱动。显示屏的扫描电路一般采用多行(1/16扫描方式下,就是16行)的同名列共用一套列驱动器。以AT89C51为例,行扫描线由单片机的P1.0~P1.3口完成,列扫描数据由串口通信传送完成,TXD线产生同步的移位脉冲信号,将RXD线传送列扫描数据送出;而LED显示屏扫描的数据通常存储在单片机系统的存储器中,当PC机与单片机进行通信时主要任务是对其进行刷新。其中单片机及相应的软件,主要负责存储显示数据、生成显示数据、安排控制信号的定时与控制顺序、与上位机进行通信等工作。其中单片机的串口既承担显示列扫描数据的通信,又要与上位机进行通信;而且前者占用了绝大部分时间,与后者的通信一般在扫描显示屏的过程中采用查询等待的方式,这必然给时刻准备动态扫描LED显示屏数据的单片机减慢了显示刷新的次数和时间,导致屏的扫描范围变窄,同时给上位机增加了很长等待时间,有可能通信不能连接上去,导致通信失败。在这里对单片机串口通信的软件和硬件进行改动,利用产生外中断1的过程中与PC机进行通信,既提高了单片机的利用率,又减少了上位机的等待时间,真正作到了即时通信,同时扩大了LED显示平的扫描范围。

本电路采用了单片机的两种串口工作方式,两种工作方式分别为方式0、方式1。其中方式0用于传输LED显示屏列扫描数据,如单片机的晶振为12M,那么串口传输数据的工作的速度近乎1M/s,在取消查询等待PC机通信方式后,采用产生中断后与PC机的通信方式,大大增加了列扫描数据的传送量。方式1用于单片机与PC机的通信,1位起始位,8位数据位,1位停止位,所以每传输1个字节需10位。这两种串口工作方式处于切换控制状态。

一 基本硬件原理

如图1,选单片机芯片为 AT89C51,双二选一开关芯片为MC4066(如图2),MC1489将PC机COM1或COM2口的第七脚(RTS)的RS232电平转换为TTL电平,作用于89C51的INT1引脚,作为产生中断1的控制线。其中89C51的P1.7接到MC4066的选通端,控制与RXD、TXD两引脚相连的开关电路,决定它们是跟PC机连通还是跟LED扫描电路连通,完成单片机串口通信一口两用的功能。具体引脚P1.7的电平的高低由INT0引脚是否产生中断有关:有PC机通信即产生中断时P1.7为低,单片机的串口与PC机进行通信,串口工作方式为1;不产生中断时P1.7为高,单片机的串口与LED扫描电路进行通信,串口工作方式为0。电路连接如图1、图2。

二 PC机与单片机的通信数据的方式

在电路中数据通信采用的方式为分包传输;PC机与单片机通信的数据规则是:先发握手数据包,等待单片机发回应答数据包,受到应答包后再开始发送LED扫描数据包。其中握手数据包与应答数据包由3个字节组成,LED扫描数据包由“扫描数据字节数+5”个字节数组成:1个字节起始(包头)、两个字节地址、1字节数据字节数、所要传输的扫描数据字节数、1字节效验和、1字节标志码。其格式如下:

其中标志码表示在通信时扫描数据包是否已传送完,如未传送完标志码被设未传送完标志,反之则设置标志码为已传送完标志。

三 产生中断后串口通信流程图

四 附加中断通信程序

(此通信程序经武汉金华盛公司、武汉中显公司为客户安装的LED显示屏多次应用过)由于篇幅有限,这里只提供中断通信的汇编源程序。
结束语

当今社会是一个信息时代,各种LED显示屏应用广泛,并且有各种形式与PC机通信的显示屏,一般以单片机来控制LED扫描的图文显示屏来说,解决好PC机与单片机相互之间的通信问题,有利于LED图文显示屏质量和性能的提高,有利于图文显示屏更大程度上适应各种形式的需求。本文介绍的MCS-51单片机串口一口两用在LED显示屏的应用,既方便实用、提高了通信质量,又节约成本,便于开发和应用。