2 LED点阵显示器的扫描驱动
LED显示屏驱动电路的设计应与所用控制系统相配合。驱动通常分为动态扫描型及静态锁存型驱动二大类。本文以动态扫描型驱动电路的设计为例来进行分析。动态扫描型驱动方式是指显示屏上的16行发光二极管共用一组列驱动寄存器,然后通过行驱动管的分时工作,来使每行LED的点亮时间占总时间的1/16。只要每行的刷新速率大于50 Hz,利用人眼的视觉暂留效应,人们就可以看到一幅完整的文字或画面。
AT89S52单片机有四个I/O口(P0、P1、P2、P3),每个I/O口有8位,如果都采用并行输出,显然不能满足要求,因此,本设计中的行扫描驱动采用并口输出,而场扫描驱动采用串口输出。
2.1 行扫描驱动
由于16x64点阵显示器有16行,为充分利用单片机的接口,本电路中加入了一个4-16线译码器74LS154,其输入是一个16进制码,解码输出为低态扫描信号,它们的管脚示意图如图4所示。把74LS154的G1和G2引脚接地,然后以A、B、C、D四脚为输入端。就会形成16种不同的输入状态,分别为0000~1111,然后使每种状态只控制一路输出,即会有16路输出。
如果一行64点全部点亮,则通过74LS154的电流将达640 mA,而实际上,74LS154译码器提供不了足够的吸收电流来同时驱动64个LED同时点亮,因此,应在74LS154每一路输出端与16x64点阵显示器对应的每一行之间用一个三极管来将电流信号放大,本文选用的是达林顿三极管TIP127。这样,74LS154某一输出脚为低电平时,对应的三极管发射极为高电平,从而使点阵显示器的对应行也为高电平。
2.2 场扫描驱动
本系统场扫描驱动电路的设计可用串入并出的通用集成电路74HC595来作为数据锁存。74HC595是一个八位串行输入三态并行输出的移位寄存器,其管脚见图4所示,其中SI是串行数据的输入端,RCK是存储寄存器的输入时钟,SCK是移位寄存器的输入时钟,Q'H是串人数据的输出,G是对输人数据的输出使能控制,QA~QH为串入数据的并行输出。从SI口输入的数据可在移位寄存器的SCK脚上升沿的作用下输入到74HC595中。并在RCK脚的上升沿作用下将输入的数据锁存在74HC595中,这样,当G为低电平时,数据便可并行输出。为了避免与PC机串口输入的数据相互干扰,也可使用模拟串口P1.4~P1.7来分别输出串行数据、移位时钟SCK、存储信号RCK和并行输出的使能信号G。
为了消除电源电压的波动及行扫描管压降(第一行点亮的点数不同,将引起管压降的变化,从而影响通过LED管的电流)的变化对LED显示屏亮度的影响,设计时可采用列恒流驱动电路,可选用三极管8550和外围元件构成列恒流驱动电路,并通过调整100 kΩ可调电阻使三极管处于放大状态,同时将集电极电流调整为10 mA,从而使点亮对应点阵时通过LED的电流不变。