基于单片机广告牌的设计.docx
- 文档编号:11700301
- 上传时间:2023-03-30
- 格式:DOCX
- 页数:25
- 大小:243.66KB
基于单片机广告牌的设计.docx
《基于单片机广告牌的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机广告牌的设计.docx(25页珍藏版)》请在冰豆网上搜索。
基于单片机广告牌的设计
毕 业论文
论文题目
系 别 电子信息工程系
专 业电子信息工程
班 级
学 号
学生姓名
指导教师(签名)
完成时间 年 月
摘要
随着社会经济的发展,广告已深入广大人民群众的生活,也为许多商家和公益团体所充分利用,LED点阵广告牌更是深得人们的喜爱。
为了可以满足客户所要求的广告宣传,本设计设计了一个16*64的LED点阵广告牌,本广告牌可以实现汉字和图片的显示。
本设计中以AT89S52单片机为主控芯片的16*64点阵LED广告牌,单片机通过读取字模并作相应的处理,然后以不同的显示方式显示到点阵显示屏上,实现广告牌内容显示形式的多样化。
另外还得用八个74HC595驱动芯片和一个74HC154驱动芯片来驱动16个8*8点阵来实现文字和图片的显示,并能实现文字的左移、右移、上移和下移以及图像的放大和缩小。
74HC154作为行驱动,选通行即该行导通,然后由74HC595送列的数据控制该行列的亮灭。
通过软件可以编程更新广告牌的内容,满足不同时刻不同客户的广告需求。
本广告牌可以为客户带来商业利益,为群众带来信息,还可以作为公益宣传广告为社会公益事业作出贡献。
关键词:
单片机;8*8点阵;LED点阵广告牌;级联
·
TheDesignOfTaxi BillboardBasedOnSingleChipMicrocomputer
Abstract
Withthe developmentofsocialeconomy,advertisinghasbeendeepinto thepeople'slife.Itismadefull useof by manybusinessesandnonprofit groups.TheLED latticebillboardsareadoredbypeople.
Inordertomeet theneedsofcustomerabouttheadvertising,thisdesignhas designeda16*64 lattice LEDbillboards.Thebillboardscanrealizethedisplayof Chinesecharactersandpictures.TheAT89S52single chipmicrocomputeris as the main controlchipinthedesign of16* 64 latticeLED billboard.Single-chipmicrocomputerreadsand fetchesmatrix and accordinglyrespondtotreatment,thendisplayedina differentwayaccordingto thedotmatrix displayscreen, realizing theformdiversificationofbillboardcontentdisplaying.Eight 74hc595 drivechips and a74hc154 drivechiparealsoneededin ordertodrive 168*8 dotmatrixtorealize the displayingofwordsandimages.Meanwhilethe text can shifttotheleft, right,upanddownaswellastheimageszoominand zoomout.The 74hc154aslinedrive,passthebankconduction throughsoftwareprogrammingcan updatethecontentofthebillboard.Itcan meetdifferentcustomers indifferenttime.Thebillboardscanbring manybenefits just asfollows:
bringingbusinessbenefitstocustomers, bringingtheinformation topublicand makingcontributiontopublicwelfareundertakingsforthesocietybybeingused as apublicwelfareadvertisement.
Keywords:
single chipmicrocomputer8*8latticeLED latticebillboardcascade
第一章前言ﻩ1
1.1意义ﻩ1
1.2国内外发展趋势1
第二章 设计方案论证2
2.1系统要求ﻩ2
2.2主控芯片的选取方案论证ﻩ2
2.3显示屏的显示方式论证ﻩ3
2.4电源的选取方案论证ﻩ3
2.5设计方案总结ﻩ3
第三章系统硬件电路的设计ﻩ4
3.1硬件电路要求ﻩ4
3.2单片机模块4
3.3点阵模块ﻩ5
3.4驱动芯片模块ﻩ11
第四章 软件设计15
4.274HC595初始化子程序设计17
4.3 LED点阵显示屏子程序设计17
5.1LED点阵显示屏的调试20
5.2单片机最小系统的调试ﻩ20
5.3软件的调试ﻩ20
5.4软硬件联合调试ﻩ20
第六章 结束语ﻩ22
6.2心得体会22
参考文献ﻩ23
致谢24
第一章前言
1.1意义
我们可以发现广告随处可见,广告能带给人们利益,而有的广告牌很容易被人忽视,为了更好的吸引广大群众的眼球,达到更好的广告效果人们想到了点阵广告牌。
实现一件物品的价值除了要保证它的质量和实用性外,还得让越多的人知道,才越能实现它的价值。
于是,很多的商家,企业或公司等都不惜花大价钱去做广告宣传,事实证明广告确实能为人们带来可观的效益。
既然要做广告就应找好的广告方式做好的广告宣传,如做LED点阵广告牌就是一个不错的选择。
现今,LED点阵广告牌已经遍及城市甚至农村各地,该类广告牌已经得到了十分广泛的应用了。
出租车在城市里是很多的,而且出租车是经常开动的,这么看来在出租车上做广告,广告的内容会得到极好宣传。
在出租车上做LED点阵广告,可视的距离比较远,可让广大的人民群众看到,信息得到很好的传播因而可以从中获得利益。
此类广告牌也适用于其它的一些车辆,比如公交车、班车、货车等,应用范围广。
本设计的广告牌类型是属于电子类广告的,其使用的范围是极为广泛的,广告效果也极好。
不用花费很多钱就可以做一个电子广告,广告的宣传范围还很广,广告的形式还可以多样化,客户对LED点阵广告牌的需求量也很高。
广告牌的内容还可以根据需要花点时间便可以更改,更改起来简单而且也不麻烦。
LED点阵广告牌看起来清晰而又美观,广告内容一目了然,可以吸引广大人民群众的眼球,特别是在晚上看起来更加的亮丽。
1.2国内外发展趋势
LED点阵显示屏具有发光率高、使用寿命长、组态灵活、色彩丰富以及对室内室外环境适应能力强等优点,在国内外得到了广泛的应用[1]。
在国内,可以看到LED点阵显示屏无处不在,特别是在城市里,走在城市的大街小巷里几乎达到了一抬眼就会有LED点阵显示屏映入眼帘的状态。
我国的LED显示屏在不断的改造创新,它的发展趋势更是有目共睹的,它的优点也是处于增加的状态或者说是得到加强的。
总之我国对LED显示屏的需求量是在不断的增加的,它的市场越来越广泛生产规模也就越来越大。
它的发展趋势是十分好的,而且会越来越强大,越来越为广大人民所使用。
它会变得更加的实用而耀眼,它正向着更高亮度、更多色彩、更加的标准化、规范化和结构更多样化的趋势迅速发展。
而LED显示在国外的发展趋势也是不言而喻的,它不仅适用寿命长而且适合在室内适用也适合在室外适用,可以充分利用它在室内室外所拥有的价值。
它在国外的竞争会越来越激烈,在国外的需求也是急剧上升的,而是用的范围也在不断的扩大。
总之LED在国内外都具有很好的发展前景,存在很大的发展空间,要充分的发挥它的作用,使得它达到最高的使用价值。
无论何时都要高度的重视它的发展前景,时刻关注它的市场需求,不断的加强技术含量,相信它会得到更加广泛的应用。
第二章设计方案论证
2.1系统要求
近几年来,单片机的发展十分迅速,它已渗透到诸多学科的领域,以及人们生活的各个方面[2]。
本设计采用AT89S52为主控芯片的16*64LED点阵广告牌,该广告牌的色彩艳丽、显示方式多样化、亮度适中、寿命很长、可视的距离远,驱动简单方面等优点。
硬件部分主要由一个AT89S52单片机、16个8*8点阵、八片74HC595芯片和一片74HC154芯片等组成。
16*64点阵广告牌的功能:
要求广告的各点亮度尽量做到更好,文字的要能清楚的显示出来而且稳定。
广告除了能显示文字外还能显示图片,可以将图片先放大再缩小,广告文字的显示模式有左移、右移、上移和下移四种。
开始设计前简单的画出设计电路的硬件原理图框图如图2-1所示:
图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来驱动点阵显示屏的行,而显示方式采用的是动态扫描,以自制的直流稳压源作为系统的供电电源。
第三章 系统硬件电路的设计
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.0
RXD串行输入
P3.1
TXD串行输出
P3.2
INT0外部中断0
P3.3
INT0外部中断0
P3.4
T0定时器/计数器外部输入0
P3.5
T1定时器/计数器外部输入1
P3.6
WR外部数据存储器写选通
P3.7
RD外部数据存储器写选通
3.3点阵模块
3.3.1LED点阵显示原理
本设计采用的是动态扫描,也就是每一次都只选通一行循环选通行,如对16*64点阵的十六行进行循环点亮,采用这样扫描驱动电路的优点就是能够用一套列驱动器来实现很多行的同名列。
采用动态扫描,在行驱动和列驱动的作用下,一行一行的将需要显示的数据送到LED点阵显示屏上。
一行一行的进行扫描循环扫描十六次就能得到一整屏的字幕,但只有在扫描到某一行时,该行才会有LED灯被点亮,而人眼却能看到一整屏字幕是同时点亮的。
其中的原理就是人们常说的视觉惰性,也就是只要一整屏字幕从开始循环到结束的时间在20ms(50Hz)内,人眼看上去就不会感觉得到有闪烁。
实验证明临界闪烁频率大约为24Hz,因此采用每秒24幅画面的电影,在人眼看起来就是连续活动的图像[6]。
那么对于16*64LED点阵,一共有十六行,则每行扫描时间不能超过20ms/16=1.25ms,这样才能看到一整屏完整的汉字或字符图像。
3.3.2 16*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.3 8*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点阵就刚好可以得到很好的汉字显示效果。
在一定的范围内,二极管的数目越多也就相当于像素点越多,那么可以显示的汉字或图片就越多。
3.3.416*16点阵内部结构及显示原理
在了解16*64点阵显示屏之前,要先弄清楚16*16点阵是怎么连接在一起的,再弄懂行控线和列控线的作用。
每一个16*16点阵都是由四个8*8点阵来组成的,每行有两个8*8点阵,每一列也有两个8*8点阵。
其中16*16点阵显示屏内部结构框图如图3-5所示:
图3-5 16*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点阵。
在取模的时候通过利用字模软件可以得到“欢”字的扫描代码为:
0xFF,0xFE,0xFF,0xFE,0xC0,0xFE,0x5F,0x80,0x5E,0xDF,0xAD,0xED,0xEB,0xFD,0xF7,0xFD,
0xE7,0xFD,0xE7,0xF9,0xDB,0xFA,0xDB,0xF6,0x7D,0xE7,0x9E,0x8F,0xE3,0xDF,0xFF,0xFF
对于第一行,在扫描的时候是先选通A行,再由列的数据决定A行哪一列的LED管点亮。
对于“欢”字A行亮的是第八列的LED,由于扫描的时候是低位在前所以可获得代码第一行的二进制代码为1111011111111111,转换为十六进制就是0xFE,0xFF,以此类推可以算出“欢”字的代码。
在本设计中是通过行扫描,扫描出LED点阵上哪些点会被点亮,被点亮的点就会构成一个汉字或字符,我们就可以看到汉字或字符显示到LED点阵显示屏上了。
3.3.5字模生成原理
在本设计中将汉字显示到点阵显示屏上,汉字需要使用汉字字模来表示出来然后通过软件方面实现汉字的显示。
提取汉字字模前需要了解什么是汉字字模,可以根据LED灯的亮灭写出汉字的字模。
一个16*64LED点阵显示屏就有1024个发光二极管,点亮其中的任何一个LED管,那么该LED灯对应的点就用0来表示,反之灭的LED灯对应的点就用1来进行表示。
图3-6里的“欢”字,根据二极管是否被点亮,可以写出该字第一行相应的二进制为1111111111111110,然后再转换成十六进制,也就是0xFF,0xFE。
以此类推可以算出整个“欢”字的代码,但现在有汉字字模提取软件,就没有必要去一个个的算。
LED点阵显示屏是以“点位点亮”的方式显示,因此在显示汉字时必须通过某些技术手段获得反应汉字字型点阵数据的汉字字模[7]。
PCtoLCD2002完美版是常用的字模提取软件,在使用自摸提取软件的时候可以根据需要来对取模方式进行设置。
可以进行设置的内容如图3-7:
图3-7取模方式的设置
本设计中使用的是共阳点阵,取码的点阵格式的设置为阳码,取模走向是逆向即低位在前,取模方式是行列式,输出数制为十六进制数。
由于设计中使用的是52单片机所以自定义格式设置为,C51格式。
还可以对点阵的高、宽进行设置,点阵的大小可以是8*8点阵也可以是16*16点阵等,根据我们的需要来设置。
而至于本设计点阵的高和宽则都应设置为16,那么一个16*64点阵就可以同时显示四个汉字或字符了。
把需要的汉字输入到取模软件上,然后自动生成字模,即可得到所需的汉字的代码,把代码复制到程序里,经过处理就可以显示到LED点阵上了。
3.3.6LED点阵显示图像的原理以及实现图像的放大和缩小
根据所学知识以及上诉所示的内容可以知道LED点阵汉字显示屏,并不是只能显示汉字的,它也可以显示在点阵像素范围内的图形。
因此图像的显示原理与汉字的显示原理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 广告牌 设计