大屏幕显示以其显示清晰、更新方便等特点,在信息提示中广泛应用,如车站/机场、证券交易系统及生产车间的信息显示等。大屏幕显示方式分两种:点阵式和八段码方式,前者显示信息灵活,功能强大,但控制较为复杂,硬件成本较高;后者则应用八段码方式显示一些数值信息,方便简单,价格低,在数字显示中被广泛应用。目前,一般的数字式LED显示屏普遍采用单片机的串行口或其它I/O口通过诸如串行输入并行输出芯片74LS164驱动。但是,这样有二点不足:一是单片机的串行口被显示电路占用,便不能实现多机通讯,只能实现单屏的显示;二是一般的串行输入并行输出芯片不带输出锁存功能,且移位脉冲频率低,输出驱动电流小,这使得显示屏有时会出现字符闪烁,显示不清,刷新速度较慢,所以有时需要另加大功率驱动电路。
本文通过 89C51单片机I/O口控制74HC595(以下简称595 )芯片直接驱动八段码,不占用其串行口,可以很方便地构成大屏幕显示电路,并在纺织厂的信息显示中得到了应用。
单片机控制595组成的LED显示屏
本文设计的数字式LED显示屏是用在对郑州国棉三厂纺纱车间的技术改造过程中,对该车间的240台纺纱机的产量、效率、车速等参数进行实时显示。根据该车间的240台纺纱机的分布位置不同,我们设计了五块显示屏, 每块显示屏由4行*12列, 每个显示模块有5位LED数码管组成, 可以分时显示48台纺纱机的产量、效率、车速等信息。产量、效率、车速等参数由上位机进行检测后,经RS-485总线,将数据传送给下位机,下位机进行数据处理、变换后,把相应的参数显示出来。
对每个显示模块中的数据输入及每位LED数码管的输出驱动,我们采用具有串行移位输入、8位并行带锁存输出的595芯片。该芯片内部由数据移位触发器和三态输 出锁存器组成,有16个引脚。SI:串行输入数据;SCK:移位时钟脉冲(输入); RCK:锁存时钟脉冲(输入); SCLK :复位清零信号(输入);QA -QH:数据输出;QH*:向下一片(位)的串行数据输出。595输出电流大(35mA),可以直接驱动八段码。其输出锁存功能,可以有效防止移位输出时 LED八段码的闪烁,其移位及锁存信号频率高,最大值为55MHz。这两个脉冲信号都采用上升沿触发。
每块显示屏由一片89C51下位机控制,其硬件电路如图1所示。
每个显示模块由5个595分别驱动5位八段码,制成一块PCB电路板,通过程序控制可以分时显示48台纺纱机的产量、效率、车速等信息。6264为接收参数及输出显示参数LED段码的缓冲区,3082为RS-485通讯接口芯片。
每块显示屏中,第一行显示模块中的第一个595的移位数据输入引脚SI分别由89C51的P1.0 、P1.1 、P1.2 、P1.3经244驱动后控制,其数据输出引脚QH*依次接至下一个595移位数据输入引脚SI,该显示模块中的第五个(最后一个)595的数据输出引脚 QH*接至该列下一行显示模块的第一个595数据输入引脚SI。以此类推,直至最后一行。而所有595芯片的移位脉冲 、锁存脉冲由P3.4 、P3.5经244驱动后提供。例如,显示产量时,把存储在外部RAM中的产量信息,分四组,对应于显示屏上的4列,在移位脉冲(P3.5)的作用下,依次经P1.0 、 P1.1 、P1.2 、P1.3并行输出,当所有的产量信息都移位输出后,再发出锁存脉冲P3.4 。这样在该显示屏相应位置(显示模块)便显示出48台纺纱机的产量值,效率 、车速的显示方法相同。
显示屏的软件设计
每块显示屏的软件包含两部分:通讯接收、数据处理及输出显示。
通讯接收
通讯部分用来接收数据,在通讯中断服务子程序中,首先接收上位机传过来的每块显示屏的屏号(地址),若地址与该屏设定的地址不一样, 则退出中断; 若地址与该屏设定的地址相同, 则接收上位机传过来的每台车的参数,同时进行校验,并存入外部数据缓冲区RAM中。即每块显示屏的下位机通过RS-485接收上位机传来的数据。共48台车*8字节,其中,8个字节包含每台车的车号(一个字节),产量、 效率、车速(各二个字节)及累加校验和(一个字节)。所有48台车的参数接收完毕后,设置一标志位(如某台车接收的数据有错误则生成另一标志位。该台车的数据不作处理),退出中断,由主程序对接收到的数据进行变换处理。
数据处理及输出显示
数据处理及输出显示部分主要进行处理、变换,并使相应的参数在显示屏上相应的位置显示出来。89C51根据设置的接收完毕标志位,对接收的参数经过数据处理、变换后,把待显示参数段码存储在 6264中,该存储区分为三部分, 每部分分别按车号顺序存储产量 、效率 、车速的参数段码。需要输出显示某种参数时,在存储该参数段码区设置四个等长度的地址指针,分别从四个地址指针所指的存储单元中取数,经P1口(P1.0、P1.1、 P1.2、P1.3)并行输出驱动595并修改地址指针直到输出48台车的该参数段码。最后,向595发出输出锁存脉冲, 48台车的该参数值便可以在显示屏相应位置上显示出来。 产量 、效率、车速可以分时显示,各参数分时输出显示的时间长短由通讯接收数据的时间决定。其程序流程图如图2所示。
结语
利用89C51控制595实现的显示屏,实用简单,运行可靠,价格低廉,显示清晰。对于不同应用场合的显示,只要在软件/硬件上稍加改动,如增减显示的行/列数及每个显示模块驱动LED的位数,便可以使用,因此具有很大的实用性和推广价值。
在改用时,应注意以下几个问题:
(1) 对显示屏行数的扩展,若超过15行,因信号线过长必须对控制信号及数据信号增加电流驱动,否则易造成信号干扰,使显示数据混乱。
(2) 对显示屏行数的扩展,应增加相应I/O端口(数据输出)的数量。
(3) 对于大电流的LED数码管,应在595的输出端增加驱动电路。