………
………………………………………………………………………………………
(35)
LED显示屏及其扫描电路的硬件及
软件实现 (1.重庆邮电学院 400065 2. 南昌大学信息工程学院 330029)周小平1,2 何 丰1 曾平平2 黄 涛2
摘 要 利用AT89C52单片机控制LED显示屏的工作原理及电硬件电路及软件设计。文章对串入并锁存驱动器74HC595,串口通信SN75LB184芯片、软件结构的实现做了介绍,最后简单介绍了系统的干扰问题。
关键词 LED AT89C52 扫描驱动电路
The Implementing of the Hardware and Software of LED
Display Screen and Scan Circuit
Zhou Xiaoping He Feng Zeng Pingping Huang Tao
Abstract Through A T89C52, the hardware and software of LED display screen and scan circuit are devised. There have introduced 74HC595 and SN75LB184 chip,and analyzed. The implementing of software structure.In the end , systemic interfere issue is introduced simply.
Key words LED AT89C52 scan drive circuit
1 引言
图文显示屏可分为屏体和控制器[1],屏体的主要部分是显示点阵,还有行驱动电路或者其它电路(可根据需要和印刷电路板而定)。显示点阵采用8*8单色成双色拼接而成。一块由M行N列组成的M*N图文显示屏其LED发光器件数量非常大,不好使用静态驱动电路,而采用动态扫描驱动电路。扫描驱动电路采用多行同名列共用一套驱动器。行驱动器一行的行线连接到电源一端,列驱动器一列的列线连接到电源一端。控制电路负责有序的选通各行,选通一行之前还要把该行该列的数据准备好,一旦该行选通,这一行的LED发光器件就可以根据列的数据显示。
中文LED显示屏控制电路采用单片机方案,控制功能的实现在硬件和软件两方面折衷,单片机及其相应的软件主要负责储存显示数据,安排控制信号的定时与顺序,与PC机进行通信等。由于单片机的I/O端口数量少,驱动能不强必须扩展一定的硬件电路,才能满足显示屏的需要。硬件电路大体可分为单片机硬件电路、显示驱动电路、控制信号电路三部分,如图1所示。
图1 系统功能图
2 单片机硬件电路主控模块
由于设计要求系统能独立运行,并能控制中文LED汉字显示方式,主控模块应与单片机为核心的一个单片机最小系统。由于MCS-51单片机具有扩展功
…………综
述
与
评
论…
…………………………………………………………………………………………
…………
………
………………………………………………………………………………………
(37)
SRCLK是移位寄存器的移位时钟脉冲,再上升沿发生移位时钟脉冲,再上升沿发生移位并将SER的下一个数据打入最低位。移位后的各位信号出现在移位寄存器的输出端,也就是输出锁存器的输入端。
RCLK是输出锁存器的移位时钟脉冲,在其上升沿将移位寄存器的输出数据打入输出锁存器。
E*是输出三态门的开放信号,只要当其为低时移位寄存器的输出才开放,否则成高阻态。
SRCLK*信号是移位寄存器的清零输入端,当其为低时移位寄存器输出全部为0。由于SRCLK和RCLK两个信号是相互独立的,所以能够做到输入串行移位与输出锁存互不干扰。
芯片的输出端为Q
0 ̄Q
7
,最高位Q
7
可作为多片
74HC595级联应用时间上一级的级联输出。但Q
7
受输
出锁存器打入控制,所以还从输出锁存器前引出了Q
7
*作为与移位寄存器完全同步的级联输出。由74HC595组成的列驱动器如图4,有16片74HC595组成128列的驱动,由16个行驱动器驱动16行,第一片驱动器的SER
端连接单片机输出的串行列显示数据,其Q
7
*端连接一片的SER端,各片都采用同样的方法组成16片的级联。各片相应的SRCLK、SRCLR、RCLR端分别并联,作为统一的串行数据移位信号,串行数据清除信号和输出锁存器打入信号。这样的结构使得各片串行移位能把128列的显示数据一次输入到相应的移位寄存器输出端。移位结束后控制器引出打入信号,128列数据一起打入相应的移位寄存器,然后选通相应行,该行的各列按照显示数据要求进行显示驱动电路。
行选通信号来源于单片机按照时序要求所给的二进制行号,为一行显示时间保持行号的稳定,行号需要经寄存器寄存。开始扫描新的一行时,由单片机PI口输出4bit二进制信号,并发出寄存器的打入信号行号经两片74HC138组成4/16译码器译码后,生成16条行选通信号线,在经过驱动器74HC245驱动对应的行。采用译码器方案,可以保证同一时刻只选通一条行线,从而达到显示的稳定性。
4 软件设计
根据系统设计要求监控软件的大小应该不超过8kB,所以采用了ATME89C52单片机单片机内部集成了8kB的电可擦出E2PROM程序储存器,并且采用FLASH介质的28F256作为外部扩展32kB的字符数据储存器,可实现数据掉电保护。程序软件采用C语言编写,软件部分大体可分为单片机中文LED汉字显示编码程序;显示驱动程序;控制程序;初始化系数、程序储存器ROM和数据缓冲区分配四部分。单片机及其相应的软件主要负责储存显示数据,安排控制信号的定时与顺序,与PC机进行通信。由于单片机组成的系统对中文汉字字符存储容量有限,并只能固化在ROM中,不便于信息的更新,为了方便使用在各种场合,设计了与上位PC机通信接口模块。由于系统对通信无实时性要求,因而利用RS-485串行通信。扫描驱动电路采用多行同名列共用一套驱动器,进行实时准确驱动。控制电路负责有序的选通各行,选通一行之前还要把该行该列的数据准备好,一旦该行选通,这一行的LED发光器件就可以根据列的数据显示。对失控的CPU,最简单的方法是使其复位,程序自动从0000H开始执行。
在实际应用中发现,算法程序计算量大,编码延时过长,因此需要在保证质量的前提下对算法进行优化。优化过程从两个方面来考虑。
(1)在满足精度要求下,进一步将算法简化。部分原算法,提出了粗化搜索范围来降低计算量。
(2)对高级语言程序代码的优化。提出用混合汇编、去除嵌套循环等方法进行代码优化 ,提高了代码效率。5 结束语
在一个单片机应用系统中,干扰的因素有很多种。干扰既可以从线路入侵系统,也可以以场形式从空间入侵。例如系统的接地不良,附近有电火花的电磁辐射、电网的污染等。任何一种干扰都可以使系统工作失常,尤其是比较恶劣的现场,这样的可能性更大;因此一个单片机系统不能忽略这种干扰的存在,
图4 行列驱动扫描电路图
…………综
述
与
评
论…
…………………………………………………………………………………………
…………