摘 要:由于普通 LED 点阵显示屏动态显示通常采用硬件扫描驱动,这在一些需要特殊显示的场合显得不够灵活。文中提出了一种
利用 PC 机和单片机的通讯来实现显示屏灵活的动态显示和远程监控的设计方法,同时该方法还可以将显示内容在 PC 机上进行预览。
关键词:LED;动态显示;远程控制;显示预览
1 引言
LED 点阵电子显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。它以其色彩鲜艳,动态范围广,
亮度高,寿命长,工作稳定可靠等优点而成为众多显示媒体以及户外作业显示的理想选择。同时也可广泛应用到军事、车站、宾馆、
体育、新闻、金融、证券、广告以及交通运输等许多行业。
目前大多数的 LED 点阵显示系统自带字库。其显示和动态效果(主要是显示内容的滚动)的实现主要依靠硬件扫描驱动,该方法
虽然比较方便,但显示只能按照预先的设计进行。而实际上经常会遇到一些特殊要求的动态显示,比如电梯运行中指示箭头的上下移
动、某些智能仪表幅值的条形显示、广告中厂家的商标显示等。这时一般的显示系统就很难达到要求。另外,由于受到存储器本身的
局限,其特殊字符或图案也往往难以显示,同时显示内容也不能随意更改。本文提出一种利用 PC 机和单片机控制的 LED 显示系统通
讯方法。该方法可以对显示内容(包括汉字和特殊图符)进行实时控制,从而实现诸如闪动、滚动、打字等多种动态显示效果。该方
法同时还可以调节动态显示的速度,同时用户也可以在 PC 机上进行显示效果的预览,显示内容亦可以即时修改。另外,通过标准的
RS232/485 转换模块还可以实现对显示系统的远程控制。
2 系统硬件设计
本 系统主要的硬件设计是下位机单片机的显示 控制部分。而上位机(PC 机)与单片机显示控制部分的接口为标准 RS232 通
讯方式。若需实现远程监控,只需增加 RS232/485 转换模块即可,该部分已有成熟的电路设计,故不再详细叙述。
具体的 LED 显示屏控制电路如图 1 所示。整个电路由单片机 89C52、点阵数据存储器 6264、列驱动电路 ULN2803、行驱动电路
TIP122、移位寄存器 4094 及附属电路组成。该电路所设计的电子屏可显示 10 个汉字,需要 40 个 8×8 LED 点阵模块,可组成 16×160
的矩形点阵。由于 AT89C52 仅有 8k 存储空间,而显示的内容由 PC 机控制,因此不可能预先把需要显示的内容做成点阵存在单片机中,
而只能由 PC 机即时地把所需显示的点阵数据传给单片机并存入缓冲区 6264。
该电路的显示采用逐行扫描方式。工作时,由单片机从缓冲区取出第一行需要显示的 20 字节点阵数据,再由列点阵数据输入端
P1.2 口按位依次串行输入至列移位寄存器,其数据输入的顺序与显示内容的顺序相反。然后置行点阵选通端 P1.3 为 1,即置行移
位寄存器的 D 为高电平,STR 使能(所有 4094 的 OE 引脚接+5V 电平),从而使列移位寄存器中的数据同时并行输出以选通该行。经
延时一段时间后再进行下一行点阵数据的显示。需要注意的是,每次只能选通一行数据,即要通过不断的逐行扫描来实现汉字或字符
的显示。
3 显示与控制的设计
在笔者设计的 PC 机控制多单片机显示系统中,用 PC 机实现的主要功能包括单片机显示子系统的选择,显示方式选择(包括
静态、闪动、滚动、打字等),滚动方向选择(包括上下滚动和左右滚动),动态显示速度调节(即文字闪动频率、滚动速度、打字
显示速度等),显示内容输入及显示预览等。单片机一般通过 RS232/485 串行接收 PC 机发出的显示指采用定时器中断方式进行行扫
描,每次中断显示一行,定时中断时间为 1.25ms,这样整屏的刷新率为 50Hz,因而无闪烁感。
实现动态显示速度调节的方法通常是改变定时器的中断时间,但是当显示速度很慢的时候,该方法容易使整屏的刷新率降低,从
而使显示内容出现闪烁。因此,本设计采用一种“软定时”方法,即在程序中命名一变量作为“软定时器”,以用来设定两次动态显
示的时间间隔。在对定时中断调用计数时,如果调用次数达到设定值,则改变显示内容。为保证能够正常显示,“软定时器”的设定
值必须大于整屏显示周期。由于显示屏每行显示 1.25ms,整屏显示周期为 20ms,考虑到余量的情况,可将软定时器的设定值定在大
于 30ms。如此循环计数,即可实现动态显示。“软定时器”的设定值可以通过上位机 PC 机来改变,这样既可实现 LED 动态显示的速