基于单片机的动态电子广告牌设计毕业论文.docx
- 文档编号:7583306
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:28
- 大小:881.39KB
基于单片机的动态电子广告牌设计毕业论文.docx
《基于单片机的动态电子广告牌设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的动态电子广告牌设计毕业论文.docx(28页珍藏版)》请在冰豆网上搜索。
基于单片机的动态电子广告牌设计毕业论文
基于单片机的动态电子广告牌设计毕业论文
1.引言
1.1课题的背景及意义
随着我国社会经济文化等的不断发展,民众的消费标准也在发生着不断的变化,户外灯箱广告更是扮演着越来越重要的宣传角色,在车站、商场、学校单位等场合都会见到霓虹灯之类的广告。
但是传统的霓虹灯广告牌不管是在显示色彩效果、用电量还是在可修改性上都已经无法满足当今日新月异的社会需求,传统的霓虹灯广告在社会快速发展中需要更多的改进。
电子控制技术的高速发展和LED发光二级管制造工艺的进展为高亮度大屏幕的诞生创造了条件。
由于LED显示屏相对于传统的霓虹灯之类的广告牌有很多方面的优势,所以发展很快,得到了广大应用厂商的认可。
这一种刚刚兴起的LED大屏幕技术成为了广大民众目光的聚焦焦点。
与之前的显示设备比较,首先,LED显示屏可以显示几乎所有常用色彩,色彩丰富,三基色的发光管可以显示全彩色,显示方式又是多种多样的,无限变化(文字、图形、动画、视频、电视画面等),这一个产品就集合了电子技术领域多个学科的相关知识,是一中高新技术产品。
可以用来显示各种文字图形,并且可以与计算机相连接同步显示计算机屏幕的信息,相当于投影仪。
其次,LED显示屏的像素点是LED发光二极管,将多个发光二极管以大小间距相同的排列形式组合成LED显示阵列,这种显示屏具有成本低、耗电量低、亮度和清晰度高、寿命长等众多优点,而且LED显示屏不受空间的限制,可以根据用户要求设计屏的大小,需要多大的尺寸就可以做多大的尺寸.具有全彩色效果,可视角度大,是这个信息时代在传播介质方面划时代的产物。
最后,LED显示屏应用围很广,金融证券、股票炒股、银行利率等信息显示、商业广告播放、文化娱乐等方面,显示的效果亮度高且清晰稳定,越来越多的地方开始使用LED电子显示屏,有巨大的社会效益和经济效益。
LED显示屏集众家之长,在国际领域得到了广泛的应用。
1.2国外研究现状及趋势
LED显示屏发光效率高,能够很好的适应室室外等应用区域的环境,自上世纪90年代前期开始,随着LED制造业的技术水平有了新的进展,理论等相关技术框架基本形成,在国外得到大围多领域的应用。
而在我们中国改革开放30年的发展之后,主要是进入上世纪90年代我国的经济得到了飞速的发展,快速的提高,经济发展的背景下各种商业信息的传播在整个市场上有很大需求,LED显示屏及时的出现很好的满足了当时社会和市场的需要,LED显示屏的研发与加工技术水平也得到了相应的提高,适用围领域也得以扩展。
在LED显示屏快速发展的过程中,从开始出现到大围多领域的应用也是经历了一个过程,总的来说,LED显示屏经历了单色、双色到红绿蓝三基色全彩多灰度级显示的一个过程。
目前关于LED显示屏的理论框架和相关制造加工技术等已经相当成熟,lED显示屏的像素点越做越小,红绿蓝三基色全彩屏的分辨率越来越高,并朝着高亮度、低功耗、大视角的方向发展。
相关理论也日臻完善。
据CCID微电子研究所预计,在未来的5年时间,我国LED显示屏将在电信、邮政、金融系统、商业系统、交通系统、体育场馆等领域不断开拓市场,寻求新的发展空间以及应用领域,与此同时LED显示屏在市场上的需求正以大约平均每年30%的速度递增,发展趋势如下:
1.高亮度、全彩化 2.标准化、规化 3.产品结构多元化发展。
1.3任务分析与实现
本设计的任务是:
以STC89C51单片机作为主控芯片实现LED显示屏信息的显示。
屏幕规格为16*48,采用5VUSB电源供电,因LED功耗低,故有足够的驱动能力,而且STC89C52单片机有很好的稳定性,能够很好地实现信息的显示。
本系统依赖稳定的硬件电路可以实现字符“**Disney**”的动态显示。
并且通过按键的控制可以切换不同的滚动显示效果和不同的滚动速度。
动态显示功能,可以做小型广告牌,本设计可以应用在大小店铺显示各种商品信息,因系统能够显示文字、简单图像信息,故足以满足大小店铺的显示需求。
并且稳定性高、用电量低、亮度大。
传统的电子广告牌动态显示使只有一种模式,本设计一改传统,设定了多种滚动模式。
2.硬件设计
电子广告牌的硬件电路部分是基础部分,它包括电源部分、单片机系统、切换按键、行驱动电路、列驱动电路,LED点阵屏部分。
本节将要对各部分模块的器件及工作原理作详细的介绍。
2.1硬件电路总体设计方案
图1-1系统总体设计框图
2.2单片机原理及应用
STC89C52是一种带8K字节可编程、高性能的CMOS8位微处理器,俗称STC89C52单片机,是典型的嵌入式微控制器。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
自上世纪70年代问世以来,已广泛应用在工业自动化、智能仪器仪表、机电一体化设备、汽车电子等各个方面[4]。
图2-2STC89C51单片机
2.2.1STC89C52单片机特点
(1)看门狗
(2)用异步串行口(UART)
(3)用户应用程序空间:
8K字节
(4)有2个16位定时器/计数器
(5)工作温度围:
0-75℃
(6)通SPI同步通信口,主模式/从模式
(7)增强型1T流水线指令集结构8051CPU
(8)外部中断2路,下降沿中断或低电平触发中断
(9)PWM(4路)/PCA(可编程计数器阵列)
(10)工作电压:
3.4V-5.5V(5V单片机)
(11)工作频率围:
0~35MHz
(12)无需专用编程器
(13)可通过串口直接下载用户程序,而且下载迅速
(14)外部晶体20M以下时,无需外部复位电路
(15)通用I/O接口可设置成四种模式,每个I/O口的驱动能力都可达到20mA,但整体不能超过55mA
(16)时钟源:
当用户在下载程序时,需要选择是使用部R/C振荡器还是外部晶体时钟
2.2.2STC89C52单片机管脚说明
STC89C52单片机有40个引脚,32个I/O口引脚、4个控制引脚和4个电源及时钟引脚,其管脚分配如图2-3所示。
(1)VCC:
接+5V电压。
(2)GND:
接地。
(3)RST:
复位输入。
当振荡器复位时,要保持RST脚两个机器周期的高电平时间。
(4)P0口:
P0口为一个8位漏级开路双向I/O口。
当扩展外部储存器及I/O接口芯片时,P0作为地址总线(低8位)及数据总线的分时复用端口。
P0口也可用作通用的I/O口使用,当需要加上拉电阻,这时为准双向口。
(5)P1口:
P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能够接收和输出4TTL门电流。
当P1口管脚被写入1时,当部上拉为高时,可用作输入,当P1引脚被外部下拉成低电平时,将输出电流,这是因为部存在上拉。
(6)P2口:
P2口是一个由部上拉电阻的8位双向I/O口,P2口缓冲器可接收和输出4个TTL门电流,当P2管脚被写入1时,其管脚被部上拉电阻拉高,作为输入。
(7)ALE/PROG:
当访问外部的存储器时,地址锁存允许的输出电平将用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端则以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可以用作对外部输出的脉冲或者用于定时目的。
图2-3STC89C52单片机各引脚
(8)P3口:
P3口是一个由部提供上拉电阻的8位双向I/O口,P3口缓冲器可接和收输出4个TTL门电流。
当P3管脚被写入1后,其部上拉为高电平,用作输入。
当外部下拉为低电平时,P3口将输出电流,这是由于部上拉的缘故。
另外,P3口也可作为一些特殊功能口,如表2-1所示:
表2-1P3口的第二功能定义
引脚
第二功能
说明
P3.0
RXD
串行数据输入口
P3.1
TXD
串行数据输出口
P3.2
/INT0
外部中断0输入
P3.3
/INT1
外部中断1输入
P3.4
T0
定时器0外部计数输入
P3.5
T1
定时器1外部计数输入
P3.6
/WR
外部数据存储器写选通输出
P3.7
/RD
外部数据存储器读选通输出
(9)PSEN:
外部程序存储器的选择信号。
当外部程序存储器取指令时,需要每个机器周期两次PSEN有效。
在访问外部数据存储器时,这两次有效的PSEN信号将不出现。
(10)EA/VPP:
当EA端接低电平时,将访问外部程序存储器。
当EA端接高电平时,将只访问部程序存储器。
(11)XTAL1:
反向振荡放大器的输入及部时钟工作电路的输入。
(12)XTAL2:
来自反向振荡器的输出[5]。
2.3单片机系统电路设计
在本次设计中,单片机系统电路包括有时钟电路和复位电路。
时钟电路的作用是给单片机提供工作时的时钟信号,复位电路则保证单片机部程序有序的执行,并可由外界手动复位。
2.3.1时钟电路
单片机各个功能部件的运行都是以时钟控制信号为基准的。
因本设计的列驱动采用串行,需要更快的运行速度,所以选用24MHz的晶振。
图2-4时钟电路
2.3.2复位电路
计算机在启动时都需要进行复位,这样可以使CPU和系统中的其它部件都处于一个初始的状态并从这个初始状态开始工作。
单片机有一个复位引脚RST,当振荡器起振后RST端会出现2个机器周期(即24个时钟周期)以上的高电平,使得单片机复位。
当RST端降为低电平后,单片机会退出复位并从初始状态开始工作。
复位电路有开关复位和自动上电复位两种。
本次设计采用的是这两种方式的结合,不仅可以上电自动复位,而且可以通过按键在程序运行期间手动复位。
电路设计如图2-5所示。
图2-5复位电路
2.3.3切换按键电路设计
按键是一种输入设备,用户可通过按键与单片机进行交流。
按键的程序按实现的方式分为扫描方式和中断方式。
因本设计在实现显示功能时采用扫描方式,故按键若采用扫描方式则会出现按键失灵的现象,所以本设计的按键使用中断发,将按键连接在了外部中断0的管脚上。
电路设计如图2-6所示。
图2-6按键电路
2.3.4行驱动电路设计
LED点阵屏在驱动时分为行方向和列方向,在行方向和列方向施加上电压时,且保证LED处于正向偏置,则可点亮点阵屏上的像素点。
16*48的规格则表示在行方向上为16行,一般行方向输入要显示信息的数据,列方向进行逐列扫描。
因行方向传输数据,故采用并行的方式较容易实现。
但单片机的驱动能力有限,所以要设计一个驱动电路。
而74HC573是拥有八路输出的透明锁存器,具有驱动能力强,八路并行输入、并行输出,输入与输出实时同步等特点,故选用两块该芯片进行行驱动。
74HC573管脚图如图2-7所示。
图2-774HC573管脚图
2.3.5列驱动电路设计
在列方向上一共有48列,而单片机才共32个I/O口,故不可能采用并行的方式,应考虑串行的方式,选择合适的串行转并行的芯片。
74HC595是具有8位移位寄存器和一个存储器,具有三态输出功能的芯片。
移位寄存器和存储器有相互独立的时钟,并且支持多级级联,能够满足本设计的需求,所以本设计采用6块74HC595芯片级联进行驱动列。
列驱动级联电路原理图如图2-8所示。
图2-8列驱动级联原理图
2.4LED点阵屏设计
本设计使用的12块点阵屏采用以8*8为最小单元的点阵模块拼合而成。
点阵模块如图2-9所示。
图2-9点阵模块
图2-10点阵模块引脚排序
图2-11转接板
因该模块的引脚排列无序,如图2-10所示,使用不便,所以本设计中制作了一款转接板从新排列模块的引脚,转接板的设计如图2-11所示。
2.5硬件电路原理图
整个动态电子广告牌的硬件部分可以分为单片机系统、切换、行驱动、列驱动LED点阵屏以及转接板等。
各个部分已在上文详细介绍,整体的思路是以单片机STC89C52为控制核心,将显示信息数据输入到行驱动芯片,将逐列扫描数据以并行的方式输入到列驱动芯片,行、列驱动芯片共同工作将信息动态扫描到LED广告显示牌上,利用视觉暂留原理,使人看到整屏的信息。
系统整体的硬件原理图如图2-12所示:
图2-12硬件电路原理图
3.软件设计
软件是硬件的灵魂,是不可忽视的一个部分。
动态电子广告牌的软件部分包括有主程序、中断初始化程序、延迟程序、数据传输程序、显示程序等。
3.1编程语言介绍
C语言是目前使用最广泛的一种编程语言,相比较其他的编程语言而言,它的语言功能丰富、表达能力强、使用灵活方便、生成目标程序效率高、可移植性好,既具有高级语言的优点,又具有低级语言的许多特点,还能够用来编写不依赖计算机硬件的应用程序及各种系统程序,是一种广受欢迎、应用极为广泛的程序设计语言。
所以本设计的软件部分采用C语言作为编程语言,整个设计程序采用了模块化的思想,子程序之间具有通用性,编译简单,易于理解。
3.2程序流程图
程序在运行的时候首先将显示清空,然后初始化中断,接着调用显示函数传输信息数据将信息在屏幕上显示出来,如果发生外部中断,则进行判断,改变信息在屏幕上滚动的方式。
总体设计流程图如图3-1所示。
清除显示
初始化中断
传输数据
判断显示状态
外部中断
点阵屏显示
图3-1总体设计流程图
3.3子程序设计
3.3.1中断服务程序设计
(1)定时器中断STC89C52具有两个外部中断:
外部中断0和外部中断1。
在使用外部中断前要设置中断产生方式,打开相应的中断开关,最后打开总中断开关。
当满足中断发生的条件时,单片机就会暂停当前的函数转到中断函数中,待中断函数执行完毕,返回到原暂停处继续执行原函数。
因本设计要通过按键利用中断程序改变显示模式,故采用了设置一个标志位,在中断中改变改标志位,在显示程序中判断该标志位,进行调用不同的显示函数的思想。
(1)中断初始化函数:
voidIntConfiguration()
{
//设置INT0
IT0=1;//跳变沿出发方式(下降沿)
EX0=1;//打开INT0的中断允许。
EA=1;//打开总中断
}
(2)中断函数:
voidInt0()interrupt0//外部中断0的中断函数
{
Delay
(1);//延时消抖
if(K1==0)
KeyValue++;
if(KeyValue==2)
{
shi=8;
biao=0;
}
if(KeyValue==4)
{
KeyValue=0;
shi=4;
biao=0;
}
}
3.3.2显示程序设计
本设计的显示函数设计思路如下:
首先控制第一列显示,延时一段时间,清空显示,接着显示第二列,延时并清空,如此循环直至四十八列全部显示完毕,再显示一轮,因显示速度快,利用视觉暂留原理,使人可以看到整屏的容。
(1)其中一种显示模式的显示函数
voiddate4(charshi)
{
uchari,n,j,k;
for(k=0;k<32;k++)
{
for(j=0;j { for(n=0;n<48;n++) { for(i=0;i { SI=0; SCK=1; _nop_(); SCK=0; } SI=1; SCK=1; _nop_(); SCK=0; for(i=0;i<(47-n);i++) { SI=0; SCK=1; _nop_(); SCK=0; } P1=0xff; P2=0xff; RCK=1; _nop_(); RCK=0; P2=table[2*(n+k)+96]; P1=table[2*(n+k)+97]; delay(); } } } biao=1; } 4.系统仿真与调试 系统调试包括硬件调试和软件调试,通过软件调试及仿真可以初步检查出系统错误,从而大大减少了硬件电路故障几率,而仿真软件是一个可以模拟单片机正常工作状态的工具,它可以帮我们调试出正确的程序。 硬件调试可以帮助查找出硬件电路上的错误,从而使设计的各项功能达到要求。 4.1软件仿真 Proteus软件仿真就是将Keil软件生成的HEX文件加入到原理图的单片机中,然后经过调试就可以得到仿真结果。 通过仿真的结果可以初步地证实软硬件系统的可行性,为后面硬件的焊接和程序烧录确立可行性。 因本设计所使用的点阵屏数量太多,在仿真中连线不便,故采用16*16的规格,因点阵屏拼合在一起才能看出显示效果,而在拖动器件的时候线路就会变得杂乱无章,所以在仿真图看起来比较凌乱。 (1)首先在Keil平台上,新建个工程文件,创立个工程放在里面,选择单片机型号。 本次仿真采用的是AT89C52单片机。 因为STC89C52与MCS-51单片机产品兼容,所以这并不会对后来的仿真和程序烧录造成影响。 (2)其次,新建个.C文件,输入编写的程序源代码,进行程序编译,确认程序没有错误和警告,如图4-1所示。 图4-1确认程序无误 (3)添加已创建的文件后,程序调试,在OptionForTargetTarget1窗口中选择生成HEX文件选项。 (4)完成上述设置后,点击生成工程文件并生成HEX文件,现如图4-2所示的提示信息。 该程序占用片RAM共9.0字节,片外RAM共0字节,占用程序存储器总共360字节。 图4-2已生成HEX文件 (4)将HEX文件加载到单片机芯片中,启动Proteus仿真,将会在屏幕上显示出信息。 仿真图如图4-3所示 图4-3仿真图 4.2硬件焊接与调试 由于软件调试要和硬件调试需要配合进行,而问题也往往可能不是在硬件上面。 所以在调试硬件之前,首先要确保软件调试及仿真完全正确。 硬件的调试分为以下几个步骤: (1)焊接检查 如果焊接时不注意顺序,而是直接把元件全焊上去的话,这样电路如果出现问题后就很难发现问题。 所以焊接的顺序很重要,应该先按功能划分模块的进行焊接,每当完成一个模块功能后,就要用万用表检测电路是否正确连接,确认无误的话就再焊接下一个模块。 待全部焊接完成后,参照电路原理图,检查各部件是否焊接牢固,是否存在虚焊,然后检查各模块电路连接是否正确,最后还要用万用表检查电源电路是否存在短路。 (2)通电检测 电路板第一次通电测试很重要,如果电路连接有误,加电后会损坏元器件。 所以在第一次通电前需要确定各引脚与电源引脚是否正确连接,通电后如若存在异常情况应该立即断开电源。 插上直流电后,按下总电源开关,检查点阵屏是否能显示,否则应断开电源逐步排查错误。 3)功能检查 当屏幕能但显示容错误时,多半是程序的问题,此时应检查修改程序 动态电子广告牌硬件电路实物图如图4-5所示: 图4-5实物图 各元器件对应表如表4-1所示: 表4-1动态电子广告牌器件使用表 编号 类型 数量 参数 备注 1 STC89C52 1个 CMOS8位微控制器 主控芯片 2 晶振 1个 24MHZ 提供时钟频率 3 复位 1个 10uF,10K 单片机复位 4 DC接口 1个 连接电源 5 自锁开关 1个 电源开关 6 74HC573 2个 行驱动 7 74HC595 6个 列驱动 8 点阵模块 21个 显示屏 9 按键 2个 复位,切换 10 LED 1个 5mm绿色 电源指示灯 5.总结与展望 5.1总结 经过几个月的努力最终按要求完成了这次设计,实现了设计所要求的各项功能。 本设计是基于单片机的速度里程表设计,充分采用了模块化思想,整个设计主要由、控制模块驱动模块、显示模块组成。 通过查阅相关资料和老师、同学的帮助下,在这次设计中更进一步的学习了LED点阵显示原理、STC89C52单片机、串、并行传输原理。 本次设计采用STC89C52单片机作为主控芯片,系统硬件设备结构简单合理,成本低,实时性好,可以应用到各种公共场所。 然而本设计中仍旧存在一些问题和需要改进的地方,例如在不能及时切换显示模式,只有当前模式显示完毕才能切换到下一种模式。 由于C语言编程经验不多,耗用了比较长的时间去调试。 另外在电路布局和抗干扰方面也还有很大的提升空间。 这次设计让我积累了无数实际经验,使我在电子元器件方面的知识也丰富了很多,在我未来的工作学习中有很重要的意义。 此次顺利如期的完成本次毕业设计给了我很大的自信,让我巩固专业知识的同时也对本专业的发展前景充满信心。 5.2展望 在社会各种公共场所均能用到电子广告牌,电子广告牌可以给客户提供极大的方便,随着科技的发展,电子广告牌的显示模式会越来越多,显示清晰度会越来越高。 本设计是基于单片机的动态电子广告牌,采用STC89C52单片机作为系统的控制核心,以74HC573和74HC595分别作为行驱动芯片和列驱动芯片,电路简单、低成本、操作简单,而且能够满足人们对高性能广告牌的要求,可以应用在各种公共场所,具有广泛的应用前景。 本课题还可以进一步进行研究,例如三原色LED,即红、绿、蓝LED制成全彩的显示屏,不仅可以用来显示简单的字符,还能高保真地显示图像及视频,拓宽其应用围 参考文献 [1]娟,高正明,艳丽﹒点阵式汉字电子显示屏的设计制作﹒沙洋师高等专科学校学报﹒2006年,第五期. [2]郇新,马永青﹒点阵电子显示屏制作﹒潍坊教育学院学报﹒2008年9月. [3]卢宝峰﹒点阵LED电子显示屏的设计﹒产品的开发与设计﹒2005年第七期. [4]雅伟﹒电子显示屏的设计﹒科技﹒2012年第27卷第二期. [5]肖淑琴﹒LED点阵电子显示屏制作﹒技术平台,科技经济市场﹒2011年第五期. [6]红丽﹒点阵LED电子显示屏控制系统设计与实现﹒电脑﹒2010年第五期. [7]杰﹒智能式LED电子显示屏的设计与实现﹒科技与向导,科技论坛,2014年02期. [8]皎﹒16×16点阵显示屏的设计﹒科技信息,高校理科研究. [9]孔维东,许卫强﹒16x16点阵LED电子显示屏的设计﹒无线互联科技,技术分析. [10]万山﹒LED电子显示屏的软件设计﹒指技术学院学报﹒1998年3月. [11]邱娟﹒LED点阵电子显示屏设计﹒电子科技﹒电子制作20期. [12]王守华﹒LED点阵电子显示屏系统的设计﹒应用设计: 消费电子﹒今日电子2008年11月. [13]毅刚,彭喜元.单片机原理与应用设计[M].: 电子工业,2008. [14]郭天祥.新概念51单片机C语言教程全攻略[M].: 电子工业,2009. 附录 全部程序: #include #include #defineucharunsignedchar sbitK1=P3^2; charKeyValue=0,biao=0,shi=4; sbitSI=P3^7; sbitRCK=P3^6; sbitSCK=P3^5; ucharcodetable2[]={ 0xFF,0xFF,0xFF,0xCC,0x7F,0xDB,0x7F,0xDB,0x7F,0xDB,0x7F,0xDB,0x7
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 动态 电子 广告牌 设计 毕业论文