基于单片机广告牌的设计_第1页
基于单片机广告牌的设计_第2页
基于单片机广告牌的设计_第3页
基于单片机广告牌的设计_第4页
基于单片机广告牌的设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.z...毕业论文论文题目系别电子信息工程系专业电子信息工程班级学号学生指导教师〔签名〕完成时间年月-.z摘要随着社会经济的开展,广告已深入广阔人民群众的生活,也为许多商家和公益团体所充分利用,LED点阵广告牌更是深得人们的喜爱。-.z为了可以满足客户所要求的广告宣传,本设计设计了一个16*64的LED点阵广告牌,本广告牌可以实现汉字和图片的显示。本设计中以AT89S52单片机为主控芯片的16*64点阵LED广告牌,单片机通过读取字模并作相应的处理,然后以不同的显示方式显示到点阵显示屏上,实现广告牌容显示形式的多样化。另外还得用八个74HC595驱动芯片和一个74HC154驱动芯片来驱动16个8*8点阵来实现文字和图片的显示,并能实现文字的左移、右移、上移和下移以及图像的放大和缩小。74HC154作为行驱动,选通行即该行导通,然后由74HC595送列的数据控制该行列的亮灭。通过软件可以编程更新广告牌的容,满足不同时刻不同客户的广告需求。本广告牌可以为客户带来商业利益,为群众带来信息,还可以作为公益宣传广告为社会公益事业作出奉献。关键词:单片机;8*8点阵;LED点阵广告牌;级联·-.zTheDesignOfTa*iBillboardBasedOnSingleChipMicroputerAbstractWiththedevelopmentofsocialeconomy,advertisinghasbeendeepintothepeople'slife.Itismadefulluseofbymanybusinessesandnonprofitgroups.TheLEDlatticebillboardsareadoredbypeople.Inordertomeettheneedsofcustomerabouttheadvertising,thisdesignhasdesigneda16*64latticeLEDbillboards.ThebillboardscanrealizethedisplayofChinesecharactersandpictures.TheAT89S52singlechipmicroputerisasthemaincontrolchipinthedesignof16*64latticeLEDbillboard.Single-chipmicroputerreadsandfetchesmatri*andaccordinglyrespondtotreatment,thendisplayedinadifferentwayaccordingtothedotmatri*displayscreen,realizingtheformdiversificationofbillboardcontentdisplaying.Eight74hc595drivechipsanda74hc154drivechiparealsoneededinordertodrive168*8dotmatri*torealizethedisplayingofwordsandimages.Meanwhilethete*tcanshifttotheleft,right,upanddownaswellastheimageszoominandzoomout.The74hc154aslinedrive,passthebankconductionthroughsoftwareprogrammingcanupdatethecontentofthebillboard.Itcanmeetdifferentcustomersindifferenttime.Thebillboardscanbringmanybenefitsjustasfollows:bringingbusinessbenefitstocustomers,bringingtheinformationtopublicandmakingcontributiontopublicwelfareundertakingsforthesocietybybeingusedasapublicwelfareadvertisement.Keywords:singlechipmicroputer8*8latticeLEDlatticebillboardcascade-.z目录第一章前言11.1意义11.2国外开展趋势1第二章设计方案论证22.1系统要求22.2主控芯片的选取方案论证22.3显示屏的显示方式论证32.4电源的选取方案论证32.5设计方案总结3第三章系统硬件电路的设计43.1硬件电路要求43.2单片机模块43.3点阵模块53.4驱动芯片模块113.5单片机最小系统模块14第四章软件设计154.1主程序设计154.274HC595初始化子程序设计174.3LED点阵显示屏子程序设计17第五章系统调试205.1LED点阵显示屏的调试205.2单片机最小系统的调试205.3软件的调试205.4软硬件联合调试205.5系统调试总结21第六章完毕语226.1设计总结226.2心得体会22参考文献23致24-.z第一章前言1.1意义我们可以发现广告随处可见,广告能带给人们利益,而有的广告牌很容易被人无视,为了更好的吸引广阔群众的眼球,到达更好的广告效果人们想到了点阵广告牌。实现一件物品的价值除了要保证它的质量和实用性外,还得让越多的人知道,才越能实现它的价值。于是,很多的商家,企业或公司等都不惜花大价钱去做广告宣传,事实证明广告确实能为人们带来可观的效益。既然要做广告就应找好的广告方式做好的广告宣传,如做LED点阵广告牌就是一个不错的选择。现今,LED点阵广告牌已经普及城市甚至农村各地,该类广告牌已经得到了十分广泛的应用了。出租车在城市里是很多的,而且出租车是经常开动的,这么看来在出租车上做广告,广告的容会得到极好宣传。在出租车上做LED点阵广告,可视的距离比拟远,可让广阔的人民群众看到,信息得到很好的传播因而可以从中获得利益。此类广告牌也适用于其它的一些车辆,比方公交车、班车、货车等,应用围广。本设计的广告牌类型是属于电子类广告的,其使用的围是极为广泛的,广告效果也极好。不用花费很多钱就可以做一个电子广告,广告的宣传围还很广,广告的形式还可以多样化,客户对LED点阵广告牌的需求量也很高。广告牌的容还可以根据需要花点时间便可以更改,更改起来简单而且也不麻烦。LED点阵广告牌看起来清晰而又美观,广告容一目了然,可以吸引广阔人民群众的眼球,特别是在晚上看起来更加的亮丽。1.2国外开展趋势LED点阵显示屏具有发光率高、使用寿命长、组态灵活、色彩丰富以及对室室外环境适应能力强等优点,在国外得到了广泛的应用[1]。在国,可以看到LED点阵显示屏无处不在,特别是在城市里,走在城市的大街小巷里几乎到达了一抬眼就会有LED点阵显示屏映入眼帘的状态。我国的LED显示屏在不断的改造创新,它的开展趋势更是有目共睹的,它的优点也是处于增加的状态或者说是得到加强的。总之我国对LED显示屏的需求量是在不断的增加的,它的市场越来越广泛生产规模也就越来越大。它的开展趋势是十分好的,而且会越来越强大,越来越为广阔人民所使用。它会变得更加的实用而耀眼,它正向着更高亮度、更多色彩、更加的标准化、规化和构造更多样化的趋势迅速开展。而LED显示在国外的开展趋势也是不言而喻的,它不仅适用寿命长而且适合在室适用也适合在室外适用,可以充分利用它在室室外所拥有的价值。它在国外的竞争会越来越剧烈,在国外的需求也是急剧上升的,而是用的围也在不断的扩大。总之LED在国外都具有很好的开展前景,存在很大的开展空间,要充分的发挥它的作用,使得它到达最高的使用价值。无论何时都要高度的重视它的开展前景,时刻关注它的市场需求,不断的加强技术含量,相信它会得到更加广泛的应用。-.z第二章设计方案论证2.1系统要求近几年来,单片机的开展十分迅速,它已渗透到诸多学科的领域,以及人们生活的各个方面[2]。本设计采用AT89S52为主控芯片的16*64LED点阵广告牌,该广告牌的色彩艳丽、显示方式多样化、亮度适中、寿命很长、可视的距离远,驱动简单方面等优点。硬件局部主要由一个AT89S52单片机、16个8*8点阵、八片74HC595芯片和一片74HC154芯片等组成。16*64点阵广告牌的功能:要求广告的各点亮度尽量做到更好,文字的要能清楚的显示出来而且稳定。广告除了能显示文字外还能显示图片,可以将图片先放大再缩小,广告文字的显示模式有左移、右移、上移和下移四种。开场设计前简单的画出设计电路的硬件原理图框图如图2-1所示:5252单片机复位电路LED点阵显示屏行驱动列驱动电源图2-1电路硬件原理图框图2.2主控芯片的选取方案论证方案一:采用可编程逻辑器件〔简称为PLD〕系统来实现LED点阵容的显示,可以充分的利用器件里丰富的I/O口资源来驱动LED点阵的行和列。但假设采用规模的PLD,设计多个接口电路,开发周期长,不易于进一步扩展,同时系统的本钱会急剧上升[3]。方案二:采用AT89S52单片机系统来实现,52单片机体积小,可靠性高,适用围广,使用方式灵活而简单,价格廉价。另一方面52单片机简单易学,对于数据的处理也速度比拟快,因此是很多设计的优先选择。虽然本设计采用的需要使用到单片机很多的外部接口而单片机外部接口明显不够用,但使用74HC595芯片可以节省I/O口到达驱动更加多的LED,控制灵活方面再加上安装和调试的工作也比拟的简单方便,使得本设计和制作过程的难度得以降低。综上比拟考虑,毅然选择了方案二来完本钱设计。2.3显示屏的显示方式论证方案一:采用静态方式,这种方式就是直接把所有的发光二极管的一极跟单片机的I/O口连接,所有发光二极管的另外一极就通过电阻然后接到电源上。这种方法可以直接驱动LED,原理也很简单且具有很强的驱动能力,对于LED的点亮方式则可通过限流电阻来进展调节,十分方便,但这种方法的缺点就是很浪费单片机的I/O口不能驱动很多的LED,它适用于那些相对来说比拟小的系统。方案二:采用动态扫描的方式,这一种方式也就是先把LED并联在一起然后跟驱动芯片的输出引脚相连接,而LED发光二极管的另外一端就跟单片机的通用I/O口相连接,控制选通行所对应列LED灯的亮灭。采用这种扫描方案,能够到达驱动比拟多的LED的功能要求,控制起来也很灵活,还有一个优点就是占用较少的单片机的I/O口。动态扫描就是一行接一行的去点亮发光二极管,那样仅仅使用一套驱动器就可以驱动很多行的同名列。根据对方案一和方案二进展比拟,经过综合考虑可以发现,动态扫描方式占有较多的优势。而本设计做的是16*64LED点阵广告牌,假设采用静态显示I/O口是明显缺乏的,所以本设计最后选择的方案是方案二。2.4电源的选取方案论证方案一:采用普通的干电池作为系统的供电电源,使用这一方案使得电压稳定也方便携带,但它工作的时间比拟短显然不利于屏幕的显示,而且使用干电池是需要经常的更换的,这样就会造成了对环境的污染,不利于环保。方案二:采用自制的直流稳压电源来作为系统的供电电源,使用这一方案电压稳定而且还能持续的工作,既可以用于大屏幕的显示,又不会造成污染的环境,因此本设计中采用了方案二。2.5设计方案总结要实现一个功能要求会有不同的方式,只有通过多方面的综合考虑才能从中选取出最优的设计方案。通过方案论证本设计最终的设计方案就是用AT89S52为主控芯片,芯片74HC595来驱动LED显示屏的列,芯片74HC154来驱动点阵显示屏的行,而显示方式采用的是动态扫描,以自制的直流稳压源作为系统的供电电源。-.z第三章系统硬件电路的设计3.1硬件电路要求硬件电路能完成以下功能:16*64LED点阵显示屏可以显示任何汉字,可以实现汉字的左移、右移、上移和下移,还可以实现图像的显示及图像的放大和缩小。通过软件方面的设计可以实现点阵广告牌容的随时更新,更新起来简单方便。3.2单片机模块单片机具有高性价比、高速度、小体积、可重复编程和方便功能扩展、通用灵活等优点[4]。单片机所具有的优点决定了它使用围的广度,其价格又廉价是很多系统设计的优先选择。在本设计中,是以AT89S52为主控芯片的LED点阵广告牌,单片机的端口通过与驱动器相连来显示数据。单片机的P3.0口接74HC595的11号引脚〔SH-CP〕移位存放器时钟输入;P3.1口接74HC595的12号引脚〔ST-CP〕存储存放器时钟输入;P3.2口接74HC595的14号引脚〔DS〕串行数据输入;P3.3口、P3.4口、P3.5口和P3.6口分别接74HC154的A、B、C、D四个地址输入引脚,控制电路的十六路输出,送出行选信号;P3.7接74HC154的G1、G2作为输出使能端,低电平有效。单片机模块电路原理图如图3-1所示:图3-1单片机模块原理图AT89S52为ATMEL所产的一种低功耗、高性能CMOS08位微控制器,其部程序存储器〔ROM〕为8KB,部数据存储器〔RAM〕为256字节[5]。单片机里有32个I/O口,分为P0口、P1口、P2口和P3口,然后每一个I/O口都是8位的。本设计中主要用到的I/O就是P3口,其中74HC595占用了单片机三个I/O口,75HC154占用了5个I/O口。P3口具有部上拉电阻8位双向I/O口,输出缓冲器可以驱动4个TTL逻辑电平,还可以承受一些控制信号[5]。P3口引脚号第二功能如表3-1所示:表3-1引脚号第二功能表引脚号第二功能P3.0R*D串行输入P3.1T*D串行输出P3.2INT0外部中断0P3.3INT0外部中断0P3.4T0定时器/计数器外部输入0P3.5T1定时器/计数器外部输入1P3.6WR外部数据存储器写选通P3.7RD外部数据存储器写选通3.3点阵模块LED点阵显示原理本设计采用的是动态扫描,也就是每一次都只选通一行循环选通行,如对16*64点阵的十六行进展循环点亮,采用这样扫描驱动电路的优点就是能够用一套列驱动器来实现很多行的同名列。采用动态扫描,在行驱动和列驱动的作用下,一行一行的将需要显示的数据送到LED点阵显示屏上。一行一行的进展扫描循环扫描十六次就能得到一整屏的字幕,但只有在扫描到*一行时,该行才会有LED灯被点亮,而人眼却能看到一整屏字幕是同时点亮的。其中的原理就是人们常说的视觉惰性,也就是只要一整屏字幕从开场循环到完毕的时间在20ms(50Hz),人眼看上去就不会感觉得到有闪烁。实验证明临界闪烁频率大约为24Hz,因此采用每秒24幅画面的电影,在人眼看起来就是连续活动的图像[6]。则对于16*64LED点阵,一共有十六行,则每行扫描时间不能超过20ms/16=1.25ms,这样才能看到一整屏完整的汉字或字符图像。3.3.216*64点阵显示屏本设计的LED点阵广告牌是使用16个8*8共阳点阵组成的16*64点阵显示屏,主要用来显示汉字实现广告效果,其次也将图片显示到LED点阵显示屏上。16个点阵组成2*8点阵即有两排点阵,每排八个,可以看成A、B两大行和1~8八大列,2*8点阵排列框图如图3-2所示:图3-22*8点阵排列框图第1列的两块点阵的16、15、11、6、10、4、3、13号引脚分别对应第一片74HC595的Q0、Q1、Q2、Q3、Q4、Q5、Q6和Q7号引脚,第2列的两块点阵的16、15、11、6、10、4、3、13号引脚则分别对应第二片74HC595的Q0-Q7号引脚,以此类推,八片74HC595刚好能驱动16*64LED点阵的列;这样74HC595锁存的8位数据就可以并行输出到点阵上显示。而第A行的所有的8*8LED点阵的9、14、8、12、1、7、2、5号引脚就都和74HC154的Y0-Y7相连接;第B行的所有8*8LED点阵的9、14、8、12、1、7、2、5号引脚就都和74HC154的Y8-Y15相连接;这样就实现了LED点阵的列驱动和行驱动,而Y0-Y15决定了每一小行的64个LED是否选通,从而实现了控制LED的亮灭。16个8*8点阵组成的16*64点阵在电路中的原理图如图3-3所示:图3-316*64点阵电路原理图3.3.38*8点阵部构造本设计的16*64点阵广告牌是由多个8*8点阵组成的,因此要深入了解8*8点阵的部构造。LED点阵是由发光二极管组成的,64个发光二极管通过一定的连接方式连接起来组成一个8*8点阵。LED点阵可以分为共阳型的点阵和共阴型的点阵,而它们的区别就在于LED灯的连接方式不同。共阳型8*8点阵里每一行中的8个LED发光二级管的阳极都连接在一起,每一列中的8个LED发光二极管的阴极都连接在一起。要点亮一个发光二极管则要求发光二极管阳极的电平比阴极的电平高,则如果要点亮*一行的所有发光二极管,则要将该行接高电平,该行所对应的列全部接低电平就可以实现了。换句话说也就是,通过行和列可以控制任何一个发光二极管的亮灭,则要显示出汉字或字符也就不是什么难事了。共阳8*8点阵显示器部构造图如图3-4所示:图3-4共阳8*8点阵显示器部构造图由图3-4可以看到一个8*8点阵也就只有64个发光二极管,如果想要显示一个汉字,实现起来会有点困难,字型看起来也不是则像。一个字符两个字节而每一个字节八位,则用一个16*16点阵就刚好可以得到很好的汉字显示效果。在一定的围,二极管的数目越多也就相当于像素点越多,则可以显示的汉字或图片就越多。16*16点阵部构造及显示原理在了解16*64点阵显示屏之前,要先弄清楚16*16点阵是怎么连接在一起的,再弄懂行控线和列控线的作用。每一个16*16点阵都是由四个8*8点阵来组成的,每行有两个8*8点阵,每一列也有两个8*8点阵。其中16*16点阵显示屏部构造框图如图3-5所示:图3-516*16点阵显示屏部构造框图如图3-5,A、B、C、D表示四个8*8点阵,把四个8*8点阵连在一起的方法就是将A这个点阵的9、14、8、12、1、7、2、5八个控制行的引脚跟B点阵的八个行控制引脚相连接,同理将C和D这两个点阵的行控制引脚对应相连接在一起,这样A和B还有C和D的行就形成为行控线。将A点阵的16、15、11、6、10、4、3、13八个控制列的引脚跟C点阵八个控制列的引脚相连接,同理将B和D这两个点阵的控制列的引脚对应相连接在一起,这样A和C还有B和D的列就成为列控线。同理,本设计的16*64点阵显示屏里16个8*8点阵通过级联在一起形成控制行和控制列的线。在UCDOS中文宋体字库中每一个字都是由16*16点阵组成显示的,在国家标准汉字库里是用256点阵来表示出一个汉字。任何一个汉字都是由点来组成的,将每一个点都看做是一个像素,则一个字就可以看做是一幅图像。一个16*16点阵总共有256个LED发光二极管〔即256个像素点〕,在256像素围的所有图形都可以显示在16*16点阵显示屏上。本设计中有共有四个16*16点阵,可以显示想要显示的容,而这里显示的是"欢送光临〞四个字。实现了这四个字的上移、下移、左移和右移,还实现了四个图形实现图形的放大和缩小。16*16点阵要显示出"欢〞字,通过点亮一些点来绘出"欢〞字的字型,用16*16点阵显示"欢〞字如图3-6所示:图3-616*16点阵显示"欢〞字图3-6中的A-P表示16*16点阵的第一行到第十六行,而0-15就表示点阵的第一列到第十六列。本设计是由AT89S52为主控制芯片的,52单片机的是8位的总线,这么看来一个字就应该分作两个局部。根据汉字在取模软件里的取模方式,通常情况下把字拆分为上面局部和下面局部,则上部和下部都是一个8*16点阵。在取模的时候通过利用字模软件可以得到"欢〞字的扫描代码为:0*FF,0*FE,0*FF,0*FE,0*C0,0*FE,0*5F,0*80,0*5E,0*DF,0*AD,0*ED,0*EB,0*FD,0*F7,0*FD,0*E7,0*FD,0*E7,0*F9,0*DB,0*FA,0*DB,0*F6,0*7D,0*E7,0*9E,0*8F,0*E3,0*DF,0*FF,0*FF对于第一行,在扫描的时候是先选通A行,再由列的数据决定A行哪一列的LED管点亮。对于"欢〞字A行亮的是第八列的LED,由于扫描的时候是低位在前所以可获得代码第一行的二进制代码为1111011111111111,转换为十六进制就是0*FE,0*FF,以此类推可以算出"欢〞字的代码。在本设计中是通过行扫描,扫描出LED点阵上哪些点会被点亮,被点亮的点就会构成一个汉字或字符,我们就可以看到汉字或字符显示到LED点阵显示屏上了。字模生成原理在本设计中将汉字显示到点阵显示屏上,汉字需要使用汉字字模来表示出来然后通过软件方面实现汉字的显示。提取汉字字模前需要了解什么是汉字字模,可以根据LED灯的亮灭写出汉字的字模。一个16*64LED点阵显示屏就有1024个发光二极管,点亮其中的任何一个LED管,则该LED灯对应的点就用0来表示,反之灭的LED灯对应的点就用1来进展表示。图3-6里的"欢〞字,根据二极管是否被点亮,可以写出该字第一行相应的二进制为1111111111111110,然后再转换成十六进制,也就是0*FF,0*FE。以此类推可以算出整个"欢〞字的代码,但现在有汉字字模提取软件,就没有必要去一个个的算。LED点阵显示屏是以"点位点亮〞的方式显示,因此在显示汉字时必须通过*些技术手段获得反响汉字字型点阵数据的汉字字模[7]。PCtoLCD2002完美版是常用的字模提取软件,在使用自摸提取软件的时候可以根据需要来对取模方式进展设置。可以进展设置的容如图3-7:图3-7取模方式的设置本设计中使用的是共阳点阵,取码的点阵格式的设置为阳码,取模走向是逆向即低位在前,取模方式是行列式,输出数制为十六进制数。由于设计中使用的是52单片机所以自定义格式设置为,C51格式。还可以对点阵的高、宽进展设置,点阵的大小可以是8*8点阵也可以是16*16点阵等,根据我们的需要来设置。而至于本设计点阵的高和宽则都应设置为16,则一个16*64点阵就可以同时显示四个汉字或字符了。把需要的汉字输入到取模软件上,然后自动生成字模,即可得到所需的汉字的代码,把代码复制到程序里,经过处理就可以显示到LED点阵上了。LED点阵显示图像的原理以及实现图像的放大和缩小根据所学知识以及上诉所示的容可以知道LED点阵汉字显示屏,并不是只能显示汉字的,它也可以显示在点阵像素围的图形。因此图像的显示原理与汉字的显示原理可以说是完全一样的。在点阵字模提取软件里可以建立16*16点阵的文件,然后根据需要显示的图形点亮相应的点即可生成想要的图像的代码。复制到程序里,经过处理即可显示到LED点阵上,通过软件方面可以实现图像的放大和缩小。其实就是按照一定的比例放大图像,放大两次,则就有三个不同大小的图像。在字模提取软件里建立16*16的文件手动点亮相应的LED二极管勾勒出所需要显示的图像,生成字模,可以得到三个不同大小的图像的字模,存储到单片机里,轮流通过74HC595传送到LED点阵上显示。显示的顺序为先显示小图片、中图片、大图片然后再到中图片、小图片于是就有图像在放大和缩小的效果。对于16*64点阵每一次显示的都是四一摸一样的图片。LED点阵汉字的左移、右移、上移和下移的原理LED点阵汉字的移动原理其实就是通过控制选送的代码来实现的,送什么LED点阵就显示什么。对于汉字左移也就是显示的汉字字模是一列一列的往左移,字模每往左移动一列,经过16次循环行扫描就可以显示出一整屏的字幕,则就可以看到汉字的*些局部或一整个汉字,也可以看看成将一个汉字分成16列,一列一列的往左送代码。至于怎么计算出发送到LED点阵上的数据,则通过软件方面来实现,利用了一个左移的函数灵活的计算出字模每移动一列后显示在LED点阵上的一整屏字幕的代码,也就到达了字模左移的目的。至于右移的原理和左移的原理是相类似的,只是移动的方式不一样送的代码也就不一样,软件上运用的函数就变成为右移函数。对于本设计中的16*64点阵,要实现其字幕左移、右移也就不难了,总的概况就是先选通行,再送列的数据。在左移之前先给点阵送四个空的字符,然后"欢送光临〞四个字,最后再送四个空的字符,它们的代码排在一起,字模一列一列的往左移直到前面的四个空字符退出点阵,则"欢送光临〞全部进入到LED点阵显示屏上,后面的空字符则慢慢的一列一列烦人进入LED点阵显示屏上,于是就形成了汉字左移的动态效果,而右移的原理也是类似的。LED点阵显示屏的上移和下移原理相对左移和右移来说也就是小异,但实现起来要比左移右移简单些。首先LED点阵是采用行扫描的,循环扫描十六次就得到一整屏的字幕,则如果先送四个空字符,再送调整过的"欢送光临〞四个字符最后送四个空的字符,则加起来就有48行代码。可以将前四个空字符、"欢送光临〞四个字的字符和后四个空字符的的代码排列起来,就相当于三个16*64LED点阵排列在一起。第一次扫描从第0行开场扫描,循环扫描16次,就扫描到第15行,显示的是空的字符,第二次从第1行开场扫描,循环扫描16次就扫描到了第16行,由图就明显的看到了"欢送光临〞四个字的第一行也就图中的第16行显示在LED点阵的最后一行上了,以此类推,就形成了字幕上移的效果了。LED点阵的下移原理和上移的原理一样,只是它先从第32行开场扫描,循环扫描16次,先送出后面的空字符,然后再从31行开场扫描,循环16次得到一整屏字幕,这时"欢送光临〞四个字的最后一行就显示在LED点阵显示屏的第一行上了,以此类推,循环32次,"欢送光临〞就从上往下移出去,形成了汉字下移的动态效果。3.4驱动芯片模块行驱动芯片74HC154假设要正向点亮一个LED,至少也得10-20mA,如果电流不够大则LED不够亮,而单片机的输出电流大概1-2mA[8]。因此要用到驱动电路,而使用的74HC154译码器提供的吸收电流不能驱动64个LED同时点亮,因此要在74HC154每一路输出端与16*64点阵显示器对应的每一行之间用一个三极管来将电流信号放大,这样,74HC154*一输出脚为低电平时对应的三极管发射极为高电平,从而使点阵显示器的对应行也为高电平,本设计选用的三极管是8550。当74HC154的G1和G2为低电平时A、B、C、D四脚输入有效,则A、B、C、D四脚输入共同控制着16种不同的输入状态用0000-1111来表示。每一种输入状态都单独控制一路输出,分别对应LED点阵的列。A、B、C、D作为地址数据输入线,接P3.3,P3.4,P3.5,P3.6,74HC154的16行经S9012放大后加载到点阵的行上。其电路原理图如图3-8所:图3-874HC154电路原理图74HC154芯片介绍74HC154是一款高速CMOS器件,74HC154引脚兼容低功耗肖特基TTL〔LSTTL〕系列[9]。74HC154芯片是一个译码器,它有四路4位的二进制地址输入和16路输出但每一次都只能有一路输出。还有两个使能输入端G1和G2,但这两个使能输入端必须为低电平,四路地址输入才会生效才能控制16路的输出。74HC154的芯片引脚构造如图3-9所示:图3-974HC154芯片的引脚构造图由图3-9可以看到74HC154有24个引脚有两个电源类控制引脚12脚GND和24脚VCC;16个地址输出端1-11引脚即Y0-Y10低电平有效和13-17即Y11-Y17低电平有效;两个使能输入端18-19引脚低电平有效;四个地址输入端20-23引脚。74HC154地址/全能输入对应输出表如表3-2:表3-274HC154地址/全能输入对应输出INPUTSELECTEOOUTPUT(L)G1G2DCBALLLLLLLLLLLLLLLLLLHHLHLHY0Y1Y2Y3LLLLLLLLLLLLHHHHLLHHLHLHY4Y5Y6Y7LLLLLLLLHHHHLLLLLLHHLHLHY8Y9Y10Y11LLLLLLLLHHHHHHHHLLHHLHLHY12Y13Y14Y15*HH*********NONENONE表3-2中的H代表高电平,L代表低电平,*代表任意电平,由表可以获得信息两个使能输入G1、G2都必须为低电平,四个地址输入A、B、C、D才是有效的,否则无效。只有A、B、C、D四个地址输入有效才可以控制芯片的16路输出。列驱动芯片74HC595单片机只有32个I/O口,对于16*64点阵显示屏如果采用静态扫描的方式I/O口明显是缺乏的,因此本设计采用了动态扫描。那也就需要用到74HC595芯片来驱动LED点阵显示屏的列。采用动态扫描,也就是一行一行的进展扫描的,每扫描一行就有64个发光二极管,也就是说有64位点阵数据从单片机的I/O口串行输出。第一片74HC595的DS串行输入引脚与单片机的I/O口相连,在移位存放器的作用下单片机每传送一位数据DS引脚当时的电平就会向左移动一位。虽然单片机是输出的是八位,但是取值的时候都是取最高位传送给74HC595的。传送满八次,第一片的74HC595就有8位LED点阵数据,并在存储器的作用下将数据锁存,当单片机继续传送数据时,第一片595里的电平就会左移将数据传送到第二片595里,以此类推,则经过64次的移位或者说经过64个移位时钟就可以将*一行的LED点阵数据全部移送到74HC595里并锁存。在行驱动的作用下选通该行,而列的数据则会在使能信号G的作用下〔低电平有效〕,将595里的列的数据并行输出给LED点阵的列线,这样就可以得到该行LED二极管的亮灭了。而要想在16*64LED点阵上显示一整屏完整的字幕,就需要扫描16行,从第一行一行一行的扫描到第十六行。扫描第一行时,通过行驱动先选通第一行,再由列驱动来送第一行的数据,得到第一行LED的亮灭;紧接着第一行就熄灭而选通第二行,再送第二行LED点阵数据得到第二行LED的亮灭,到第三行第四行……一直到16行扫描完毕就可以看到一整屏完整的字幕了。以此类推,当第十六行扫描过后再回到第一行,这样只要扫描的速度足够高,就可以形成一幅完整的文字或图像[10]。其中驱动芯片74HC595的原理图如图3-10所示:图3-10驱动芯片74HC595的原理图由图3-10可以知道,八片74HC595驱动芯片是级联在一起的,它们一起控制着LED点阵的列的数据也就是列的亮灭。第一片的DS串行输入与单片机的P3.2口相连接,用于提供串行的数据。八片74HC595芯片的11号引脚SH-CP都是和单片机P3.0口相连,用作移位时钟脉冲,12号引脚ST-CP都是和单片机的P3.1口相连接用作存储器的时钟脉冲。然后*一595芯片的9号引脚即串行输出与它后面的一片595芯片14号引脚即串行输入相连接,只有最后一片595芯片它的9号引脚是没有用到的。3.4.474HC595芯片的介绍74HC595是具有8位移位存放器和一个存储器,三态输出功能,移位存放器和存储器是分别的时钟[11]。数据是通过串行的方式输入到74HC595中的,然后在使能信号OE低电平的作用下,存储存放器中的数据才能并行输出到总线上。74HC595驱动芯片的引脚构造图如图3-11所示:图3-1174HC595芯片的引脚构造图由图3-11可以看到74HC595有16个引脚,两个电源类引脚即8号引脚GND和16号引脚VCC,Q0-Q7八个数据输出引脚作为8位并行数据的输出,两个时钟输入引脚即11号脚SHCP和12号脚HTCP,一个使能输出引脚13号脚OE低电平有效,一个主复位引脚10号脚MR低电平有效。3.5单片机最小系统模块单片机最小系统是非常重要的一个模块,它是决定了单片机能否正常运行,是单片机电路中必须要有的。单片机最小系统由电源、晶振电路和复位电路三局部组成[12]。。单片机最小系统模块如图3-12所示:图3-12单片机最小系统原理图-.z第四章软件设计单片机C51语言既具有汇编语言对操作硬件的功能,又兼有高级编程语言的许多优点,在单片机程序设计中,单片机C51语言得到了广泛的应用[4]。本设计的很多功能需要通过软件方面来实现LED点阵广告牌容的显示方式。也就是说只有硬件局部没有软件局部就不能实现广告牌容的显示以及多种显示方式。程序流程图的设计框图如图4-1所示:主程序流程图主程序流程图595初始化子程序流程图LED点阵显示子程序流程图图4-1程序流程图设计框图4.1主程序设计本设计中广告的容可以实现汉字的左移、右移、上移、下移和图片的放大、缩小,它需要通过软件方面来实现。其中主程序的流程图如图4-2所示:开场开场系统初始化行扫描16行?汉字左移汉字右移汉字上移汉字下移图片放大两次?图片缩小两次?是否否是是否图4-2主程序流程图4.274HC595初始化子程序设计74HC595的数据是串行输入并行输出的,而单片机的数据总线是8位的。595每次都是取8位二进制的最高位输入,每有一位数据输入到595里,595里的数据都会在原来的根底上左移一位[13]。74HC595的初始化子程序流程图如图4-3所示:DS数据串行输入DS数据串行输入循环8次?Dat左移一位取dat最高位开场否是图4-374HC595的初始化子程序流程图74HC595的初始化程序代码为:voidhc595(unsignedchardat)//74HC595初始化程序{ unsignedchari; for(i=0;i<8;i++) { DS=dat&0*80; SH_CP=1; SH_CP=0;dat<<=1; } }4.3LED点阵显示屏子程序设计返回要在LED点阵显示屏上得到一整屏的字幕就要通过行驱动和列驱动共同控制,将数据送到点阵显示屏上显示。LED点阵显示屏子程序流程图如图4-4所示:返回开场开场一整屏字幕154行扫描,hang595送列数据Hang++Hang==16"初始化是返回否图4-4LED点阵显示子程序流程图设计中是采用行扫描的,每扫描一行就送这一行对应的列的数据,循环扫描完十六行就得到一整屏的字幕显示到LED点阵上。但如果要实现字幕的左移、右移、上移和下移是需要经过软件的编程来实现的。左移局部的程序代码为:voidleft1(uintnum)//左移处理{signedchars;for(s=0;s<=4;s++){buffer[8-2*s]=display[num+32*s+1+2*discrow];buffer[9-2*s]=display[num+32*s+2*discrow];}}voidleft2()//向左移动{uchari=Mov_left,s;ucharinc,tempyid,temp1;if(i<8)inc=1;elseinc=0;for(s=0+inc;s<8+inc;s++){if(i<8)tempyid=i;elsetempyid=i-8;temp1=buffer[s+1]>>tempyid|buffer[s]<<8-tempyid; hc595(temp1);}}voidzuoyi()//汉字左移{ while(zi_mo_left<255) { for(discrow=0;discrow<16;discrow++) { left1(zi_mo_left); left2(); oe=1; HC154(discrow); delay1(1); oe=0; ST_CP=1; ST_CP=0; } Mov_left++; if(Mov_left>=16) { Mov_left=0; zi_mo_left+=32; }}}第五章系统调试在完成硬件的制作之后,需要知道已做好的系统是否到达我们预期的功能要求,那就离不开调试。调试主要就是硬件调试和软件调试。在硬件调试的过程应该分模块,逐个进展调试,而且要在保证软件正确的情况下去对硬件进展测试,这样就才容易找到错误的所在。对于软件的调试主要是把用C语言编写好的程序复制到KeiluVision3软件进展编译,不断的修改错误的地方直到编译成功。我们常用的编程语言就是C语言汇编和汇编语言,在编写的时候需要有先验的知识主体,了解单片机的概念[14]。硬件的调试主要分为LED点阵显示屏的调试和单片机最小系统的调试。5.1LED点阵显示屏的调试16*64点阵显示屏做好后,可能会因为各种原因使得它并不能正常工作,则就要进展调试。有时在焊接的时候不够认真导致焊接错误出现短路的现象,因此要用万用表进展检测。用自制的稳压直流电源给点阵显示屏提供充足的电源,然后观察点阵显示屏的LED管的亮灭情况,是否能将点阵显示屏全部点亮。如果有些LED不亮,就要找出问题所在然后有针对性的进展修改,一直到点阵显示屏能正常工作就调试成功。5.2单片机最小系统的调试单片机最小系统是一个重要的模块,所以如果单片机最小系统模块没有或出现过失都会导致单片机整个系统出现问题。也因此单片机最小系统的调试也是十分重要的,首先要用万用表检测自制稳压直流电源电压是否正常,保证供电没有问题。然后再用万用表检测复位电路中,最后还要用示波器来检测晶振电路是否正常,通过一步一步的检测就能发现问题,并很好的解决问题,使得最小系统能正常的运作就算调试成功。5.3软件的调试对于软件的调试主要是在Keil5环境下编写程序[15],它是由美国KeilSoftware公司开发的,是属于C语言的软件开发系统。在KeiluVision3软件上对工程文件进展编译,编译有错误就要不断的修改错误的地方直到编译没有错误。然后通过烧录器将通过编译器扩展名为.HE*的可执行文件烧写到单片机,进展软硬件联合调试。5.4软硬件联合调试在硬件和软件都分别调试成功后,把它们结合在一起却不一定能正常工作,也有可能达不到本设计所要求的功能,所以软硬件联合调试是一个设计完成后必不可缺的局部,是一件作品能否顺利完成的重要环节。首先把软件局部的程序烧写到52单片机上,然后提供直流稳压电源,开启启动按钮,观察LED点阵显示屏所显示容,是否符合本设计的要求,它左移、右移、上移、下移和图片的放大、缩小功能是否实现了。开场的时候LED点阵显示屏上出现一些拖影的现象也就是有的点不该亮的也亮了,使得点阵的显示效果极差。这时就想到了可能是程序的干扰,对程序进展修改,增加了延时的程序,再重新把程序烧写到单片机上,重新启动按钮,继续观察LED点阵显示屏,发现LED点阵显示屏的显示效果明显好多了。再继续整延时程序,重复上面的工作,一直到LED点阵显示屏的显示效果到达最正确的状态就算调试成功。然后观察LED点阵显示屏的左移功能是否实现了,起初它并不能到达左移的效果,经过思考对结合实际对左移程序进展了处理,最终实现了左移。同理对其它的功能要求一一进展观察,有问题出现就细心寻找问题所在,并找出解决问题的方式。不断的反复修改,到最后软硬件联合调试到达所需的功能要求,则调试成功。5.5系统调试总结一个设计完成了硬件电路的局部后,还不能完毕设计的工作,调试的工作是十分重要的。在进展调试的过程中,要认真仔细,有针对性的去修改存在的问题,对于一个LED点阵显示屏的调试,最主要的是软硬件联合调试。一般只要电路没有错误,焊接时仔细认真,硬件又完好则LED点阵显示屏都是能正常工作的。但要实现LED显示屏显示的容,显示的模式功能是需要不停的修修改改的才能到达要求。经过各种调试,最后本设计的16*64点阵能够显示汉字的左移、右移、上移、下移和图片的放大、缩小,调试成功,作品也就算顺利的完成了。第六章完毕语6.1设计总结在设计制作本系统的过程中,我深切的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论