摘要: 针对现今LED广告屏的广泛使用,应用AT89C2051的可编程功能和串口通信功能,设计一个与计算机通信,可控的LED显示系统。上位机为计算机,下位机为单片机控制16块8×8LED显示屏构成的电路,下位机通过串口与上位机通信,改变显示内容。除了分析其设计思路外,还给出硬件原理图与软件流程图。系统具有设计简单、显示清晰、可靠性高的特点。
0 引言
LED显示屏是简单的汉字显示器,其具有耗电少、成本低、易获得、寿命长和显示的灵活性等特点,近年来迅速成为最受欢迎的宣传手段之一。在学校、公路、广场、商店等都能看到其身影,相对于传单、海报等一些传统的宣传手法其优势比较突出。本文将详细地介绍一种LED显示屏的制作。
1 硬件电路
本设计是以PC机作为上位机,编辑显示汉字,通过串口通信输送到89C2051上储存并显示。硬件电路的设计主要是以单片机与16块8× 8LED点阵显示屏构成。鉴于89C2051引脚数量的限制,本系统采用74HC595作串入并出,同时显示列,行扫描则由两片74LS138作译码扫描(如图1)。
1.1 LED显示屏电路
如图2所示的8×8单色点阵行共阳,列共阴的点阵LED屏。其工作原理为只要列输入低电平,行输入高电平,行跟列相结合,相对应的二极管就点亮。采用行扫描形式时,行输入依次为100000000、01000000、00100000……逐行扫描。列输入为该行需要亮的二极管为高电平,需要暗的二极管为低电平。利用人眼的视觉暂留效应,每行的刷新速率大于50 Hz,就可以达到整个8×8点阵LED屏的显示。显示一个汉字需要四块8×8点阵LED屏(如图2),A与B行相连,C与D行相连,依次扫描行,能同时选择A、B或C、D的同一行,达到一行16个二极管。A与C列相连,B与D列相连,列的输入为相对一行要点亮的二极管。这样就形成了一个16×16的点阵用于显示—个汉字。本设计是—个四字的显示系统,把四个字的行相连形成—个16x64的点阵显示屏。
1.2 驱动与扫描电路
本系统是采用行动态扫描的方式,相对于16×64LED显示屏输入口数量,单片机I/O口数量不足。所以行扫描用两片74LS138译码器串联,根据单片机的控制原理,分配P1.0~P1.2作译码器的输入信号,P1.3、P1.4作级联信号。由于单片机I/O口的驱动能力有限,本系统在单片机I/O口与74LS138之间加入排阻作上拉电阻,提高I/O口的驱动电压。74LS138的译码输出是低电平有效,而LED显示屏的行驱动是高电平有效,在74LS138的输出端接一相反相器,可用74HC04。74HC04是内含6组相同的反相器,需要三片74HC04(如图3)。
列上用74LS595串口转并口的移位寄存器。DS是串行数据输入端;Q0~Q7是8位并行输出端;Q7’是级联输出端;/MR是移位置存器清零控制信号,低电平有效;SH_CP是移位脉冲输入端,上升沿有效,当上升沿到来,Q0→Q1→Q2……→Q7。ST_CP是移位寄存器进入数据存储器的控制信号,上升沿有效。/OE是使能控制信号,禁止Q0~Q7输出,高电平有效。8片74LS595的/MR都接高电平,/OE接低电平;将8片74L-S595进行级联(图4为两片74LS595级联)。第一片的DS接P1.5,后面的74LS595的DS接上一片的Q7’,显示数据从DS输入到74LS595里。
并行输出端接16×64LED显示屏的列输入端。SH_CP共用一个移位脉冲信号,经过8×8=64个脉冲就把由DS输入的要显示的一行数据全部移到8片的74 LS595的移位寄存器。8片的74LS595的ST_CP共用一个控制信号,把移位寄存器的数据并行输出,结合行的选通信号,显示LED显示屏的一行数据。
1.3 单片机及串口通信电路
单片机上除有晶振电路和复位电路外,还有串口通信电路(如图5)。考虑到成本的问题,没有用MAX232,而是改用三极管的开关作用来进行电源电平转换,使单片机的控制电平能转换到PC机串口的3 V到15 V或-3 V到-15 V之间。单片机的TXD为高电平时Q2导通,PC的RXD为低电平。单片机的TXD为低电平时Q2截止,PC的TXD为高电平。单片机的RXD与PC的TXD之间的电平转换原理相当。
2 软件设计
本系统上位机的软件用汉字字库把需要显示的字翻译成16进制的数据,再用串口调试助手进行发送。单片机流程图如图6。
3 结束语
本系统经过实物验证,显示清晰,可靠,造价低廉。并可实时变换显示内容。只要稍作修改把点阵扩大,便可用于公共场所显示信息。