雷建龙 邱 磊
(武汉船舶职业技术学院,湖北武汉 430050)
基于快速单片机的LED屏显示控制器的设计及应用
雷建龙邱磊
(武汉船舶职业技术学院,湖北武汉430050)
摘要设计了一种用于小型场合,内容不需要经常更新的LED屏控制器,解析了LED屏单元板的结构,分析了它的主要内部电路及单元板的输入输出接口,由单元板构建了一个LED屏,在对单元板接口信号分析的基础上设计了LED屏控制器。介绍了控制器硬件电路的组成,对关键信号进行了分析。分析了LED屏扫描显示方式,并据此选择了快速单片机,设计了控制器的显示驱动程序。实践证明,此控制器简单、实用、稳定性强,且扩展性强。
关键词单元板;LED屏;控制器;单片机
LED 显示屏作为一种高科技产品广泛应用于诸多领域,日益引起人们的重视。尽管目前 LED 显示屏的应用范围越来越广,但是在应用中也暴露出一些新的问题,如有些 LED 文字显示屏需要一台计算机控制等。为满足显示区域较大、显示内容切换频繁等相对较复杂的应用场合,目前以FPGA为核心的LED屏控制系统和以32位微处理器为核心的LED显示屏控制系统已经应用于大屏LED控制,但是以FPGA为核心的LED显示屏控制系统设计实现起来比较复杂,并且需要以高性能的FPGA芯片作为基础。而以32位微处理器为核心的LED显示屏控制系统不够灵活,在改变LED屏幕显示尺寸时,需要大幅修改系统设计[1-2]。从 LED 显示屏需求上,市场上不仅需要像大屏幕这样大型的显示屏,也需要根据不同场地配置不同规格的小型显示屏以及相对简单的文字显示屏。本文针对LED显示系统存在的问题,结合当今先进的微控制器产品,设计了高性能、低成本、低功耗的 LED 显示屏控制系统。
1LED屏分析
LED屏由一块块单元板拼接而成,每一块单元板的结构是完全一样的[3-6]。单元板内由LED组成8×8的矩阵,由4个这样的矩阵可组成1个16×16的LED点阵,可显示一个全角汉字。通过行驱动及控制、列驱动及控制电路控制每一LED的断通过情况,从而可显示文字或图形[4-9]。如图1所示为列驱动所使用的移位寄存器74HC595的引脚图,串行数据从引脚SER外串行输入,SRCLK为移位脉冲的输入端,RCLK为锁存控制端(高电平锁存),8位数据(O0-O7)分别与相应的8列LED相连,9号引脚为串行数据移出端,与横向的下一个控制8列的LED的74HC595相连。单元板有2排16×16的结构,下一排的列控制与上一排完全相同,也有串行数据输入、输出端,故单元板需要输入2路数据,分别控制2排16×16点阵。如图2为单元板内行驱动与控制电路图。单元板内的2排16×16阵列的每一行是相连的,故一共只有16行需要控制。通过2片74LS138组成一个4-16的数据分配器, LA1、LB1、LC1、LD1为4位行地址线,数据从EN1A处输入,根据地址的不同分配到16个输出端,每一输出端连接一只场效应管4953的栅极,场效应管处于开关状态,它的漏极控制着LED点阵的一行的阳级。场效应管导通时,相应的行才可能点亮,关断时,相应的行不亮。
图1 列数据移位锁存器74HC595的引脚及信号
图2 行数据分配器及驱动电路图
如图3所示为双色(红、绿)单元板的输入及输出接口。这种单元板可显示2行16×16的汉字,每行4个汉字,共8个汉字。输入接口中R1、R2为红色LED的串行输入信号,分别对应于2行汉字,用于控制列的状态,通过驱动后与74HC595的串行数据输入端SER相连;G1、G2为绿色LED的串行输入信号,在单色显示中可不用。LA、LB、LC、LD为行地址信号,通过驱动后与单元板内的LA1、LB1、LC1、LD1相连,在单元板内通过译码用于扫描LED阵列的16行。LT为单元板内锁存驱动器的锁存信号,与74HC595的锁存端RCLK相连;SK为串行移位的时钟信号与74HC595的串行移位时钟端SRCLK相连;EN与行控制的EN端相连(如图3所示的最左端),可以控制数据分配器的工作状态,为1时允许数据分配器工作。输出接口中的各控制信号的功能与输入接口完全相同,只是各输出信号要联接到下一块单元板的输入接口,以实现多块单元板的级联,从而构成更大的LED屏。
图3 单元板的输入输出接口
本设计控制的为一个4×4(即由横向4块单元板串联,纵向4块单元板拼接。)共16个单元板组成的LED屏。LED屏的所有相应行地址线是相联的,以此地址译码出来的16行的对应行也是相联的。有两个串行输入信号, 16行LED的对应每个行连在一起,只是通过串行输入的信号(驱动LED点阵的列)不同来实现显示不同的行。R1用于串行输入显示信息到第一个16行点阵的相应列,而R2则输入到第二个16行点阵的相应列。
2控制器的设计
2.1控制器的硬件设计
现以4×4单元板组成的LED屏为例来说明由单片机控制的LED屏的电路设计及程序设计。根据以上对单元板内部结构及接口的分析可知,横向的4块单元板只要将每块单元板的输出与下一块的输入相联即可。由于纵向有4块相互独立的单元板,每一单元板有2个串行输入端,故一共有8个串行输入端。串行输入端与单片机的串行口相接,但单片机的串行输出数据在一个时刻只能输入到一个串行输入端,故必须轮流给8个串行输入端传送数据。为实现单片机的一个数据输出能分配到纵向8个串行输入端,在单片机外围用74LS138设计了一个数据分配器,如图4所示。
图4 基于单片机的LED屏控制器
74LS138接成数据分配器,即E1作为数据的输入端,Y0~Y7作为数据的输出端,C、B、A作为数据分配的地址选择端。单片机的P2.0、P2.1、P2.2 分别与74LS138的A、B、C相联,作为3位地址;而单片机的数据输出端RXD与74LS138的E1相接,输入数据。Y0~Y7分别接到纵向4个单元板的串行输入端。单片机串行口工作在方式0,即移位寄存器方式,RXD为数据的输出端;TXD为串行时钟的输出端。这样,只要单片机每次从P2.0、P2.1、P2.2 输出不同的地址,则从RXD输出的数据就被分配到不同的串行输入端口。电路中,单片机输出的串行移位信号TXD与单元板输入接口的串行时钟输入端SK相联,各单元板的SK都是相联的,工作在同步状态。P1.0、P1.1、P1.2、P1.3分别与单元板的行地址端LA、LB、LC、LD相联,从它们输出共有16种地址组合,通过单元板内部的4-16行数据分配器来选通相应的行。P0.0与单元板的锁存信号端LT相联,LT在单元板内部用于打开和关闭接收数据的锁存器74HC595,在每行数据输入时打开,输出完后关闭。
单片机的选择也是这一控制器的关键所在。扫屏一次,单片机输出串行数据,LED屏接收数据,如图5所示。整个屏扫描一次所需时间为:
16(行)*8(8路数据)*16(每字16位)*4(单元板每行字的个数)*4(每行单元板个数)*T机=32768 T机,其中T机为单片机的一个机器周期时间。
图5 LED屏输入数据扫描方式分析图
由于扫描用时与单片机的机器周期时间密切相关,为了不产生闪烁感,要选择高速单片机。很多公司推出了各种性能的高速单片机,如宏晶公司的STC15系列等,这里选择宏晶公司的高速单片机STC12C5A60S2,它可通过设置控制辅助寄存器AUXR工作在6倍速状态,AUXR的地址为0x8e,具体操作是给它赋一个值“0x20”即可,这时它的机器周期只为普通51系列单片机的六分之一。且它的最高晶振频率可达48MHz,一个机器周期为T机=1/6*12/fosc=1/2*12*1/48 MHz=0.0417μs。扫描一次的时间为:32768 T机=1.365ms,小于人眼的滞留时间41.7ms(1/24秒),不会产生闪烁感。
2.2控制器控制程序设计举例
现以上述4×4结构的显示屏实现汉字显示为例,来说明显示控制程序的设计。从以上对单元板电路的分析及基于单片机的控制器的硬件设计可见,用扫描的方式能实现汉字的显示。如图5所示,不断扫描16行,对16行的选择是通过控制4位行地址LA、LB、LC、LD实现。在每行扫描时,又要分别扫描四排单元元板,每一排单元板有2路,故要分8路扫描,即通过数据选择器的地址C、B、A的不同组合实现。由于横向4个单元板串联,而每个单元板在横向能显示4个汉字,故每扫描一行输入字节数应为:4(每排横向单元板数目)*4(每一单元板横向汉字个数)*2(每一汉字每行字节数)=32字节。
通过字符图形转换工具将LED屏要显示的内容导入,并转换为用于扫描的字节,存储于单片机的程序存储器中。控制程序流程图如图6所示。
图6 控制程序流程图
关键程序代码如下:
#include
sbit LT=P0^0;//锁存信号
sfr AUXR=0x8e;//STC单片机的双倍速控制寄存器。
unsigned char code tab[128][32]=
{{...}}; //128个汉字的字模编码,每一汉字占32字节。
void main()
{
SCON=0x00;//串行口工作于方式0,即移位寄存器方式。
AUXR=0x20;//对STC单片机的双倍速进行设置。
…
while(1)
{
…
}}
tab[128][32]为存放于程序存储器的128个汉字的对应于16*16点阵的数据。由于每个单元板能显示4*2=8个汉字,故由4*4个单元板组成的LED屏最多可显示4*4*8=128个汉字。
3应用
据此设计而制作的实物时,具体要显示的内容可通过串行口连接电脑来更新,即更新tab[128~32]中的内容,还可以通过加装无线收发器来更新显示内容。且理论上可扩大到现有显示屏的30倍(41.7ms(最大允许扫屏时间)/1.365ms(现一次扫屏时间)>30),扩展显示屏的空间也较大。而且现在,单片机的速度越来越快,可适应扫描大屏的需要。实践证明采用此方法控制的LED屏显示的内容稳定,如图7。此显示屏不仅可显示文字,还可的显示简单图形等信息,在办公室等公共场所发布诸如通知及各种信息灵活方便。
图7 LED屏的显示效果图
而一般对LED的控制器复杂,控制器需采用专用芯片,开发人力成本高,在诸如办公室等小型场合发布信息并不实用[10-15]。对于不经常更新信息的场合,可采用快速单片机对其进行简单的控制。单片机具有易学易用,且开发群体庞大的特点,可大提高开发成本及使用成本。
参考文献
1张玉杰.基于ARM和FPGA的LED显示屏控制系统的设计[J]. 计算机测量与控制,2009,17(12): 2429-2431
2刘晋.基于 STC12C5A60S2 单片机的 LED 显示屏硬件设计[J]. 微型机与应用, 2011, 30(22):24-27
3郑争兵.基于FPGA的图形点阵液晶显示系统设计与实现[J].液晶与显示,2013,28(3):403-407
4雷建龙.单片机C语言实践教程[M].北京:电子工业出版社,2012:194-195
5熊再荣,雷建龙. 数码管动态显示乱码现象分析[J].液晶与显示,2009,24(5):704-707
6尤卫卫,冒建亮,叶桦.基于STM32和CPLD的TFT-LCD显示控制器设计[J].液晶与显示,2015,30(3):444-450
7郭柯娓,李淑琴.基于STC89C54RD+单片机的点阵LED显示屏的设计[J].辽宁大学学报(自然科学版), 2008,35(1):28-31
8吴迪,李丙玉,王晓东.基于ARM+FPGA的影像交互与显示系统设计[J].液晶与显示, 2015,30(6):979-986
9王军.基于STM32的R61581驱动液晶屏显示方法研究[J].液晶与显示,2016,31(1):93-96
10夏建雄,陈海燕.基于FPGA的LED屏控制器设计[J].液晶与显示,2015,30(5):838-843
11王军.基于FPGA的高精度守时方法研究[J].液晶与显示, 2015,30(6):1052-1056
12冯道宁,王念春.地铁列车LED显示屏的设计[J]. 液晶与显示, 2007,22(1):99-103
13梁光胜.旋转彩色LED显示屏设计与实现[J].液晶与显示,2014,29(5):850-855
14张传胜.基于RFID技术的智能监控平台的设计[J]. 液晶与显示,2015,30(5):825-831
15简献忠.基于80C51和KEIL C51的LED点阵显示系统[J].仪器仪表学报,2005,26(8):315-316
(责任编辑:谭银元)
The Designing and Applying of a LED Screen Display Controller Based on the MCU
LEI Jian-long,Qiu Lei
(Wuhan Institute of Shipbuilding Technology, Wuhan 430050, China)
Abstract:This essay designs a LED screen display controller which doesn't need updating regularly and can be used in small occasions. The structure of the LED panel as well as its main internal circuit is introduced, and the input-output interface of the panel is also analyzed. A screen is constructed using the panel. The LED screen display controller is designed through analyzing the signals of the panel interface. The hardware circuit of the controller is explained, and the key signals are analyzed. LED screen display mode is analyzed in detail, based on which the high-speed MCU is chosen. The display program is designed and implemented, which proves that the controller is user-friendly, practical, reliable and expandable.
Key words:the panel; LED screen;controller; MCU
基金项目:湖北省中高职人才培养一体化改革的研究(项目编号:15D138),2015年度湖北省教育厅人文社会科学研究项目。
收稿日期:2016-02-17
作者简介:雷建龙,男,教授,主要从事应用电子技术方面的教学和科研工作。
中图分类号TN710
文献标志码A
文章编号1671-8100(2016)02-0020-05