2 控制电路设计
本控制电路以AT89S51单片机为控制器,显示M行N列字符,每个字符由1个16×16 LED点阵模块显示,显示屏共由M×N个16×16 LED点阵模块组成。行驱动电路由2块74HC595级联和2块ULN2803组成,每行字符的LED点阵模块列驱动电路由2×N块74HC595级联组成,M行共M×2×N块74HC595。各行字符的16行LED分别并联,由P0.1串行输出行扫描码,经2块级联74HC595串/并转换,再由ULN2803驱动放大后,送到各行字符的16×16LED点阵模块的行线端。各行字符的LED点阵模块列驱动电路分别由2×N块74HC595级联组成,独立控制,各行LED点阵模块的列数据由P0.6,P0.7,…分别输出,经级联的2×N块74HC595完成串/并转换,待各行字符对应的LED点阵模块列数据存入74HC595后,把所有列驱动电路M×2×N块74HC595的输出使能端置为低电平,则各行字符的2×N×16列数据一起输出,显示屏显示各行字符的16行中的某一行。依次扫描各行字符的16行的每一行,实现整屏字符的显示功能。显示字符由上位PC机编辑并转换为点阵数据,经串口串行发送至单片机,由单片机接收后存储在存储器中并显示。
2.1 行驱动电路
使用2块74HC595和2块ULN2803作为行驱动器。74HC595是一个8位串行输入三态并行输出移位寄存器,其内部的移位寄存器和存储寄存器分别有各自的时钟输入,控制各自独立,这样数据的准备和数据的显示可同时进行,2块74HC595串行级联。74HC595芯片各引脚功能为:DS为串行数据输入端,Q0…Q7为并行数据输出端,Q7’为串行数据输出端,用于级联;
2.2 列驱动电路
使用74HC595作为列驱动电路,每个字符用2块74HC595驱动,设LED显示屏有M行N列字符,则每行字符需2×N块74HC595,M行共需M×2× N块74HC595,本设计显示屏以显示2行4列字符为例,每行用8块74HC595,2行共16块74HC595。扩展时,如每行需增加1个字符显示,则每行再级联2块74HC595,如需增加1行字符显示,则增加2×N块74HC595级联电路。每行字符的列驱动是独立的,即每行字符的2×N块74HC595级联,分别由单片机的一个I/O引脚输出该行字符的点阵显示数据,这样在行驱动电路的配合下实现了各行字符对应的LED行同时显示,显示控制速度提高了M倍。每行字符的点阵显示数据通过模拟串口P0.3~P0.5及P0.6或P0.7…串行输出给移位寄存器74HC595,经串/并转换后由74H C595并行输出至LED显示屏的各列。2行4列字符显示列驱动电路如图3所示。
2.3 PC机与单片机串行通信电路
采用MAX232完成RS 232电平与TTL电平的转换,实现PC机与单片机信息交换。如传输距离较远,可在两者之间增加RS 232-RS 485转换器,传输距离可达1 000 m以上。串行通信电路如图4所示。
2.5 显示屏电路
本设计显示屏以显示2行4列字符为例,每个字符由1个16×16 LED点阵模块显示,每行由4个16×16LED点阵模块组成,共8个16×16 LED点阵模块。扩展时,如每行需增加1个字符显示,则每行增加1个16×16 LED点阵模块;如需增加1行字符显示,则增加1行N个16×16 LED点阵模块;并与扩展的列驱动相应电路连接。2行4列字符显示屏如图6所示。
3 程序设计
整个系统程序主要由显示程序和通信程序组成。显示程序采用动态扫描方式,实现汉字、字符、数字、图像等信息的控制及显示功能。显示程序设计方法:
(1)从P0.1输出行扫描信号;
(2)从P0.6串行输出第1行汉字16行LED中某行点阵数据,从P0.7串行输出第2行汉字16行LED中某行点阵数据,从P0.3输出移位脉冲,从P0.4输出锁存脉冲,点阵数据串行输入74HC595,并经串/并转换后的并行数据锁存于74HC595中;
(3)从P0.5输出列数据输出使能信号,显示字符的点阵数据并行输出到显示屏各行字符16×16 LED点阵模块的2×N×16列,形成列驱动信号,与行扫描信号一起点亮各行字符相应LED行的有关LED;
(4)延时1~2 ms,此时间受闪烁频率的限制,不能太大,应保证扫描1行字符所有16行LED(即一帧数据)所用时间之和在40 ms以内;
(5)重复上述操作,输出各行字符的下一行LED点阵数据,直到所有16行LED全部扫描显示一次,即完成一帧数据的显示;
(6)重新扫描显示各行字符的第1行LED,开始下一帧数据的扫描显示,如此不断地循环,即可完成相应的画面显示;
(7)要更新画面时,只须将新画面的点阵数据由PC机串口送到单片机存储在存储器中即可;
(8)可实现上下、左右移动等多种显示方式。
通信程序中的上位机软件采用VB或VC编程,利用通信控件MSComm通过串口发送和接收数据,实现PC机与单片机间的串行通信。MSComm控件屏蔽了大部分串行通信的底层操作,使用非常方便,而且在VB,VC,Delphi等中均可使用。
4 系统仿真
用Proteus软件绘制出大屏幕LED显示屏控制电路原理图,将系统控制程序目标代码文件加入到单片机中,电路仿真运行,运行结果如图7所示。
<="" div="">
联系客服