基于单片机的LED电子广告牌设计实现Word下载.docx
《基于单片机的LED电子广告牌设计实现Word下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的LED电子广告牌设计实现Word下载.docx(21页珍藏版)》请在冰豆网上搜索。
LED电子显示屏是利用发光二极管构成的点阵模块或像素单元组成可变面积的显示屏幕,它具有高清晰度、色彩鲜艳、视角大、工作稳定、寿命长、功耗低等优点。
由干采用单元模块化结构,屏体大小可按用户要求灵活拼制,它的超高亮度,使它在户内外显示中具有不可替代的作用。
本文提供了一种成本低廉的汉字点阵LED显示方案,该方案采用常用的5l系列单片机和可以级联扩展的显示电路,可适用于许多需要汉字和图形显示的场合。
本设计的LED点阵显示系统采用字模提取软件,其显示和动态效果的实现主要依靠硬件扫描驱动,该方法方便,且易于实现。
本文对点阵显示原理进行了深入的研究,对单片杌控制系统及显示驱动屯路进行了分析。
介绍了单片机控制程序的设计方法。
设计和制作了基于51系列单片机控制系统的64×
16LED点阵显示屏。
该系统对LED显示屏的驱动采用动态扫描驱动方式,可以实现不同的动态显示效果。
2LED点阵汉字显示系统总体方案设计
2.1移位寄存器74HC595控制列(方案一)
控制电路主要由单片机AT89C51、3×
3矩阵键盘和片外RAM构成。
结构框图如图2.1所示。
80C51的Pl口负责将显示数据发送给显示电路。
P0口与P2口负责于片外RAM及内存通讯,即作数据线也作地址线。
3×
3矩阵键盘控制实现不同的显示方式、显示不同的点阵汉字、调速。
结构框图如图2.1所示
图2.1控制电路结构框图
显示电路主要由两片译码器74LS138、8片行驱动4953(每片控制两行)、8片列驱动74HC595(每片控制八列)和16片1588共阳极二极管点阵模块(8×
8)构成。
这就决定了本LED显示屏是16×
64点阵。
本屏通过3×
3矩阵键盘左移、右移显示“通信学院电子信息工程”,控制点阵汉字的暂停、开始。
结构框图如图2.2
输入
图2.2显示电路控制结构框图
2.2译码器74HC154控制列(方案二)
该系统由AT89C52最小系统、16×
64LED点阵显示屏、列驱动电路、行驱动电路、3×
3矩阵键盘构成。
AT89C52为主控芯片,显示屏由16块8×
8LED共阳极连接组成,其列驱动电路由4块4-16线译码器74HC154构成,输出列选信号,行驱动电路由2片74LS273构成。
,控制显示系统框图如图2.3
图2.3LED点阵系统框图
方案一、方案二均可实现LED点阵汉字的显示,均采用基于KEILC51的编程,故都具有较好的移植功能,程序可读性强。
模块化的设计使程序看起来更加简洁,可非常方便地任意修改所要显示的汉字。
方案一用移位寄存器74HC595控制列,易于扩展LED点阵,但行驱动、列驱动所用芯片过多,PCB版成本过高;
方案二用4-16线译码器控制列,不易扩展LED点阵,但使用芯片较少,制作简单、方便,PCB版成本较低。
通过比较,方案二成本低、制作方便,故选择方案二实现LED点阵显示系统。
3系统硬件电路设计
3.1芯片选择
1)ATC89C51单片机
1.ATC89C51系列单片机
ATC89C51是指Intel公司于1980年推出的新一代8位单片机系列产品(8051)。
从严格意义上讲,其他所有具有8051指令系统的单片机都不应直接称为ATC89C51系列单片机,ATMEL只是Intel公司专用的单片机系列符号。
ATC89C51系列单片机及其兼容产品通常分为以下几类:
⑴基本型:
典型产品有8031/8051/8751。
基本型采用HMOS工艺,片内集成有8位CPU,片内驻留4K×
8位的ROM(8031片内无),128B的数据存储器(RAM)以及21个特殊功能寄存器,32条I/O接口线,1个全双工的串行I/O口(UART),2个16位的定时/计数器,5个中断源和2级中断。
数据存储器和程序存储器的寻址能力为128KB,指令系统除加、减、乘、除运算外,还提供了查表和位操作指令,主时钟频率为12MHz,运算速度增强。
⑵增强型:
典型产品有8032/8052/8752。
与基本型的差异在于内部RAM增到256B,8052、8752的内部程序存储器扩展到8KB,16位定时/计数器增至3个。
⑶低功耗型:
典型产品有80C31/87C51/80C51。
其基本结构和功能与基本型相同。
由于采用CMOS工艺,因此适于电池供电或其他低功耗的场合。
⑷专用型:
典型产品有8044/8744。
在基本型的基础上用一个HSLC/SDLC通信控制器取代了基本型的UART,适用于总线分布式多机测控系统。
⑸超8位型:
典型产品有Philips公司的80C552/87C552/83C552系列单片机。
其基本结构和功能与ATC89C51系列完全相同,但又将ATC系列(16位单片机)I/O部件如高速输入/输出(HIS/HSO)、A/D转换器、脉冲宽度调制(PWM)、看门狗定时器(WDT)等移植进来构成新一代ATC89C51产品。
这类产品的功能介于ATC89C51和MSC-96之间,目前已得到了较广泛的适用。
⑹片内闪烁存储器:
典型产品有Atmel公司的AT89C52单片机。
其内部含有Flash存储器,使得存储和程序改写更加方便,从而受到了应用设计者的欢迎。
ATC89C51系列以及80C51系列单片机有多种类型,它们是具有ATC89C51内核的各种型号单片机的基础,也是各种增强型、扩展型等衍生品种的核心。
3.2LED点阵汉字PROTUES仿真原理
3.2.18×
8LED点阵构成16×
16LED点阵
⑴从PROTUES元器件库中找出“MATRIX-8X8-RED”元器件,将4块该元器件放在文本文档区编辑窗口中。
⑵然后行线连、列线分别相连,排列LED如图3.5所示
图3.5排列LED
⑶进一步组合靠拢,16×
16LED点阵如图3.6所示
图3.616×
16LED点阵
3.2.2LED点阵显示系统的protues仿真
整个电路主要由单片机控制及其接口电路、驱动显示电路、电源电路、3×
3矩阵键盘、16×
64LED点阵等部分组成。
Protues仿真原理图如图3.7所示
图3.7PROTUES仿真原理图
点阵的阴极驱动是由单片机的P0口经过2片输出缓存器74LS237向16×
64LED点阵输出字型码作为行驱动信号。
点阵的阳极驱动由单片机P0口经过1片输出缓存器74LS237,再经过4-16线译码器74HC154译码后输出列选信号,对16×
64LED点阵进行列扫描,1片74HC154控制4个8×
8LED,因此需要4片74HC154,在进行汉字分批显示输出时采用逐列扫描方式。
LED点阵显示系统由LED单片机P1口连接3×
3矩阵键盘,通过键盘扫描控制LED点阵显示屏汉字的左右移动方向、移动速度、不同汉字间的切换、暂停等。
16×
64LED显示屏通过键盘控制左移显示汉字字符“通信学院电子信息工程”、“祝天下有情人终成眷属”、“浮名本是身外物”,右移显示“通信学院电子信息工程”、“不着分寸也风流”、“祝天下有情人终成眷属”、“世事如棋,乾坤莫测,笑尽英雄”。
这些汉字可通过建立数据表格的形式进行,通过16×
16点阵汉字字模提取软件,可提取各显示汉字的字模数据。
通过列扫描方式把字符码传给LED点阵显示屏。
某一时刻,只有l行或l列发光二极管被对应的字模数据驱动点亮,但只要扫描间隔时间合适(一般为数毫秒),利用人眼的视觉暂留特性,看上去整批字符就显示在LED点阵显示器上。
3.2.3LED点阵系统显示仿真结果
(1)右移显示“祝天下有情人终成眷属”,仿真结果如图3.1所示
图3.1右移显现“祝天下有情人终成眷属”
(2)左移显示“世事如棋,乾坤莫测,笑尽英雄!
”,仿真结果如图3.2所示
图3.2左移显示“世事如棋,乾坤莫测,笑尽英雄!
”
3.3LED点阵显示系统硬件电路设计
3.3.1单片机最小系统设计
单片机AT89C51最小系统应该有电源,复位电路,时钟振荡电路。
下面是单片机最小系统时钟、复位电路简介:
(1)时钟源电路
单片机内部具有一个高增益反相放大器,用于构成振荡器。
通常在引脚XTALl和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,可以根据情况选择6MHz、12MHz
或24MHz等频率的石英晶体,补偿电容通常选择30pF左右的瓷片电容。
(2)复位电路
单片机小系统采用上电自动复位和手动按键复位两种方式实现系统的复位操作。
上电复位要求接通电源后,自动实现复位操作。
手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。
本次采用手动按键复位。
3.3.23×
3矩阵键盘
把所有按键排列成行列矩阵形式的键盘,选用P1端口中的P1.4~P1.6为四根行线,P1.0~P1.2为四根列线,行线和列线的交叉处放置一按键,当健按下时行列线接通,构成一个3×
3的矩阵键盘,可定义9个按键。
80C51的I/O口具有输出锁存和输入缓冲的功能,因而用它们组成键盘电路时,可以省掉输出锁存器和输入缓冲器。
⑴该LED点阵显示系统的键盘由ATC89C51单片机本身的P1口来构成3×
3矩阵式键盘。
LED点阵屏的3×
3矩阵式控制键盘:
S1、S4、S7:
控制右移字体显示速度,S1最快,S7最慢;
S3、S6、S9:
控制左移字体显示速度,S3最快,S9最慢;
S2:
切换不同的左移显示汉字;
S8:
切换不同的右移显示汉字;
S5:
暂停。
⑵键盘扫描过程
1).判断是否有键按下
2).键盘消抖
3).再次判断是否有键按下
4).识别键码
3.3.3LED点阵显示模块
16×
64LED点阵显示驱动
点阵的阳极驱动由单片机P0口经过1片输出缓存器74LS237。
4软件程序设计
4.1LED点阵系统主程序流程图
LED点阵系统主程序流程图如图4.1所示
Y
N
图4.1主程序流程图
4.2LED点阵系统主程序关键代码
voidmain()
{
while
(1)
{
uchars=1;
while(s)
{P1=0x70;
if(P1!
=0x70)
{s=0;
key=key_scan();
}
}
while(!
s)
if(P1==0x70)s=1;
switch(key)
{
case1:
case2:
case3:
youyi();
b