基于单片机的16×64LED点阵显示屏的设计
0 引言
LED点阵显示屏是一种简单的汉字显示器,具有价廉、易于控制、使用寿命长等特点,可广泛应用于各种公共场合,如车站、码头、银行、学校、火车、公共汽车显示等。本文详细介绍了一种低廉的16x64点阵LED显示屏的设计过程。
1 硬件系统设计
本系统采用AT89C52单片机作控制器,整个电路主要由单片机控制及其接口电路、驱动显示电路、电源电路等部分组成。为了简化显示屏电路,降低成本,本系统在单片机部分不加字库存储器。而在PC机上编辑汉字和字符显示信息,并将其转换为相应的点阵显示数据,然后通过串口(采用RS-232通信标准)送给单片机存储并进行显示处理。图1所示为其硬件系统原理图。
1.1 单片机控制电路
本系统由AT89C52构成单片机最小应用系统.同时配有11.0592 MHz晶振和按键复位电路等。系统外扩的一片Flash存储器29F040为数据存储器,可用来存储由PC机串口送来的点阵信息(通过软件将图像或文字转换成与LED显示屏的像素相对应的点阵信息)。该Flash存储器是一种非易失性存储器,它在供电电源关闭后仍能保持片内信息。由于29F040的容量为512 KB(该芯片内部由8个64 Kbyte的读写块组成,可分块进行读、写和擦除等操作),而AT89C52只能管理64KB的数据空间,所以,需将29F040分成8页,每页64KB。其页码可由单片机的P3.2~P3.4来选择。另外,采用MAX232可完成RS232与TTL电平的转换,以便使PC机与单片机交换信息。
1.2 16x64点阵显示器的设计
图2是一种8x8的LED点阵单色行共阳模块的内部结构图,其单点工作电压Uf为1.8 V,正向电流IF为8~10 mA。当某一行线为高电平而某一列线为低时,其行列交叉的点就被点亮;而当其某一列线为高时,其行列交叉的点为暗;当某一行线为低电平时,无论列线如何,对应这一行的点全部为暗。
用四个8x8点阵显示可构成16x16点阵显示器,其连接方法如图3所示。图中,将(A)和(B)的8列、(C)和(D)的8列分别对应相连,同时将(A)和(C)的8行、 (B)和(D)的8行分别对应相连。即可形成一个16行(每一行有16个LED)、16列(每一列也有16个LED)的16x16点阵显示器,可将这256个点称为一页,这样,显示字符时。只要对一页中对应的亮灭进行控制即可。
如果需要,也可以把4个16x16点阵显示器相连从而构成16x64的点阵显示器。
2 LED点阵显示器的扫描驱动
LED显示屏驱动电路的设计应与所用控制系统相配合。驱动通常分为动态扫描型及静态锁存型驱动二大类。本文以动态扫描型驱动电路的设计为例来进行分析。动态扫描型驱动方式是指显示屏上的16行发光二极管共用一组列驱动寄存器,然后通过行驱动管的分时工作,来使每行LED的点亮时间占总时间的1/16。只要每行的刷新速率大于50 Hz,利用人眼的视觉暂留效应,人们就可以看到一幅完整的文字或画面。
AT89S52单片机有四个I/O口(P0、P1、P2、P3),每个I/O口有8位,如果都采用并行输出,显然不能满足要求,因此,本设计中的行扫描驱动采用并口输出,而场扫描驱动采用串口输出。