当前位置:文档之家› 基于单片机的LED电子广告牌设计实现

基于单片机的LED电子广告牌设计实现

课程设计报告设计名称基于单片机的LED电子广告牌的设计和实现学校陕西电子科技职业学院学院电子工程学院学生姓名雷超凡班级1507指导教师聂弘颖时间2017年10月21日1 总括1.1 LED点阵汉字显示系统由于单片机技术的不断发展和高亮度LED 发光管的出现,使得大屏幕高亮度电子广告屏成为可能。

与传统的显示设备相比,LED显示设备具有明显的优势:LED 屏色彩丰富,显示方式变化多样、亮度高;LED 屏可以随意修改显示内容;LED 显示屏可用来与计算机屏幕同步。

另外,它以其超大画面、超宽视觉、灵活多变的显示方式等独居一格的优势,广泛应用于金融证券、银行利率、商业广告、文化娱乐等方面。

LED电子显示屏是利用发光二极管构成的点阵模块或像素单元组成可变面积的显示屏幕,它具有高清晰度、色彩鲜艳、视角大、工作稳定、寿命长、功耗低等优点。

由干采用单元模块化结构,屏体大小可按用户要求灵活拼制,它的超高亮度,使它在户内外显示中具有不可替代的作用。

本文提供了一种成本低廉的汉字点阵LED显示方案,该方案采用常用的5l系列单片机和可以级联扩展的显示电路,可适用于许多需要汉字和图形显示的场合。

本设计的LED点阵显示系统采用字模提取软件,其显示和动态效果的实现主要依靠硬件扫描驱动,该方法方便,且易于实现。

本文对点阵显示原理进行了深入的研究,对单片杌控制系统及显示驱动屯路进行了分析。

介绍了单片机控制程序的设计方法。

设计和制作了基于5 1系列单片机控制系统的64×1 6LED点阵显示屏。

该系统对LED显示屏的驱动采用动态扫描驱动方式,可以实现不同的动态显示效果。

2 LED 点阵汉字显示系统总体方案设计2.1移位寄存器74HC595控制列(方案一)控制电路主要由单片机AT89C51、3×3矩阵键盘和片外RAM 构成。

结构框图如图2.1所示。

80C51的PL 口负责将显示数据发送给显示电路。

P0口与P2口负责于片外RAM 及内存通讯,图2.1 控制电路结构框图显示电路主要由两片译码器74LS138、8片行驱动4953(每片控制两行)、8片列驱动74HC595(LED输入图2.2 显示电路控制结构框图2.2译码器74HC154控制列(方案二)该系统由AT89C52最小系统、16×64LED点阵显示屏、列驱动电路、行驱动电路、3×3矩阵键盘构成。

AT89C52为主控芯片,显示屏由16块8×8LED共阳极连接组成,其列驱动电路由4块4-16线译码器74HC154构成,输出列选信号,行驱动电路由2片74LS273构成。

本屏通过3×3矩阵键盘左移、右移显示“通信学院电子信息工程”,控制点阵汉字的暂停、开始。

,控制显示系统框图如图2.3图2.3 LED点阵系统框图方案一、方案二均可实现LED点阵汉字的显示,均采用基于KEIL C51的编程,故都具有较好的移植功能,程序可读性强。

模块化的设计使程序看起来更加简洁,可非常方便地任意修改所要显示的汉字。

方案一用移位寄存器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.2 LED点阵汉字PROTUES仿真原理3.2.1 8×8LED点阵构成16×16LED点阵⑴从PROTUES元器件库中找出“MATRIX-8X8-RED”元器件,将4块该元器件放在文本文档区编辑窗口中。

⑵然后行线连、列线分别相连,排列LED如图3.5所示图3.5 排列LED⑶进一步组合靠拢,16×16LED点阵如图3.6所示图3.6 16×16LED点阵3.2.2 LED点阵显示系统的protues仿真整个电路主要由单片机控制及其接口电路、驱动显示电路、电源电路、3×3矩阵键盘、16×64LED点阵等部分组成。

PROTUES仿真原理图如图3.7所示图3.7 PROTUES仿真原理图点阵的阴极驱动是由单片机的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.3 LED点阵显示系统硬件电路设计3.3.1 单片机最小系统设计单片机AT89C51最小系统应该有电源,复位电路,时钟振荡电路。

下面是单片机最小系统时钟、复位电路简介:(1)时钟源电路单片机内部具有一个高增益反相放大器,用于构成振荡器。

通常在引脚XTALL和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,可以根据情况选择6MHZ、12MHZ或24MHZ等频率的石英晶体,补偿电容通常选择30PF左右的瓷片电容。

(2)复位电路单片机小系统采用上电自动复位和手动按键复位两种方式实现系统的复位操作。

上电复位要求接通电源后,自动实现复位操作。

手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。

本次采用手动按键复位。

3.3.2 3×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.3 LED点阵显示模块16×64LED点阵显示驱动点阵的阴极驱动是由单片机的P0口经过2片输出缓存器74LS237向16×64LED 点阵输出字型码作为行驱动信号。

点阵的阳极驱动由单片机P0口经过1片输出缓存器74LS237。

4 软件程序设计4.1 LED点阵系统主程序流程图LED点阵系统主程序流程图如图4.1所示N图4.1 主程序流程图4.2 LED点阵系统主程序关键代码void main(){while(1){uchar s=1;while(s){P1=0x70;if(P1!=0x70){s=0;key=key_scan();}}while(!s){P1=0x70;if(P1==0x70) s=1;}switch(key){case 1:case 2:case 3:youyi();break;case 9:case 8:case 7:zuoyi();break;case 4:r++;if(r==3)r=0;break;case 5:zanting();break;case 6:l++;if(l==4)l=0;break;}}}4.3 3×3的矩阵键盘扫描流程图矩阵键盘扫描程序如图4.2所示|图4.2 矩阵键盘扫描程序4.4 3×3的矩阵键盘扫描程序unsigned char key_scan() {unsigned char i,j,key;P1=0x70;while(P1!=0x70){delay(10);P1=0x70;while(P1!=0x70){for(i=0;i<=2;i++){P1=ksp0[i];if(P1!=ksp0[i]) break;}for(j=0;j<=2;j++){P1=ksp1[j];if(P1!=ksp1[j]) break;}key=i*3+j+1;return(key);}return(0);}return(0);}总结经过了两个多月的查阅资料、学习和实践,终于完成了《LED点阵广告牌的设计》的设计。

相关主题