收藏 分享(赏)

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

上传人:精品资料 文档编号:10867835 上传时间:2020-01-16 格式:DOC 页数:17 大小:200.50KB
下载 相关 举报
基于单片机的LED电子广告牌设计实现.doc_第1页
第1页 / 共17页
基于单片机的LED电子广告牌设计实现.doc_第2页
第2页 / 共17页
基于单片机的LED电子广告牌设计实现.doc_第3页
第3页 / 共17页
基于单片机的LED电子广告牌设计实现.doc_第4页
第4页 / 共17页
基于单片机的LED电子广告牌设计实现.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、I课 程 设 计 报 告设计名称 基于单片机的 LED 电子广告牌的设计和实现 学 校 陕西电子科技职业学院 学 院 电子工程学院 学生姓名 雷超凡 班 级 1507 指导教师 聂弘颖 时 间 2017 年 10 月 21 日 11 总括1.1 LED 点阵汉字显示系统由于单片机技术的不断发展和高亮度LED 发光管的出现,使得大屏幕高亮度电子广告屏成为可能。与传统的显示设备相比,LED显示设备具有明显的优势:LED 屏色彩丰富,显示方式变化多样、亮度高;LED 屏可以随意修改显示内容;LED 显示屏可用来与计算机屏幕同步。另外,它以其超大画面、超宽视觉、灵活多变的显示方式等独居一格的优势,广泛

2、应用于金融证券、银行利率、商业广告、文化娱乐等方面。LED电子显示屏是利用发光二极管构成的点阵模块或像素单元组成可变面积的显示屏幕,它具有高清晰度、色彩鲜艳、视角大、工作稳定、寿命长、功耗低等优点。由干采用单元模块化结构,屏体大小可按用户要求灵活拼制,它的超高亮度,使它在户内外显示中具有不可替代的作用。本文提供了一种成本低廉的汉字点阵 LED 显示方案,该方案采用常用的 5l 系列单片机和可以级联扩展的显示电路,可适用于许多需要汉字和图形显示的场合。本设计的LED 点阵显示系统采用字模提取软件,其显示和动态效果的实现主要依靠硬件扫描驱动,该方法方便,且易于实现。本文对点阵显示原理进行了深入的研

3、究,对单片杌控制系统及显示驱动屯路进行了分析。介绍了单片机控制程序的设计方法。设计和制作了基于 5 1 系列单片机控制系统的 641 6LED 点阵显示屏。该系统对 LED 显示屏的驱动采用动态扫描驱动方式,可以实现不同的动态显示效果。 22 LED 点阵汉字显示系统总体方案设计2.1 移位寄存器 74HC595 控制列(方案一)控制电路主要由单片机AT89C51、33矩阵键盘和片外RAM构成。结构框图如图2.1所示。80C51 的PL 口负责将显示数据发送给显示电路。P0口与P2 口负责于片外RAM 及内存通讯,即作数据线也作地址线。33矩阵键盘控制实现不同的显示方式、显示不同的点阵汉字、调

4、速。结构框图如图2.1所示图2.1 控制电路结构框图显示电路主要由两片译码器74LS138、8片行驱动4953(每片控制两行)、8片列驱动74HC595(每片控制八列)和16片1588共阳极二极管点阵模块(88)构成。这就决定了本LED显示屏是 1664点阵。本屏通过 33矩阵键盘左移、右移显示“通信学院电子信息工程” ,控制点阵汉字的暂停、开始。结构框图如图2.2输入 图2.2 显示电路控制结构框图单片机AT89C5133 矩阵键盘片外 RAM数据缓冲 输出行扫描控制电路行驱动 1664LED点阵列驱动列显示数据32.2 译码器 74HC154 控制列(方案二)该系统由AT89C52最小系统

5、、1664LED点阵显示屏、列驱动电路、行驱动电路、33矩阵键盘构成。AT89C52为主控芯片,显示屏由16块88LED共阳极连接组成,其列驱动电路由4块4-16线译码器74HC154构成,输出列选信号,行驱动电路由 2片74LS273构成。本屏通过33矩阵键盘左移、右移显示“通信学院电子信息工程” ,控制点阵汉字的暂停、开始。 ,控制显示系统框图如图2.3图 2.3 LED 点阵系统框图方案一、方案二均可实现 LED 点阵汉字的显示,均采用基于 KEIL C51 的编程,故都具有较好的移植功能,程序可读性强。模块化的设计使程序看起来更加简洁,可非常方便地任意修改所要显示的汉字。方案一用移位寄

6、存器 74HC595 控制列,易于扩展LED 点阵,但行驱动、列驱动所用芯片过多,PCB 版成本过高;方案二用 4-16 线译码器控制列,不易扩展 LED 点阵,但使用芯片较少,制作简单、方便,PCB 版成本较低。通过比较,方案二成本低、制作方便,故选择方案二实现 LED 点阵显示系统。AT89C51电源电路复位电路时钟电路行驱动列驱动33 矩阵控制键盘1664LED 点阵显示屏43 系统硬件电路设计3.1 芯片选择1)ATC89C51 单片机1.ATC89C51 系列单片机ATC89C51 是指 INTEL 公司于 1980 年推出的新一代 8 位单片机系列产品(8051) 。从严格意义上讲

7、,其他所有具有 8051 指令系统的单片机都不应直接称为 ATC89C51 系列单片机,ATMEL 只是 INTEL 公司专用的单片机系列符号。ATC89C51 系列单片机及其兼容产品通常分为以下几类:基本型:典型产品有 8031/8051/8751。基本型采用 HMOS 工艺,片内集成有 8位 CPU,片内驻留 4K8 位的 ROM(8031 片内无),128B 的数据存储器(RAM)以及21 个特殊功能寄存器,32 条 I/O 接口线,1 个全双工的串行 I/O 口(UART ),2 个 16 位的定时/计数器,5 个中断源和 2 级中断。数据存储器和程序存储器的寻址能力为128KB,指令

8、系统除加、减、乘、除运算外,还提供了查表和位操作指令,主时钟频率为 12MHZ,运算速度增强。增强型:典型产品有 8032/8052/8752。与基本型的差异在于内部 RAM 增到256B, 8052、8752 的内部程序存储器扩展到 8KB,16 位定时/ 计数器增至 3 个。低功耗型:典型产品有 80C31/87C51/80C51。其基本结构和功能与基本型相同。由于采用 CMOS 工艺,因此适于电池供电或其他低功耗的场合。专用型:典型产品有 8044/8744。在基本型的基础上用一个 HSLC/SDLC 通信控制器取代了基本型的 UART,适用于总线分布式多机测控系统。超 8 位型:典型产

9、品有 PHILIPS 公司的 80C552/87C552/83C552 系列单片机。其基本结构和功能与 ATC89C51 系列完全相同,但又将 ATC 系列(16 位单片机)I/O 部件如高速输入/输出(HIS/HSO) 、A/D 转换器、脉冲宽度调制(PWM) 、看门狗定时器(WDT)等移植进来构成新一代 ATC89C51 产品。这类产品的功能介于 ATC89C51 和MSC-96 之间,目前已得到了较广泛的适用。片内闪烁存储器:典型产品有 ATMEL 公司的 AT89C52 单片机。其内部含有FLASH 存储器,使得存储和程序改写更加方便,从而受到了应用设计者的欢迎。ATC89C51 系列

10、以及 80C51 系列单片机有多种类型,它们是具有 ATC89C51 内核的各种型号单片机的基础,也是各种增强型、扩展型等衍生品种的核心。53.2 LED 点阵汉字 PROTUES 仿真原理3.2.1 88LED 点阵构成 1616LED 点阵 从 PROTUES 元器件库中找出“MATRIX-8X8-RED”元器件,将 4 块该元器件放在文本文档区编辑窗口中。 然后行线连、列线分别相连,排列 LED 如图 3.5 所示图 3.5 排列 LED 进一步组合靠拢, 1616LED 点阵如图 3.6 所示图 3.6 1616LED 点阵 63.2.2 LED 点阵显示系统的 protues 仿真整

11、个电路主要由单片机控制及其接口电路、驱动显示电路、电源电路、33 矩阵键盘、1664LED 点阵等部分组成。PROTUES 仿真原理图如图 3.7 所示图 3.7 PROTUES 仿真原理图点阵的阴极驱动是由单片机的 P0 口经过 2 片输出缓存器 74LS237 向 1664LED 点阵输出字型码作为行驱动信号。点阵的阳极驱动由单片机 P0 口经过 1 片输出缓存器74LS237,再经过 4-16 线译码器 74HC154 译码后输出列选信号,对 1664LED 点阵进行列扫描,1 片 74HC154 控制 4 个 88LED,因此需要 4 片 74HC154,在进行汉字分批显示输出时采用逐

12、列扫描方式。LED 点阵显示系统由 LED 单片机 P1 口连接 33 矩阵键盘,通过键盘扫描控制LED 点阵显示屏汉字的左右移动方向、移动速度、不同汉字间的切换、暂停等。 1664LED 显示屏通过键盘控制左移显示汉字字符 “通信学院电子信息工程” 、 “祝天下有情人终成眷属” 、 “浮名本是身外物” ,右移显示“通信学院电子信息工程” 、 “不着分寸也风流” 、 “祝天下有情人终成眷属” 、 “世事如棋,乾坤莫测,笑尽英雄” 。这些汉字可通过建立数据表格的形式进行,通过 1616 点阵汉字字模提取软件,可提取各显示汉字的字模数据。通过列扫描方式把字符码传给 LED 点阵显示屏。某一时刻,只

13、有 L 行或 L 列发光二极管被对应的字模数据驱动点亮,但只要扫描间隔时间合适(一般7为数毫秒),利用人眼的视觉暂留特性,看上去整批字符就显示在 LED 点阵显示器上。3.2.3LED 点阵系统显示仿真结果(1) 右移显示“祝天下有情人终成眷属” ,仿真结果如图 3.1 所示图 3.1 右移显现“祝天下有情人终成眷属”(2) 左移显示“世事如棋,乾坤莫测,笑尽英雄!” ,仿真结果如图 3.2 所示8图 3.2 左移显示“世事如棋,乾坤莫测,笑尽英雄!”3.3 LED 点阵显示系统硬件电路设计3.3.1 单片机最小系统设计单片机 AT89C51 最小系统应该有电源,复位电路,时钟振荡电路。下面是

14、单片机最小系统时钟、复位电路简介:(1)时钟源电路单片机内部具有一个高增益反相放大器,用于构成振荡器。通常在引脚 XTALL和 XTAL2 跨接石英晶体和两个补偿电容构成自激振荡器,可以根据情况选择6MHZ、12MHZ或 24MHZ 等频率的石英晶体,补偿电容通常选择 30PF 左右的瓷片电容。(2)复位电路单片机小系统采用上电自动复位和手动按键复位两种方式实现系统的复位操作。上电复位要求接通电源后,自动实现复位操作。手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。本次采用手动按键复位。93.3.2 33 矩阵键盘把所有按键排列成行列矩阵形式的键盘,选用 P1 端

15、口中的 P1.4P1.6 为四根行线,P1.0P1.2 为四根列线,行线和列线的交叉处放置一按键,当健按下时行列线接通,构成一个 33 的矩阵键盘,可定义 9 个按键。80C51 的 I/O 口具有输出锁存和输入缓冲的功能,因而用它们组成键盘电路时,可以省掉输出锁存器和输入缓冲器。 该 LED 点阵显示系统的键盘由 ATC89C51 单片机本身的 P1 口来构成 33 矩阵式键盘。LED 点阵屏的 33 矩阵式控制键盘: S1、S4、S7:控制右移字体显示速度,S1 最快, S7 最慢;S3、S6、S9:控制左移字体显示速度,S3 最快, S9 最慢;S2:切换不同的左移显示汉字;S8:切换不

16、同的右移显示汉字;S5:暂停。 键盘扫描过程1).判断是否有键按下2).键盘消抖3).再次判断是否有键按下4).识别键码3.3.3 LED 点阵显示模块1664LED 点阵显示驱动点阵的阴极驱动是由单片机的 P0 口经过 2 片输出缓存器 74LS237 向1664LED 点阵输出字型码作为行驱动信号。点阵的阳极驱动由单片机 P0 口经过1 片输出缓存器 74LS237。104 软件程序设计4.1 LED 点阵系统主程序流程图 LED 点阵系统主程序流程图如图 4.1 所示 YN图 4.1 主程序流程图 4.2 LED 点阵系统主程序关键代码void main() while(1) uchar

17、 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();开始系统初始化键盘扫描有键按下吗? 点阵显示11break;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 33 的矩阵键盘扫描流程图矩阵键盘扫描程序如图 4.

18、2 所示 NYN开始有键按下=1?全行输出 1,全列读入列状态均为 0?置位有键按下散转程序段逐行处理程序段软件延时,跳出12|图 4.2 矩阵键盘扫描程序4.4 33 的矩阵键盘扫描程序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#include #define uchar unsigned char#define uint unsigned int#define hang0 XBYTE0X7FFF#define

19、hang1 XBYTE0XbFFF#define lie XBYTE0XDFFFuchar key=0,l=0,r=0;unsigned char key_code=0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10;uchar ksp03=0x76,0x75,0x73;uchar ksp13=0x37,0x57,0x67;void delay(uchar);uchar key_scan();void youyi();void zanting();void kaishi();void zuoyi();char code *tabler;char code

20、*tablel;/*字符码略*/*mian funcation*/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;br

21、eak; /键盘扫描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=ksp0i;if(P1!=ksp0i) break;15for(j=0;j=2;j+)P1=ksp1j;if(P1!=ksp1j) break;key=i*3+j+1;return(key);return(0);return(0);/*delay time funcation*/void delay(uchar c) uchar i;f

22、or(i=0;ic;i+);void zuoyi()uint b=0; /显示偏移控制,char 类型最多只能显示 14 个汉字+一个空白位字符uchar a=0; /控制移动间隔时间uchar i,j,k; /i:每个字的显示循环;j每个字的显示码除以2;k 每列刷新次数uchar m,n;m=key;if(m=7)n=2;else if(m=8)n=4;else if (m=9)n=5;else n=5;if(l=0)tablel=tablel1;else if(l=1)tablel=tablel2;else if(l=2)tablel=tablel3;else if(l=3)tablel

23、=tablel4;while(1)j=0;if(a=6) /移动间隔时间;取值 0-255 a=n;b+=2;key=0;key=key_scan();if(key!=0) return;/unsigned char n;if(b=448) /显示到最后一个字,回头显示,判断值=字数*32b=0;for(i=0;i64;i+)lie=i;/for(;jn;j-)/hang0=0x00; /清屏hang1=0x00;/hang0=0x00;/hang1=0x00;/ for(i=0;i64;i+)lie=i;for(k=0;k5;k+)hang0=tablelj+b;hang1=tablelj+

24、b+1;hang0=0x00; /清屏hang1=0x00;j+=2;a+;void youyi()uchar i,j,k; /i:16每个字的显示循环;j 每个字的显示码除以 2;k每列刷新次数uint b=448; /显示偏移控制,char 类型最多只能显示 14 个汉字+一个空白位字符uchar a;uchar m,n;m=key;if(m=1)n=2;else if(m=2)n=4;else if (m=3)n=5; /控制移动间隔时间else n=5;if(r=0)tabler=tabler1;else if(r=1)tabler=tabler2;else if(r=2)tabler

25、=tabler3;while(1)j=0;if(a=6) /移动间隔时间;取值 0-255a=n;b-=2;key=0; key=key_scan();if(key!=0) return;if(b=0) /显示到最后一个字,回头显示,判断值=字数 *32b=448;for(i=0;i64;i+) lie=i;hang0=0x00; /清屏hang1=0x00; for(i=0;i64;i+)lie=i;for(k=0;k5;k+)hang0=tablerj+b;hang1=tablerj+b+1;hang0=0x00; /清屏hang1=0x00;j+=2;a+; void zanting()while(1)key=0; key=key_scan();if(key!=0) return; void kaishi()

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报