概 述
LED大屏幕显示系统具有画面直观、内容灵活多变、造价便宜等特点,因此被广泛应用于公共场合的文字及简单图像信息的显示。由于LED大屏幕的像素多,为节省硬件常采用动态扫描方式。以逐行扫描为例,显示过程一般为:(1)把显示缓存中的一行内容送入显示器锁存;(2)点亮该行并延时;(3)行消隐,然后指针下移一行并重复上述过程。对于小型的LED显示系统来说,这种方法是可行的,但对大屏幕来说随着像素的增加,数据传输将占用大量的时间,屏幕的显示亮度会明显下降,特别是对于户外的大屏幕显示系统,再采用这种方法设计将更是无法达到实用的效果。本文介绍一种新颖的显示控制电路可以有效地解决这一难题。
1、控制电路的组成及工作原理
LED大屏幕显示电路如图1所示。
整个电路由主控电路和显示电路两部分组成。
主控部分由DS80C320MPU、27C040EPROM、AT29C040、FLASHMEMORY、62256SRAM及周边电路组成。其中DS80C320是美国DALLAS公司生产的高速微处理器,它与8051指令兼容,但速度快6倍以上,内含电源监控电路、看门狗等。其特有的双数据指针用来将LED点阵数据快速存入显示缓存器中,实现如下:
EQUDSP,#86H ;指针选择位
MOVR5,#0FFH ;传输字节数
MOVDPTR,#DHDL ;装入目的地址
INCDSP ;改变指针
MOVDPTR,#SHSL ;装入源地址
MOVE: ;循环
若选25MHz的晶振,执行上面的这段程序需要702μs,与8051相比可节省一半的时间。系统启动后,DS80C320将有关的控制字写入MC6845并将LED大屏幕显示的画面信息存入显示缓存区,MC6845与AT89C2051控制画面的显示,同时DS80C320通过485通讯口接收显示信息,并将其转换成LED显示的点阵数据存入FLASHMEMORY中以备LED大屏幕的画面更新。
显示部分由显示缓存62256、CRT控制器MC6845、微处理器AT89C2051、多路地址转换器74HC157、行列锁存器CD4094及其它部分电路组成。其中AT89C2051是Atmel公司生产的20脚高性能CMOS8位微处理器,它与MCS-51指令兼容。MC6845主要起显示地址的扫描作用,它内部的字符高度寄存器R9的值取2,即3条字符扫描线,其它控制字按LED大屏幕的规格适当选取,AT89C2051产生的方波作为MC6845的CLK信号,而MC6845的RA0值则作为DS80C320对显示存储器的允许信号,若LED大屏幕为256(行)×1024(列),以行扫描为例,显示过程如下:AT89C2051预先将10000…0(255个零)写入行锁存器,然后在内部定时器及计数器的控制下发出128个CLK信号,每个信号发出后,MC6845输出的显存地址加1,AT89C 2051从显存的数据口读入并行的8位数据,并将其转换成串行数据存入列锁存器CD4094中,这期间RA0一直为低电平,DS80C320不对显存操作。发送128个CLK信号后,AT89 C2051立即清屏(P3.3=0),并通过P3.2脚发一个脉冲,使行指针下移,再由P3.7=1将所有的列锁存器中的数据打入输出端,并点亮该行(P3.3=1);然后延时,AT89C2051再发128个CLK信号,这时RA0=1,DS80 C320此时可对显存操作,上述过程重复进行,就实现了LED大屏幕的动态显示。
DS80C210可与行指针同步地将一行内容称入显示缓存,从而保证了动画的高质量实现。由于采用了MC6845,滚屏功能敢很容易实现。
由于篇幅所限,本文不再列出LED显示系统的驱动电路以及其它周边电路。