1、毕业设计(论文)基于LED的广告点阵显示设计学院信息学院专业姓名指导老师自动化学号职称110104031010实验师中国珠海二一五年六月诚信承诺书本人郑重承诺本人承诺呈交的毕业设计基于LED的点阵广告屏设计是在指导教师的指导下,独立开展研究取得的成果,文中引用他人的观点和材料,均在文后按顺序列出其参考文献,设计使用的数据真实可靠。本人签名日期2015年6月6日基于LED广告显示器的设计摘要LED显示屏是新世纪很关键的信息传播媒体,在多个行业都有着关键的运用。很多超市外表装修、银行滚动提示屏、火车站售票点等,LED显示屏都无处不在。LED显示屏最常见的结构,有的产品一出厂,厂家已经把资料固定在里
2、面,这样设计价格相对比较低也比较精简。也有着电子屏已经有预留读写口,用户购买之后,可以根据自己的需要,按照说明说灵活地修改自己需要的内容,让LED显示屏更具灵活通用性。关键词AT89C52、LED矩阵显示屏、单片机DESIGNOFLEDADVERTISINGDISPLAYBASEDONABSTRACTLEDDISPLAYISINFORMATIONMEDIAISTHEKEYOFTHENEWCENTURY,HASAKEYTOUSEINAVARIETYOFINDUSTRIESMANYSUPERMARKETSAPPEARANCEDECORATION,BANKROLLINGSCREENPROMPTS,T
3、RAINSTATIONTICKETPOINTS,LEDDISPLAYSAREEVERYWHERETHEMOSTCOMMONSTRUCTUREOFLEDDISPLAYSCREEN,SOMEPRODUCTSFACTORY,MANUFACTURERSHAVEFIXEDMATERIALINSIDE,SOTHEDESIGNRELATIVELYLOWPRICEISALSOMORESTREAMLINEDALSOHASANELECTRONICSCREENHASRESERVEDTHEREADWRITEPORT,THEUSERAFTERTHEPURCHASE,CANACCORDINGTOTHEIROWNNEEDS
4、,INACCORDANCEWITHTHEINSTRUCTIONSTHATMODIFYTHECONTENTSOFTHEIROWNNEEDS,LETLEDDISPLAYMOREFLEXIBLEANDUNIVERSALKEYWORDSAT89C52,LEDMATRIXDISPLAY,MICROCONTROLLER目录1前言611本设计的目的、意义及应达到的技术要求612本设计在国内外的发展概况及存在的问题613本设计应解决的主要问题72本设计721设计原理7211单片机系统及其外围电路8212行驱动电路8213列驱动电路922主要元器件介绍922188的点阵LED的结构922274LS595芯片介绍
5、1022374LS164芯片介绍11224AT89C52芯片介12225单片机的最小系统1323程序13231显示驱动程序13232LED的显示方式14233系统主程序1624调试以及性能分析17241硬件调试17242软件调试173结论18参考文献19谢辞20附录211前言LED显示屏是新世纪很关键的信息传播媒体,在多个行业都有着关键的运用。很多超市外表装修、银行滚动提示屏、火车站售票点等,LED显示屏都无处不在。LED显示屏最常见的结构,有的产品一出厂,厂家已经把资料固定在里面,这样设计价格相对比较低也比较精简。也有着电子屏已经有预留读写口,用户购买之后,可以根据自己的需要,按照说明说灵活
6、地修改自己需要的内容,让LED显示屏更具灵活通用性。11本设计的目的、意义及应达到的技术要求LED显示屏有更好显示的效果,有多种显示模式。其中最简单的显示就是静态显示。与静态显示相对应的模式,就是各种各样的动态显示模式。它显示的图文都是可以改变运动的。而按照图样的变化模式,有可分为闪烁、旋转、平移、放大缩小等显示种类。同时产生不同的显示效果,并不需要重新编写数据,可以通过小部分修改直接生成。LED点阵广告屏比起其他种类的大型显示面板有着无可比拟的优点。1、显示亮度高是较好能在户外全天候运行的大面板显示器。2、可视角度大室内角度一般在160度以上,户外同意可以达到120度。3、屏幕显示面积可随意
7、调整,小到十几公分,大到上千平方米。4、使用寿命长实践表明,LED的寿命一般5到10年。5、方便与计算机通讯,支持各种流行软件。组合型的LED点阵显示屏,主要以发光体为图素。其利用高亮度的LED晶粒进行不同组合后,再进过环氧树脂和塑模封装而构成的。其具有高亮度、耗电低、构造简单、耐冷热等各方面优点。12本设计在国内外的发展概况及存在的问题对于这个迅猛发展的社会里,对于能源、健康、空间利用的要求空前提高。而其中信息传播快更是重中之重。对于信息传播的瓶颈,LED的出现让人们看到更多的希望。LED点阵显示屏有着其突出的特点,就是比起其他种类的显示屏节能,节能就是金钱。另一方面就是无电离辐射,有提高了
8、空间利用率,因为可以随意更改显示内容,无需手动更换。在这十几年发展,我国关于LED的一定规模的产业基本形成了。据了解,我国的LED广告屏行业的发展飞速增长,规模也是空前地增加。目前国内制造厂商还是比较集中在华东。华北区域。而且中国的LED的水平较高,在国内市场根基很稳。全国的LED显示屏发展势头十分强劲,更朝着高显示质量、产品结构的多样、行业标准化、规模化的趋势。13本设计应解决的主要问题以LED广告显示屏设计的方案为指导思想,在选择器件和实现的功能要进行平衡。显示一个汉字,至少需要1616来显示,所以基于成本效益考虑,以4个88的点阵LED模块分别拼接而成。LED动态屏幕显示的种类繁多,用单
9、片机LED驱动方法很多,如果按显示的方法区分,有静态显示和动态显示,如果按照译码方式有可以分为硬件译码和软件译码。2本设计(1)在对单片机最小系统的分析,和各个器件的选用的认知下,通过PROTUES仿真软件进行仿真。通过资料编写出显示汉字的程序,导入仿真。在计算机上就能较好直观地看清设计。(2)不管简单还是复杂,电路的基本组成部分都离不开三个环节电源、负载和中间环节2。在仿真通过的情况下,再更具需要选择零件,并查找零件的整料,认识管脚对应的功能,按照仿真图进行焊接。完成符合本设计需求的作品。21设计原理经过查资料可以分析,给出系统电路原理框图如图21211单片机系统及其外围电路本次设计采用单片
10、机STC89C51,使用110592MHZ的晶振。单片机的串口与列驱动器相连,用来送显示数据。P1口低4位与行驱动器相连,送出行选信号;P15P17口则用来送控制信号。P0和P2空着,在有必要时可以扩展系统的ROM和RAM设计的显示界面可显示2个汉字,需要8个88LED点阵模块,组成1632的矩形点阵。212行驱动电路单片机经过2片74LS164译码后生成16条行选通信号线,再经过驱动器驱动对应的行线当选通端(G1、G2)均为低电平时,可将地址端(ABCD)的二进制编码在一个对应的输出端,以低电平译出。若将G1和G2中的一个作为数据输入端,由ABCD对输出寻址。一条行线上要带动16列的LED进
11、行显示,按每一LED器件20MA电流计算,32个LED同时发光时,需要640MA电流,选用三极管8050作为驱动管可满足要求。LED点阵屏电源行驱动器图21系统电路原理框图单片机列驱动器213列驱动电路列驱动器由集成电路74HC595构成。它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的。引脚SI为串行数据输入端,与单片机串口RXD(P20)相连,用来传送数据;引脚SCK为移位寄存器的移位时钟脉冲,与单片机串口TXDP21相连;引脚SCLR信号是移位寄存器的清0
12、输入端,低电平有效,接地;RCLK是输出寄存器的打入信号,与单片机P22口相接;22主要元器件介绍22188的点阵LED的结构LED点阵模组显示屏是利用了发光二极管点阵模块所组成的平面显示屏幕。88点阵是最基本的单元模块,由4块88点阵可构成一块1616点阵模块,由8块88点阵可构成一块1832点阵模块。单色88点阵外形及结构如图221从图22中可以观察得出,8X8的点阵一共需要有64个发光二极管组成,且每个不同的发光二极管是放置在行线与列线的交叉汇集点上,当相对应的某一列置1电平,某一行置0电平,那么则相应的二极管就会发亮;如要将第一个点点图221亮,则9脚接低电平13脚接高电平,则第一个点
13、就亮了;如果要将第一行点亮,则第9脚要接低电平,而(16、15、11、6、13、10、11、3)这些引脚接高电平,那么第一行就会点亮;如要要将第一列点亮,则第13脚要接高电平,而(9、14、8、12、1、7、2、5)接低电平,那么第一列就会点亮。22274LS595芯片介绍74LS595是一个带有8位串行输入并行输出的移位寄存器以及一个8位输出锁存器的结构。74HC595的内部结构如图222,它的输入端一共有8个串行移位寄存器,每个移位寄存器输出都连接着一个输出锁存器。引脚SER是串行数据的输入端。引脚SRCLK是移位寄存器是移位时钟脉冲,在其上升沿发生移位,并将SER的下一个数据打入最低位。
14、移位后的各路信号出现在各移位寄存器的输出端。RCLK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入输出锁存器。引脚E是输出三态门的开放信号,只要当其为低时锁存器的输出才开放,否则为高阻态。SRCLK是寄存器的清零输入端,当其为低电平时输出全部为零。由于SRCLK和RCLK两个信号是互相独立的,所以能够作到输入串行移位与输出锁存互不干扰。芯片的输出端为Q0Q7,最高位Q7可以做为多片74LS595级联应用向下级的芯片输入。但因Q7受输出锁存器打控制,所以还从输出锁存器前引出了QT作为级联输出。22374LS164芯片介绍164为8位移位寄存器,其主要电特性的典型值如下54/7416418
15、5MW54/74LS16480MW当清除端(CLEAR)为低电平时,输出端(QAQH)均为低电平。串行数据输入端(A,B)可控制数据。当A、B任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0为低电平。当A、B有一个为高电平,则另一个就允许输入数据,并在CLOCK上升沿作用下决定Q0的状态。引脚功能CLOCK时钟输入端CLEAR同步清除输入端(低电平有效)A,B串行数据输入端QAQH输出端图222224AT89C52芯片介单片机MICROCONTROLLER,又称微处理器是在一块硅片上集成了各种部件的微型机,这些部件包括中央处理器CPU、数据存储器RAM、程序存储器
16、ROM、定时器/计数器和多种I/O接口电路。8051单片机的基本结构见图224。图224单片机的基本结构22374LS164封装图和内部逻辑图225单片机的最小系统单片机的工作就是执行用户程序/指挥各部分硬件完成既定任务。如果一个单片机芯片没有烧录用户程序,显然它就不能工作。可是,一个烧录了用户程序的单片机芯片,给它上电后就能工作吗也不能。原因是除了单片机外,单片机能够工作的最小电路还包括时钟和复位电路,通常称单片机最小系统电路。1注该最小系统由按键复位RESET电路、晶体振荡电路以及I/O接口电路组成。复位的实现通常用2种方式开机上电复位和外部手动复位,本设计用的是开机上电复位。23程序23
17、1显示驱动程序显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏图225单片机最小系统刷新率的稳定,然后显示驱动程序查询当前燃亮的行号,从显示缓寸区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生的拖尾现象,驱动程序先要关闭显示屏,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。图17是显示驱动程序的流程图。232LED的显示方式LED点阵显示屏可用于构成显示汉字、字符及图像信息。在公共汽车、银行、医院及户外广告等地方都有广泛的应用。本设计的汉字显示屏制作,由单片机控制汉字的显示内容。为了降低成本,故使用了四块88的LED点
18、阵发光管的模块。组成了一个1616的LED点阵显示屏,如图232所示。在这里仅做了四个汉字的显示,,在实际中的使用中可以根据这个原理自行的扩展显示的汉字,下面是介绍汉字显示的原理。进去中断定时器赋初值读取行号并增1送新行显示数据消隐切换显示数据送新行号、打开显示退出中断图231LED驱动显示采用动态扫描方法,动态扫描方式是逐行轮流点亮。这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。以1616点阵为例,把所有同一行的发光管的阳极连在一起。把所有同一列的发光管的阴极连在一起,共阳的接法。先送出对应第1行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定的时间,然后熄灭。再送出第2行的数据
19、并锁存,然后选通第2行使,其燃亮相同的时间。然后熄灭第16行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快,每秒24次以上,由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形。该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。显示数据传输采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行。现在有一些现成的汉字字模生成软件,可从网上下载汉字字库提取程序直接提取字库,如图232(1)所示的为一种字模生
20、成软件,软件打开后输入汉字,点击“检取”后,十六进制数据汉字代码即可以自动生成。把我们需要的竖排数据复制到我们的程序即可。图232233系统主程序系统主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断和端口以及显示效果。如、左移、右移等。系统主程序的流程图如图18所示。图232(1)24调试以及性能分析241硬件调试首先检查各个焊接点的焊接是否焊接正确,看是否有短路和断路,看各条线连接是否确,对照原理图逐条线逐个点的检查;然后检查芯片的没个引脚的功能,看其是否有实现,一部分一部分的检查。直至检查出错误或保证电路完全正确。在本次设计中由于连线过多加至板面有限,布线时线布的过于密,
21、因此要防止相邻的两条线之间短路,所以要一条线一条线的检查,把短路的给分离开,把断路的给补上。硬件调试时首先要检查晶振是否会正常起振,既看AT89S52的18脚是否有约12MHZ的频率,看30是否有1/6的晶振频率;然后再检查74LS164的使能端是否正常工作;再看74LS595的SER端是否有脉冲并检查其它引脚的脉冲和时序是否都正常工作。最后再检查LED灯的各行和各列是否都连接正确。各部分都调试正常之后就可以进行软件调试了。242软件调试软件部分需要调试的分需要调试的主要有显示屏的刷新率及显示效果部分。显示屏的刷新率由定时器T0的溢出率和单片机的晶振频率决定。显示驱动程序在进入中断后首先要对定
22、时器T0重新赋初值,以保证显示屏的刷新率的稳定。定时器T0设定为工作方式1,即16位定时器模式,晶振频率F为110592MHZ,通过计算得定时器T0的初值TH00XFCH,TL00X18H显示效果处理程序的内容及方法非常广泛,本次采用的是左移、两边对移、和上移。调试时要编一些检查LED灯是否完好、是否连接正确的小程序,看控制的端口的控制命令是否正确,显示的字是否亮度均匀、充足、显示的文字是否稳定、清晰无串绕。我在做本次设计中,主要是硬件调试,在程序调试时观察字左移显示是否完全显示完,还在字开始系统初始化左移显示效果两边对移显示效果上移显示效果图232段间加空格使得显示更加美观,另外显示的延时也
23、要取得恰当。3结论毕业设计终于圆满落下帷幕了。经过这次的毕业设计,让我更深刻体会到了把理论学习联系到实践应用当中的重要性。应该说我们所选择的课题1616点阵LED电子显示屏的设计是一项硬件相对复杂、软件相对简单的设计,一开始由于对设计原理没有做到很深入的理解,导致一开始画原理图出现了点小错误,后来在老师的指导下画出了正确的原理图。在软件设计时,参考了很多网上搜索的资料,经过无数次的修改和调试,最后确定了这次设计的源程序。总之,经过这次课程设计,让我们的实践动手能力得到了很大的提高,在接下来的学习中,我们应该更多的把学习的理论知识应用到实践当中。参考文献1王静霞单片机应用技术电子工业出版社,20
24、12,P132曾丽琴电路基础中国水利电出版社,2007,P1谢辞大四第二学期的毕业设计,到此就告一个段落了,也就代表我们将离开这个生活了4年的地方。很感谢北京理工大学珠海学院对我的培养。这里有着浓重的学习氛围,每次有问题,老师们总是热情地帮忙解决问题。遇到困难更是有着同学们的帮助。这一次毕业设计,同学从设计到作品,多多少少都有参与,给了我莫大地帮助,让我一次次克服了各种困难。在这一次毕业设计我学到很多,不管现在还是以后,不要怕遇到困难,只要坚持不懈,并且寻找原因,终能成功。附录附录1程序源代码INCLUDEINCLUDEDEFINEDATAOUTP2/P2USEASDATA,YOUCANCHA
25、NGEDEFINESPEED13VOIDYMOVECHARDIR,UNSIGNEDCHARPTR,CHARSPEEDVOIDXMOVECHARDIR,UNSIGNEDCHARPTR,CHARN,CHARSPEEDVOIDDELAYUNSIGNEDINTAVOIDDISPLAYVOIDDISPLAYTIMECHARTIMEVOIDINIT164SBITADATADATAOUT0SBITASCKDATAOUT1SBITLATCHDATAOUT2SBITBDATADATAOUT3SBITBCLKDATAOUT4CODEUNSIGNEDCHARGONG32/恭0X08,0X20,0X08,0X28,0
26、X7F,0X0FC,0X08,0X20,0X08,0X24,0X0FF,0X0FE,0X04,0X40,0X09,0X20,0X11,0X10,0X21,0X0E,0X0C9,0X24,0X09,0X90,0X11,0X48,0X21,0X08,0X05,0X00,0X02,0X00CODEUNSIGNEDCHARXI32/喜0X01,0X08,0X7F,0X0FC,0X01,0X00,0X3F,0X0F8,0X00,0X00,0X1F,0X0F0,0X10,0X10,0X1F,0X0F0,0X04,0X44,0X0FF,0X0FE,0X00,0X10,0X1F,0X0F8,0X10,0X10
27、,0X10,0X10,0X1F,0X0F0,0X10,0X10CODEUNSIGNEDCHARFA32/发0X01,0X00,0X11,0X20,0X11,0X10,0X21,0X04,0X7F,0X0FE,0X02,0X00,0X02,0X00,0X07,0X0F0,0X06,0X10,0X0A,0X20,0X09,0X40,0X10,0X80,0X21,0X40,0X42,0X30,0X8C,0X0E,0X30,0X04CODEUNSIGNEDCHARCAI32/财0X04,0X10,0X7E,0X10,0X44,0X10,0X54,0X14,0X57,0X0FE,0X54,0X10,0X
28、54,0X30,0X54,0X30,0X54,0X50,0X54,0X90,0X55,0X10,0X2A,0X10,0X24,0X10,0X44,0X10,0X80,0X50,0X00,0X20UNSIGNEDCHARIDATABUFFER32VOIDMAINVOID/UNSIGNEDCHARIINIT164WHILE1XMOVE1,GONG,4,SPEEDDISPLAYTIME10YMOVE1,0,SPEEDYMOVE1,GONG,SPEEDYMOVE1,XI,SPEEDYMOVE1,FA,SPEEDYMOVE1,CAI,SPEEDYMOVE1,0,SPEEDXMOVE0,GONG,4,SP
29、EEDYMOVE0,GONG,SPEEDYMOVE0,XI,SPEEDYMOVE0,FA,SPEEDYMOVE0,CAI,SPEEDYMOVE0,0,SPEED/XMOVE1,XIN,1,SPEED/子函数/VOIDDELAYUNSIGNEDINTAWHILEA/显示/VOIDDISPLAYUNSIGNEDCHARHANG,IB,K,TMPDATAOUT0X0BDATA1FORHANG0HANG0NIFPTR0TMPN2/判断是左半字还是右半字FORI0I0TMP/要移动8列IB0FORI0I0NIFPTR0TMPN12/判断左半字还是右半字FORI0I0TMP/要移动8列IB0FORI0I1
30、/移右半字IFBUFFERIBBUFFERIB1/移左半字IFBUFFER2IIB2BUFFER2I1/下个汉字的右半字向右移一位SPEEDMSPEEDWHILESPEEDM/更新点阵DISPLAY/上下移动/VOIDYMOVECHARDIR,UNSIGNEDCHARPTR,CHARSPEED/DIR1上移动,DIR0为下移动CHARI0,J0,IB0UNSIGNEDINTTMP0,SPEEDM0IFDIR0/向下移/IB31FORI16I0I/下移16行FORJ29J1JBUFFERJ2BUFFERJ/将上一行的内容复制到下一行IFPTR0/移空时,BUFFER的首行用0移入BUFFER00
31、BUFFER10ELSE/否则,处理BUFFER的首行元素BUFFER1PTRIBBUFFER0PTRIB1IBIB2SPEEDMSPEEDWHILESPEEDM/更新点阵DISPLAY/向上移/ELSEIB0/数组元素序号FORI0I16I/上移16行FORJ0J30J/将下一行的内容复制到上一行BUFFERJBUFFERJ2IFPTR0/移入为空,BUFFER的末行用0移入BUFFER300BUFFER310ELSE/否则,处理BUFFER的末行元素BUFFER30PTRIBBUFFER31PTRIB1IBIB2SPEEDMSPEED/更新点阵WHILESPEEDMDISPLAY附录2附录3