本文设计一种显示M行N列汉字的LED显示屏控制系统,以51单片机为控制器,可显示汉字、字符、数字和图片。用PC机编辑汉字、字符等显示信息,并转换为相应的点阵显示数据,送给单片机存储并显示。
1 系统组成
本LED显示系统主要由控制系统和显示屏组成,控制系统主要由单片机、串行通信电路、存储器、显示屏及行列驱动电路组成,显示屏由M行N列组成,每行和每列由16个LED组成,整个显示屏由(M×16)×(N×16)个LED组成。显示屏系统组成框图如图1所示。
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’为串行数据输出端,用于级联;为移位寄存器清零端,低电平时将移位寄存器的数据清零;SH_CP为移位寄存器时钟输入端,上升沿时移位寄存器的数据移位,下降沿时移位寄存器数据不变;ST_CP为存储寄存器时钟输入端,上升沿时移位寄存器的数据进入存储寄存器,下降沿时存储寄存器数据不变;为输出使能端,低电平时允许数据输出,高电平时禁止数据输出。
ULN2803为高电压、大电流的8路达林顿驱动器,最大工作电压50 V,驱动电流可达500 mA,作为显示屏的行驱动电路。ULN2803芯片各引脚功能为:1B~8B为8路输入端,TTL电平驱动;1C~8C为对应的8路集电极开路输出端,外接负载;10脚为COM端,当外接电阻性负载时COM端开路,当外接电感性负载时COM端接负载电源,构成在每个感性负载两端并联一个续流二极管以防止反电势击穿器件。 各行字符的16行LED分别并联,这样当进行行扫描时,各行字符对应的LED行同时扫描、同时点亮,设LED显示屏有M行字符,这样比分别对每行字符16行LED逐行进行扫描快M倍,实现了高速显示控制。行驱动电路如图2所示。由于51单片机的P0口为漏极开路输出,ULN2803为集电极开路输出,所以均需外接上拉电阻。
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.4 点阵显示数据存储电路
要显示的汉字和字符信息在PC机上编辑并转换为点阵显示数据后,经串口传输给单片机,由单片机存储在存储器中。本存储器采用I2C总线接口串行E2PROM存储器AT24C1024,其容量为128 KB,一个16×16点阵汉字为32 B,可存储4K个汉字。通过一根数据线(SDA)和一根时钟线(SCL)与单片机相连,其接口电路如图5所示。
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所示。
5 结语
本文设计的大屏幕LED显示屏控制系统以AT89S51单片机为控制器,以I2C总线接口串行E2PROM AT24C1024为点阵显示数据存储器,通过串行口将PC机编辑并转换得到的显示信息点阵数据传输给单片机,可实现M行N列汉字、字符、数字及图表的显示,并可随时更新显示内容。扩展容易,如屏幕每行需增加一个字符显示,则在LED显示屏每行增加一个16×16 LED点阵模块,对应在每行字符的列驱动电路增加2块74HC 595即可;如屏幕需增加一行字符显示,则在LED显示屏增加一行N个16×16 LED点阵模块,对应增加一行字符的列驱动电路2×N块74HC595即可。控制灵活,使用方便,可实现上下、左右移动等显示方式。经实际应用表明,该系统稳定可靠,效果良好。
上一篇:用墙上电源开关实现LED灯泡/灯管无级调光
下一篇:经典LED照明解决方案比较
推荐阅读最新更新时间:2023-10-17 15:14
Vishay线上图书馆
- 选型-汽车级表面贴装和通孔超快整流器
- 你知道吗?DC-LINK电容在高湿条件下具有高度稳定性
- microBUCK和microBRICK直流/直流稳压器解决方案
- SOP-4小型封装光伏MOSFET驱动器VOMDA1271
- 使用薄膜、大功率、背接触式电阻的优势
- SQJQ140E车规级N沟道40V MOSFET