LED点阵广告牌概述.docx

上传人:b****6 文档编号:4956677 上传时间:2022-12-12 格式:DOCX 页数:26 大小:350.91KB
下载 相关 举报
LED点阵广告牌概述.docx_第1页
第1页 / 共26页
LED点阵广告牌概述.docx_第2页
第2页 / 共26页
LED点阵广告牌概述.docx_第3页
第3页 / 共26页
LED点阵广告牌概述.docx_第4页
第4页 / 共26页
LED点阵广告牌概述.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

LED点阵广告牌概述.docx

《LED点阵广告牌概述.docx》由会员分享,可在线阅读,更多相关《LED点阵广告牌概述.docx(26页珍藏版)》请在冰豆网上搜索。

LED点阵广告牌概述.docx

LED点阵广告牌概述

目录

1引言1

1.1设计意义1

1.2系统功能要求2

2方案设计3

2.1本设计采取的方案3

2.2总体设计3

2.3工作原理4

3硬件设计4

3.1AT89C52芯片的介绍4

3.274LS154芯片的介绍5

3.3点阵式汉字LED显示屏设计7

4软件设计10

5系统调试12

5.1PROTEUS简介13

5.2KEIL简介13

5.3仿真效果14

6个人小结15

7参考文献16

8附录A:

源程序17

9附录B;电路原理总图28

LED点阵广告牌的设计

1引言

1.1设计意义

在现代化和信息化社会的高速发展过程中,最具意义的莫过于LED大屏幕点阵显示已经渗透到各行各业的信息显示中。

随着宽带网络的快速发展,数字化的多媒体内容将在信息世界中占据主流,新型的大屏幕显示设备将代替传统电视机成为人们享受信息和多媒体内容的中心。

与传统的显示设备相比,正是这种未来的巨大需求让LED大屏幕点阵显示技术成为众人目光的焦点。

在各大商场、车站以及各类办事窗口甚至在我们学校校门口、食堂门口和移动营业厅门口都装了LED点阵显示屏来发布一些通知或广告。

随着信息产业的高速发展,LED点阵显示作为信息传播的一种重要手段,已成为一个飞速发展的新兴产业,市场空间巨大,发展前景广阔,并已广泛应用于各种需要进行信息宣传的公众场所,例如各大商场里的广告宣传、火车站为旅客提供售票信息显示、公交车辆报站显示、证券与银行信息显示、交通信号灯的亮灭等。

因此,LED点阵显示已成为现代化和信息化社会的一个重要标志。

LED点阵设计主要应用于LED点阵显示屏,它是利用发光二极管点阵模块组成的平面式显示屏幕。

由于它具有发光效率高、使用寿命长、节能、组态灵活、色彩丰富、显示方式变化多样以及无电离辐射等优点,在国内外得到了极为广泛的应用。

LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性、可靠性、全色化方向发展。

现代信息社会中,作为人一机信息视觉传播媒体的显示产品和技术得到迅速发展,进入二十一世纪的显示技术将是平板显示的时代,LED显示屏作为平板显示的主导产品之一无疑会有更大的发展。

高亮度、全彩化蓝色及纯绿色LED产品自出现以来,成本逐年快速降低,已具备成熟的商业化条件。

基础材料的产业化。

使LED全彩色显示产品成本下降,应用加快。

LED产品性能的提高,使全彩色显示屏的亮度、色彩、白平衡均达到比较理想的效果,完全可以满足户外全天候的环境条件要求,同时,由于全彩色显示屏性价比的优势,预计在未来几年的发展中,全彩色LED显示屏在户外广告媒体中会越来越多地代替传统的灯箱、霓红灯、磁翻板等产品,体育场馆的显示方面全彩色LED屏更会成为主流产品。

全彩色LED显示屏的广泛应用会是LED显示屏产业发展的一个新的增长点。

未来LED显示屏会向着标准化、规范化,产品结构多样化的方向发展[2]。

该设计课题使我们能够掌握LED显示屏的基本显示原理和设计方法,对LED显示屏这个行业能有更为深刻的了解和认识。

并且对本学期所学习的单片机课程理论进行了实践,使我们对单片机原理与应用课程的理论知识有了新的更深的认识,并且通过此次设计课题掌握了51单片机的的软硬件开发工具的使用方法,为以后从事相关行业的工作积累了实际工作经验。

目前我国的信息行业发展迅速,作为主要平面显示媒介的LED显示屏的作用也越来越广泛,相关的从业人员也会越来越紧缺。

但同时应该清楚的认识到我国的LED技术虽然发展迅速但和世界先进水平还有一定的差距。

因此此课题不论是对自己的就业还是对我国LED显示技术的发展都有非常现实与积极的意义。

1.2系统功能要求

本设计的理论基础是单片机原理与应用,模电和数电。

比如AT89C51芯片的一些工作原理是在MCS—51的基础上通过改进完成的。

74LS154的工作原理数电里也学习过。

设计一款能够显示不同字符的LED点阵广告牌;不同的字符切换效果(如闪烁,静止,平移等);设计控制按钮,可以在不同的效果间切换;本设计完成了16*16LED点阵动态显示两个以上汉字,并可以利用按键控制其左右移动。

主要硬件设备:

AT89C52单片机、16*16点阵模块4个等

通过本设计不仅可以复习之前学过的知识,而且可以通过查阅课外资料学到书本上没有的知识,还锻炼了我们的动手能力。

通过这次课程设计把我们在学校学习的理论知识和实际应用有机地结合起来,把理论跟实践相结合,培养了我们的专研精神。

2方案设计

2.1本设计采取的方案

(1)根据实验指导书的要求确定系统应该具有的功能

(2)按照系统功能将系统分模块组合起来

(3)根据系统功能与结构编写实验程序,并通过keil软件进行编译并找出程序中的错误,改正这些错误

(4)确定所需的元器件,然后利用proteus软件画出系统电路图并进行仿真

(5)仿真成功后根据仿真图制作实际硬件图

(6)最终能在LED电路板上显示实验指导书上所要求的汉字显示形式。

2.2总体设计

由上述工作原理,我们画出了该系统的总体框图见图2-1

 

2.1系统总体框图

2.3工作原理

利用AT89C52单片机进行LED点阵显示屏的设计与制作是利用单片机控制技术,编写程序,通过程序控制LED的显示,显示所要显示的内容与形式。

技术线路为通过程序控制AT89C52芯片输出高低电平,高低电平控制分别控制LED的亮和灭,最终达到所要显示的内容。

在显示电路中,主要靠按键来实现各种显示形式的切换。

我们将LED点阵的16条行线直接接在P0口和P2口,至于列选扫描信号则是由4-16线译码器74LS154来选择控制,这样一来列选控制只使用了单片机的4个I/O口,节约了很多I/O资源,为单片机系统扩充使用功能提供了条件。

考虑到P0口必需设置上拉电阻,我们采用1kΩ排电阻作为上拉电阻。

3硬件设计

本设计采用以AT89C52单片机为核心芯片的电路来实现,主要由AT89C52芯片、时钟电路、列扫描驱动电路(74LS154)、16*16LED点阵5部分组成。

3.1AT89C52芯片的介绍

因为在程序中,所使用的内部存储器的空间较大,对于51系列单片机,高128B被特殊功能寄存器占用,对于52系列单片机,高128B与特殊功能寄存器有相同的地址,而物理上是分开的,故使用了AT891C52芯片。

AT89C52是一种带8kB闪烁可编程可擦除只读存储器(FalshProgrammableandErasableReadOnlyMemory,FPEROM)的低电压、高性能CMOS型8位微处理器,俗称单片机。

该器件采用ATMEL公司高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1000次写/擦循环,数据保留时间为10年。

它是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

因此,在智能化电子设计与制作过程中经常用到AT89C52芯片。

AT89C52是一个低功耗高性能的单片机,共有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器和1个全双工串行通信口,AT89C52可以按照常规方法进行编程,也可以在线编程。

其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

3.274LS154芯片的介绍

(1)54/74154为4线-16线译码器,当选通端(G1、G2)均为低电平时,可将地址端(ABCD)的二进制编码在一个对应的输出端,以低电平译出。

如果将G1和G2中的一个作为数据输入端,由ABCD对输出寻址,74LS154还可作1线-16线数据分配器,见图3-1。

 

图3-174LS154芯片

(2)引脚功能介绍

A、B、C、D译码地址输入端(低电平有效)

G1、G2选通端(低电平有效)

0-15输出端(低电平有效)

(3)74LS154真值表,见表3-1

表3-174LS154真值表

Inputs输入

Outputs输出

G1

G2

D

C

B

A

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

L

L

L

L

L

L

L

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

L

L

L

L

L

H

H

L

H

H

H

H

H

H

H

H

H

H

H

H

H

H

L

L

L

L

H

L

H

H

L

H

H

H

H

H

H

H

H

H

H

H

H

H

L

L

L

L

H

H

H

H

H

L

H

H

H

H

H

H

H

H

H

H

H

H

L

L

L

H

L

L

H

H

H

H

L

H

H

H

H

H

H

H

H

H

H

H

L

L

L

H

L

H

H

H

H

H

H

L

H

H

H

H

H

H

H

H

H

H

L

L

L

H

H

L

H

H

H

H

H

H

L

H

H

H

H

H

H

H

H

H

L

L

L

H

H

H

H

H

H

H

H

H

H

L

H

H

H

H

H

H

H

H

L

L

H

L

L

L

H

H

H

H

H

H

H

H

L

H

H

H

H

H

H

H

L

L

H

L

L

H

H

H

H

H

H

H

H

H

H

L

H

H

H

H

H

H

L

L

H

L

H

L

H

H

H

H

H

H

H

H

H

H

L

H

H

H

H

H

L

L

H

L

H

H

H

H

H

H

H

H

H

H

H

H

H

L

H

H

H

H

L

L

H

H

L

L

H

H

H

H

H

H

H

H

H

H

H

H

L

H

H

H

L

L

H

H

L

H

H

H

H

H

H

H

H

H

H

H

H

H

H

L

H

H

L

L

H

H

H

L

H

H

H

H

H

H

H

H

H

H

H

H

H

H

L

H

L

L

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

L

L

H

X

X

X

X

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

L

X

X

X

X

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

X

X

X

X

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

表中L—表示低电平;

表中H—表示高电平。

(4)与单片机引脚的连接

地址输入端A、B、C、D分别接单片机的P0.0、P0.1、P0.2、P0.3口来控制选择第几列显示。

选通端G1接P1.4口,G2接地。

(5)与点阵引脚的连接

74LS154芯片的1-8脚对应接上面两个点阵引脚的列线,9-17脚(12脚接地)对应接下面两个点阵引脚的列线。

点阵引脚图见下图3-3。

 

3.3点阵式汉字LED显示屏设计

3.3.116*16点阵LED原理及应用

设计LED点阵显示屏时必须掌握点阵工作原理才能进行更深层设计。

16*16LED点阵实质上就是4块8*8点阵LED级联而成的,因此特给出8*8点阵LED的工作原理。

图3-2为8*8点阵LED外观及引脚图。

而16*16就是在8*8原理的基础上将四块8*8级联而成,见图3-4。

 

 

图3-28*8点阵LED外观及引脚图

 

图3-3四块8x8点阵LED级联成16x16点阵

3.3.2LED点阵的显示文字图形原理

LED驱动显示采用动态扫描方法,动态扫描方式是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。

以16×16点阵为例,把所有同一行的发光管的阴极连在一起,把所有同一列的发光管的阳极连在一起(共阴的接法),先送出对应第1列发光管亮灭的数据并锁存,然后选通第1列使其燃亮一定的时间,然后熄灭;再送出第2列的数据并锁存,然后选通第2列使其燃亮相同的时间,然后熄灭;以此类推,第16列之后,又重新燃亮第1列,反复轮回。

当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能看到显示屏上的汉字的每一笔都是同时出现的。

该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。

显示数据可通过单片机的P0,P2口传输到点阵行引脚。

LED点阵显示模块进行的方法有两种:

(1)水平方向(X方向)扫描,即逐列扫描的方式(简称列扫描方式):

此时用一个P口输出列码决定哪一列能亮(相当于位码),用另一个P口输出行码(列数据),决定该列上哪个LED亮(相当于段码)。

能亮的列从左到右扫描完16列(相当于位码循环移动16次)即显示出一个完整的图像。

(2)竖直方向(Y方向)扫描,即逐行扫描方式(简称行扫描方式):

此时用一个P口输出决定哪一行能亮(相当于位码),另一个P口输出列码(行数据,行数据为将列数据的点阵旋转90度的数据)决定该行上哪些LED灯亮(相当于段码)。

能亮的行从上向下扫描完16行(相当于位码循环移位16次)即显示一帧完整的图像。

本设计应用的是第一种的扫描方法,即水平方向(X方向)扫描。

每一个字由16行16列的点阵形成显示,即每个字均由256个点阵来表示,我们可以把每一个点理解为一个像素。

一般我们使用的16*16的点阵宋体字库是每一个汉字在纵横各16点的区域内显示的。

汉字库从该位置起的32字节信息记录了该字的字模信息。

事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素范围内的任何图形。

我们以水平方向(x方向)扫描显示汉字的“杨”为例来说明其扫描原理,每一个字由16行16列的点阵组成显示,如下图,如果用8位的AT89S51的单片机来控制,由于单片机的总线为8位,一个字需要拆分成两个部分。

一般我们把它分解成上部分和下部分,上部分由8*16的点阵组成,下部分也由8*16的点阵组成。

在本例中单片机首先显示的是左上角的第一列的部分,即第0列的P0.0~P0.7口。

方向为P0.7到P0.0,显示汉字“杨”的时候,P0.0到P0.2都是灭的,P0.3亮,因为行接阴极,即二进制11110111,转换为16进制为F7H,如图3-5所示。

上半部分第一列完成之后,继续扫描下半部分的第一列,即从P2.7向P2.0方向扫描,从上图可以看到,这一列P2.2亮,其余全部灭,所以代码为11111011,16进制为FBH,然后单片机转向上半部的第二列,除了P0.3亮,其他的都不亮,即为11110111,16进制为F7H,这一列扫描完成之后继续进行下半部分的扫描,除了P2.0和P2.1亮,其他的为不亮,为二进制11111100,即16进制FCH。

按照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得出汉字“杨”的扫描代码为:

F7H,FBH,F7H,FCH,37H,FFH,00H,00H,B7H,FFH,77H,FEH,F5H,F7H,BDH,DBH,9DH,ECH,2DH,F7H,B5H,F9H,39H,BEH,BDH,7FH,3FH,80H,FFH,FFH,FFH,FFH。

4软件设计

系统软件采用C语言编写,按照模块化的设计思路设计。

首先分析程序所要实现的功能,程序要实现动态显示并能左右移动的功能。

程序分为主程序和中断程序。

1)主程序的工作流程如图4-1所示。

 

 

图4-1主程序流程图

 

显示子程序工作流图如图4-2所示。

 

 

图4-2显示子程序工作流程图

按键子程序流程图如图4-3。

 

 

图4-3按键子程序流程图

5系统调试

Proteus仿真时,单片机需要加载程序,,加载程序为.hex文件。

本设计利用Keil软件,在新建项目时选择AT89C52单片机作为CPU,将相应程序导入,在“OptionsForTarget”对话窗口中,选中“Output”选项中的“CreateHexFile”,编译链接后就可以生成.hex文件。

在ProteusISIS中,选中AT89C52并单击鼠标左键,对AT89C52进行设置,设置单片机时钟频率为12MHz,按照正确的文件路径加载.hex文件。

对单片机设置完毕后就可以开始仿真了。

仿真过程中如有硬件问题可在ProteusISIS中直接修改,如有软件问题可在keil中直接修改,通过keil与Proteus的联合调试就可以得到预期的结果。

Proteus软件目前版本中没有16*16点阵模块,本设计中采用Proteus软件中现有的4个8*8点阵模块组合成一个16*16点阵模块,利用Proteus软件设计点阵式LED滚动汉字显示屏硬件电路原理图如附录图。

5.1PROTEUS简介

Proteus满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。

具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。

目前支持的单片机类型有:

68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。

支持大量的存储器和外围芯片。

该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,是其他任何一款软件不能相比的。

ISIS是Preoteus系统的中心,具有控制原理图画图的超强的设计环境。

ISIS有下面的优势:

丰富的器件库:

超过27000种元器件,可方便地创建新元件;智能的器件搜索:

通过模糊搜索可以快速定位所需要的器件;智能化的连线功能:

自动连线功能使连接导线简单快捷,大大缩短绘图时间;支持总线结构:

使用总线器件和总线布线使电路设计简明清晰;可输出高质量图纸:

通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用。

5.2KEIL简介

对于51单片机而言,使用最广泛的软件编写语言主要是用C语言。

在实际工程中,除了一些小型的应用程序或对效率要求较高的关键部分,一般不会采用汇编语言作为系统开发的主语言,取而代之是高级语言,如C语言。

Keil内建了一个仿真CPU用来模拟执行程序,在调试状态下,该仿真CPU可以在没有硬件和仿真机的情况下进行程序的调试。

与真实的硬件执行最明显的就是时序,软件模拟是不可能和真实的硬件具有相同的时序的,具体的表现就是程序执行的速度和各人使用的计算机有关,计算机性能越好,运行速度越快。

将写好的程序编译成HEX文件,通过专用甲壳虫软件烧录到单片机当中。

HEX文件是直接能在单片机中运行的软件,实现对单片机的控制,图5-1就是在电脑上编辑设计的程序KEIL软件的界面。

图5-1keil程序界面

5.3仿真效果

 

6个人小结

在本设计中我用c语言编程在LED显示屏实现了汉字、数字、字母、自定义图形的左移滚动显示。

在设计中采用的芯片有AT89C52、74HC138和4个16×16LED点阵显示器。

其特点:

1.内容能从右向左浮动显示。

2.硬件结构简单,应用广泛。

3.LED数码管动态扫描显示,工作效率高,价格低廉等。

通过本次(16×16位点阵LED)的设计,理论知识学习和实际设计的结合锻炼了我的综合运用所学的专业基础知识解决实际工程问题的能力,同时也提通过这个为期一周的单片机实训使我对AT89C52单片机有了更一层深入的了解,加强了动手实践能力。

在这次实训中虽然也遇到了各种困难,但是通过小组成员的努力,大家一起才能完成设计,同时结合实践进一步巩固了课本上的理论知识,将学习的理论基础知识又加深了一遍,同时认识到我们所学的知识还是远远不够的,我们需要不断学习提升自己的能力,不仅仅是动手能力,还有编程能力和考虑问题的全面性方面。

通过这次设计我们有了更深的认识,只有在设计制作的过程中不断的学习才能有更新的进步.不论在什么地方,什么岗位我门都要以学为主.学以学以置用.才能把我们的工作做的更好。

在完成此设计过程中,我们小组多次得到指导老师指导,提供给我支持和帮助,这是我能完成这次报告的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我把系统做的更加完善。

在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。

其次,我要感谢帮助过我的同学,他们为我解决了不少我不太明白的设计的难题。

同时也感谢学校为我提供良好的做设计的环境。

最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学。

 

7参考文献

[1]高玉芹.单片机原理与应用及C51编程技术[M].北京:

机械工业出版社,2011.6

[2]严天峰.单片机应用系统设计与仿真调试[M].北京:

北京航空航天大学出版社,2005

[3]李光飞等.单片机课程设计实例指导[M].北京:

北京航空航天大学出版社,2005

[4]苏平.单片机原理与接口技术[M].北京:

电子工业出版社,2003.8

[5]赵长德,雷田玉.微型计算机原理与接口技术[M].北京:

机械工业出版社,1999.10

 

8附录A:

源程序

#include

#include"MacroAndConst.h"

#include"delay.h"

sbitK1=P1^0;

sbitK2=P1^1;

bitfLeftFlag=1;

bitfRightFlag;

/**********************************************************

函数名称:

ClearFlag

函数功能:

清除标志

入口参数:

出口参数:

备注:

**********************************************************/

voidClearFlag()//清标志位,调用子程序方便

{

fRightFlag=0;

fLeftFlag=0;

}

/**********************************************************

函数名称:

KeyScan

函数功能:

按键函数

入口参数:

出口参数:

备注:

**********************************************************/

voidKeyScan()

{

if(K1==0)

{

delay_ms(10);

if(K1==0)

{

while(!

K1);

ClearFlag();

fLeftFlag=1;

}

}

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

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1