毕业设计基于单片机的LED广告牌的设计.docx
《毕业设计基于单片机的LED广告牌的设计.docx》由会员分享,可在线阅读,更多相关《毕业设计基于单片机的LED广告牌的设计.docx(25页珍藏版)》请在冰豆网上搜索。
![毕业设计基于单片机的LED广告牌的设计.docx](https://file1.bdocx.com/fileroot1/2022-11/23/2bbe3036-c4e7-4b01-abe1-da12b191efa3/2bbe3036-c4e7-4b01-abe1-da12b191efa31.gif)
毕业设计基于单片机的LED广告牌的设计
基于单片机的LED广告牌的设计
摘 要
LED点阵显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。
它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。
LED显示屏经历了从单色,双色图文显示屏到现在的全彩色视频显示屏的发展过程,自20世纪八十年代开始,LED显示屏的应用领域已经遍布交通、电信、教育、证券、广告宣传等各方面。
本设计使用AT89C52芯片作为主控制模块,利用简单的外围电路来驱动16×16点阵LED显示屏。
设计分为三个模块:
单片机控制模块.输出显示模块,译码器74LC138与三极管驱动的驱动模块。
单片机控制模块以单片机为核心,以软件KEIL编程实现信号输出,以驱动16×16LED点阵显示块为目的。
另一方面显示屏广泛的应用于医院、火车站、银行等公共场所,因此本设计有很强的现实实用性。
本设计主要是以AT89C52单片机为核心,采用串行传输,动态扫描技术,在负载范围内,只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。
关键词:
LED/单片机/动态扫描
BasedonLEDBillboardDesignSCM
Abstract
Destemisusinglight-emittingdiodesdotmatrixmodulesorpixelunitcomposedofaflatdisplayscreen【1】.Ithashighluminousefficiency,longservicelife,configure,flexible,richcolorandforindoorandoutdoorenvironmentadaptiveness,etc【2】.TheLEDdisplayexperiencedfrommonochrome,double-colorgraphicdisplaytonowfull-colorvideoscreendevelopmentprocess,sincethe1980sbegan,theLEDdisplayapplicationshasalreadyspreadtransportation,telecommunication,education,securities,advertising,etc.【3】
ThisdesignUSESAT89C52singlechipasthemaincontrolmodule,usesimpleperipheralcircuittodrive16x16latticeLEDdisplay.Designisdividedintothreemodules:
SCMcontrolmodule.Outputdisplaymodule,74LC138decoderwithtriodedrivendrivermodules.Single-chipmicrocomputercontrolmodulebasedonsinglechipKEILprogrammingrealizationwithsoftware,signaloutputtodrive16x16ofLEDdotmatrixdisplaypieceforthepurpose.Ontheotherhanddisplaywidelyusedinhospitals,railwaystations,Banksandotherpublicplaces,sothisdesignhasastrongrealisticpracticability.
ThisdesignismainlybyAT89C52singlechipcomputerasthecore,andadoptingtheserialtransmission,dynamicscanningtechnology,withinthescopeoftheload,simplythroughsimplecascadecanexpandonscreen,isalow-costgraphicdisplaysolutions.
KEYWORDS:
LED,SCM,Dynamicscanning
目 录
1前言
LED显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。
它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。
并广泛的应用于公交汽车,码头,商店,学校和银行等公共场合的信息发布和广告宣传。
LED显示屏经历了从单色,双色图文显示屏到现在的全彩色视频显示屏的发展过程,自20世纪八十年代开始,LED显示屏的应用领域已经遍布交通、电信、教育、证券、广告宣传等各方面。
1.1LED简介[4]
LED俗称发光二极管,它包含了可见光和不可见光,属于光电半导体的一类,在结构上包括P极和N极,是一种依靠半导体PN结发光的光电元件。
LED就是由电子材料,封装材料,辅助材料联结而成的的一个发光的闭路电子元件。
它可以直接把电转换成光,LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连电源的正极,使整个芯片被环氧树脂封起来。
LED的内在特征决定了它是最理想的光源去代替传统的光源,它有着广泛的用途。
体积小,LED基本上是一块很小的芯片被封装在环氧树脂里面,所以它非常的小非常的轻;耗电量低,LED耗电量非常低,一般来说LED的工作电压是2-3.6V,工作电流是0.02-0.03A,这就是说它消耗的电量不超过0.1W;使用寿命长,在恰当的电流和电压下,LED的使用寿命可达10万小时;高亮度、低热量;环保,LED是由无毒的材料做成,不像荧光灯含水银会造成污染,同时LED也可以回收再利用;坚固耐用,LED是被完全的封装在环氧树脂里面,它比灯泡和荧光灯管还要坚固,等体内也没有松动的部分,这些特点使得LED可以说是不易损坏的。
LED显示屏:
它是一种通过控制半导体发光二极管的显示方式,其大概的样子就是由很多个通常是红色的小灯组成,靠灯的亮灭来显示字符。
用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。
点阵模块方案:
最早的设计方案,由室内伪彩点阵屏发展而来优势:
原材料成本最有优势,且生产加工工艺简单,质量稳定。
缺点:
色彩一致性差,马赛克现象较严重,显示效果较差。
LED显示屏市场前景现状:
目前由于LED显示屏造价昂贵,主要用于比较高档的场所,主要集中在城市的繁华场所,作为多媒体广告的一部分。
单双色LED显示屏主要应用于交通,高速公路,银行、证券交易等金融场所。
以后:
随着人们生活水平的提高,户外LED显示屏将逐渐应用于各个行业。
1.2单片机的应用
单片机是生活必不可缺的,顾名思义单片机的应用是很广泛的,导弹的导航装置、飞机上各种仪表的控制、计算机的网络通讯和数据传输、工业自动化过程和实时控制数据处理、广泛使用的智能IC卡、民用豪华轿车的安全保障系统、录像机和摄像机、全自动洗衣机的控制、以及程控玩具、电子宠物等等。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。
1.3电子显示屏
LED电子显示屏(LightEmittingDiodePanel)是由几百--几十万个半导体发光二极管构成的像素点,按矩阵均匀排列组成。
利用不同的半导体材料可以制造不同色彩的LED像素点。
目前应用最广的是红色、绿色、黄色。
而蓝色和纯绿色LED的开发已经达到了实用阶段。
LED显示屏是一种通过控制半导体发光二极管的亮度的方式,来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。
【5】
LED显示屏分为图文显示屏和条幅显示屏,均由LED矩阵块组成。
图文显示屏可与计算机同步显示汉字、英文文本和图形;而条幅显示屏则适用于小容量的字符信息显示。
LED显示屏因为其像素单元是主动发光的,具有亮度高,视角广、工作电压低、功耗小、寿命长、耐冲击和性能稳定等优点。
因而被广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
按颜色分类:
单基色显示屏:
单一颜色(红色或绿色)。
双基色显示屏:
红和绿双基色,256级灰度、可以显示65536种颜色。
全彩色显示屏:
红、绿、蓝三基色,256级灰度的全彩色显示屏可以显示一千六百多万种颜色。
按显示器件分类:
LED数码显示屏:
显示器件为7段码数码管,适于制作时钟屏、利率屏等,显示数字的电子显示屏。
LED点阵图文显示屏:
显示器件是由许多均匀排列的发光二极管组成的点阵显示模块,适于播放文字、图像信息。
按使用场合分类:
室内显示屏:
发光点较小,一般Φ3mm--Φ8mm,显示面积一般零点几至十几平方米。
室外显示屏:
面积一般几十平方米至几百平方米,亮度高,可在阳光下工作,具有防风、防雨、防水功能。
按发光点直径分类:
室内屏:
Φ3mm,Φ3.75mm,Φ5mm
室外屏:
Φ10mm,Φ12mm,Φ16mm,Φ19mm,Φ21mm,Φ26mm
室外屏发光的基本单元为发光筒,发光筒的原理是将一组红、绿、蓝发光二极管封在一个塑料筒内共同发光增强亮度。
图1.1LED电子显示屏应用示例
图1.1左:
图文屏右:
条幅屏。
其中的LED点阵单色图文动态条幅屏(下文中简称条屏),因为成本低廉、可靠性高、显示效果优良,所以成为点阵式LED汉字广告屏中的主流产品。
2系统总体方案
图2-1系统电路框图
如图2-1所示,本设计通过单片机来控制行列驱动器使LED显示屏显示出汉字,单片机选用AT89C52芯片,行驱动器采用AT89C52的P0口,列驱动器选用74HC138芯片。
该系统主要由AT89C52芯片、电源、行驱动器、列驱动器、16×16LED点阵5部分组成。
2.1需要实现的功能
用移动显示屏来显示汉字,通过单片机AT89C52的行扫描和74LC138芯片的列扫描使点阵显示屏移动显示“你好!
欢迎你乘坐三汽公司公共汽车,大学城2线开往大学城,请你坐好扶稳”的字幕。
当中还要实现的功能:
5V的电压输入,时钟电路的设置,复位电路的设置,单片机给74LC138芯片的E1高电平同时给E2和E3低电平,74LC138才能正常的工作。
点阵模块:
此点阵模块由四个8*8点阵组成。
图2.2示出最常见的8×8单色LED点阵显示器的内部电路结构图和外型规格,其它型号点阵的结构与引脚可试验获得。
其单点工作电压Uf为1.8V,正向电流IF为8~10mA【6】。
当某一行线为高电平而某一列线为低时,其行列交叉的点就被点亮;而当其某一列线为高时,其行列交叉的点为暗;当某一行线为低电平时,无论列线如何,对应这一行的点全部为暗。
图2.28×8单色LED模块内部电路
8X8点阵LED工作原理说明:
8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:
一根竖柱:
对应的列置1,而行则采用扫描的方法来实现。
一根横柱:
对应的行置0,而列则采用扫描的方法来实现[7]。
需要实现的功能如下图流程图图2.3所示:
图2.3功能流程图
本设计使用AT89C52实现行驱动,对显示模块从上至下的扫描,用74LC138实现列驱动,对显示模块从左至右的扫描,然后显示字符。
在中规模集成电路中译码器有几种型号,使用最广的通常是74LC138译码器,74LC138译码器的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门(因为每次仅一个为低电平,其余皆为高电平);74LC138译码器有使能端,故使能端必须加以处理,否则无法实现需要的逻辑功能。
在片选使用状态下输入中8线始终只有1线为0,此74LC138芯片在单片机系统中极大限度的起到了扩展IO资源的作用,只要用单片机的2个IO引脚资源就能控制8个输出,而且程序的编制也容易实现。
2.2滚屏的实现
字符的位置在屏幕上实现移动,即术语“滚屏”。
可以用硬件实现,但无疑增加了额外的硬件成本及设计难度。
因此本设计采用软件算法实现左滚屏、左暂停、定格显示等常见滚屏方式。
用软件来完成滚屏算法,其最大的优点在于成本低廉,而且可维护性、可升级性大大增强。
3系统硬件设计
3.1单片机系统及外围电路
3.1.1AT89C52芯片介绍
本设计选用AT89C52单片机作控制,AT89C52为40脚双列直插封装的8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8XC52相同,其主要用于会聚调整时的功能控制。
主要管脚有:
XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。
RST(9脚)为复位输入端口,外接电阻电容组成的复位电路。
VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。
P0~P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能[8]。
AT89C52的引脚图如下图3.1所示:
图3.1AT89C52引脚图
3.1.2单片机系统外围电路
单片机外围电路一般有两块:
时钟电路(如图3.2)和复位电路(如图3.3)。
时钟电路由一个晶振和两个小电容组成,用来产生时钟频率。
复位电路由一个电阻、按键和一个电容组成,用来产生复位信号,使单片机上电的时候复位。
图3.2时钟电路图
AT89C52单片机芯片内部有一个反向放大器构成的振荡器,XTAL1和XTAL2分别为振荡器电路的输入端和输出端,时钟可由内部和外部生成,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就会产生自激振荡。
系统采用的定时元件为石英晶体和电容组成的并联谐振回路。
晶振频率选择12MHz,C1、成的电容值取22PF,电容的大小频率起微调的作用【9】。
图3.3复位电路图
单片机有多种复位电路,本系统采用电平式开关复位与上电复位方式,当上电时,C1相当于短路,使单片机复位,在正常工作时,按下复位时单片机复位。
在有时碰到干扰时会造成错误复位,但是大多数条件下,不会出现单片机错误复位,而可能会引起内部某些寄存器错误复位,在复位端加一个去耦电容,则会得到很好的效果。
3.2
电源模块
图3.4USB端口连接图
电源部分采用的是USB供电,因为USB端口是标准的5V电压且电压相随稳定。
而且USB口连接方便只需要USB数据线与USB供电口相连即可。
图3.4即为USB端口电路图,其端口输出的是标准的5V电压,而且连接使用非常方便,只需将5V端与系统正极相连,地端与系统地端相连,南桥端接空,就可以给系统提供标准的5V电压。
3.3扫描驱动
LED点阵显示屏的驱动电路包括两组信号为两部分,一是扫描信号,二是显示信号。
在本设计中显示信号由单片机的IO口P0口直接进行显示信号的输出,扫描信号则是使用3—8线译码器对点阵进行逐列扫描。
每次显示一列,根据人眼的视觉暂留效应显示为完整的图像或文字。
点阵式LED汉字广告屏绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。
将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。
最典型的例子就是电影放映机。
在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。
【10】
以8×8点阵模块为例,说明一下其使用方法及控制过程。
图3.5中,红色水平线Y0、Y1……Y7叫做行线,接内部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。
相邻两行线间绝缘。
同样,蓝色竖直线X0、X1……X7叫做列线,接内部每列8个LED的阴极,相邻两列线间绝缘。
[11]
在这种形式的LED点阵模块中,若在某行线上施加高电平(用“1”表示),在某列线上施加低电平(用“0”表示)。
则行线和列线的交叉点处的LED就会有电流流过而发光。
比如,Y7为1,X0为0,则右下角的LED点亮。
再如Y0为1,X0到X7均为0,则最上面一行8个LED全点亮。
现描述一下用动态扫描显示的方式,显示字符“B”的过程。
其过程如图3.5
图3.5用动态扫描显示字符“B”的过程
假设X,Y为两个8位宽的字节型数据,X的每位对应LED模块的8根列线X7-X0,同样Y的每位对应LED模块的8根行线Y7-Y0。
在这个示例中,Y叫行扫描线,行扫描线在每个时刻只有一根线为“1”即有效行选通电平,X叫列数据线,其内容就是点阵化的字模数据的体现。
下面用伪代码描述动态显示的过程。
(1).Y=0x01,X=0xFF,如图2.2第一帧;
(2).Y=0x02,X=0x87,如图2.2第二帧;
(3).Y=0x04,X=0xBB,如图2.2第三帧;
(4).Y=0x08,X=0xBB,如图2.2第四帧;
(5).Y=0x10,X=0x87,如图2.2第五帧;
(6).Y=0x20,X=0xBB,如图2.2第六帧;
(7).Y=0x40,X=0xBB,如图2.2第七帧;
(8).Y=0x80,X=0x87,如图2.2第八帧;
(9).跳到第
(1)步循环。
如果高速地进行
(1)到(9)的循环,且两个步骤间的间隔时间小于1/24秒,由于视觉暂留。
LED显示屏上将呈现出一个完整的“B”字符。
这就是动态扫描的原理。
只不过实际运用的时候,列线和行线通常不止8位,还要根据列线和行线的数量来决定是用行线或列线来做扫描线。
例如0601条屏(每行6个汉字,共1行),行线有16根,列线有96根。
如果用列线来做扫描线,则每列LED在每96次循环扫描中只可能亮一次,则其发光视觉平均亮度为直流亮度的1/96【12】。
如果用行线来做扫描线,则每16次循环,每行LED就能亮一次,其发光视觉平均亮度为直流情况下的1/16。
可见,用行线做扫描线,因为其发光周期的占空比较大,其视觉亮度是用列线做扫描线的6倍。
因而发光效率比前者高。
在实际运用的时候,还要在每两帧之间加上合适的延时,以使人眼能清晰的看见发光。
在帧切换的时候还要加入余辉消除处理。
比如先将扫描线全部设置为无效电平,送下一行的列数据后再选通扫描线,避免出现尾影。
3.3.174HC138芯片介绍
译码器也称解码器,译码过程实际上是一种翻译过程,即编码的逆过程[13]。
译码器的输入是n位二值代码,输出是m个表征代码原意的状态信号。
一般情况下有m小于2的n次方,即译码器的输入线比输出线要少译码器按其功能可分为三大类:
(1)变量译码器:
将输入的二进制代码还原为原始输入信号。
例如有两位二进制代码(0,1),可经译码器还原为四个信号状态(0,0)(0,1)(1,0)(1,1)。
(2)代码变换译码器:
用于将一个数据的不同代码之间的相互转换。
例如二-十进制译码器可将8421码转换为十个状态。
(3)显示译码器:
将数字、文字或符号的代码还原成相应的数字、文字、符号并显示出来的电路。
表3.174HC138功能表
图3.574HC138引脚图
由上表可见74HC138译码器输出低电平有效。
为增加译码器功能,除三个输入端C、B、A外,还设置了G1、/G2A,/G2B,使译码器具有较强的抗干扰能力且便于扩展。
当G1=0时,不管其他输入如何,电路输出均为“1”,即无译码输出;只有当G1=1,且/G2A=/G2B=0时,译码器才处于允许工作状态,输出与输入二进制码相对应,如CBA=110时,Y6输出低电平。
本设计中即利用其使能端扩展,将两片74HC138组成4—16线译码器。
若将选通端中的一个作为数据输入端时,74LC138还可作数据分配器。
3.3.2驱动电路的构成
本设计的驱动电路由电阻和PNP的三极管构成,由三极管将电流放大,再通过三极管的集电极输出给点阵显示屏,使其足够亮。
其驱动电路的电阻值是采用4.7K欧姆的电阻,其驱动电压为5V。
行驱动电路如图3.6所示,列驱动电路如图3.7所示:
图3.6行驱动电路图
图3.7列驱动电路图
3.416×16LED显示屏电路和原理
16*16LED显示屏电路由四个8*8LED点阵组成的,其中二极管的正极控制器也就是AT89C52,负极接译码器也就是74LS138。
显示屏可以显示字符、汉字、动画等任何图形。
该电路充分利用了单片机的I/O口资源.使整机硬件达到最简。
8*8点阵的原理:
点阵LED一般采用扫描式显示,实际运用分为三种方式:
(1)点扫描;
(2)行扫描;
(3)列扫描。
若使用第一种方式,其扫描频率必须大于16×64=1024Hz,周期小于1ms即可。
若使用第二和第三种方式,则频率必须大于16×8=128Hz,周期小于7.8ms即可符合视觉暂留要求。
此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。
8X8点阵LED工作原理说明:
8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:
一根竖柱:
对应的列置1,而行则采用扫描的方法来实现。
一根横柱:
对应的行置0,而列则采用扫描的方法来实现。
电路如图3.8所示:
图3.8LED显示屏电路图
4系统程序的设计
4.1显示驱动电路
显示屏软件的主要功能是向显示屏提供显示数据,并产生控制信号,使屏幕按设计的要求显示。
根据软件分层次设计的原理,可以把显示屏的软件系统分为两大层:
第一层是底层的显示驱动程序,第二层是上层的系统应用程序。
显示驱动程序负责向点阵屏幕传送特定组合的显示数据,并负责产生扫描信号和其他控制信号,从而配合LED点阵屏的扫描显示工作。
开始工作后,单片机中的程序开始运行,程序开始读取所存储的取模数据并将数据输出到LED点阵显示屏上,通过信号扫描显示出来。
软件是该LED显示屏控制系统的重要组成部分,是整个控制系统的核心部分。
显示部分采用动态扫描的方式,实现对显示屏要显示的汉字、图像、字符等数据信息进行传输控制以及显示等功能。
图4.1是显示一屏字符的程序流程图。
与PC机的实时通信部分主要是利用单片机串口中断接收数据信息,实现与计算机的数据信息传输。
其程序流程图如图4.1和4.2所示。
图4.1显示一屏字的程序流程图
图4.2通信程序流程图
16×16点阵显示程序见附录2
5调试及性能分析
5.1软件调试
将上述程序在软件KEIL进行编译,如果有错误,则在最后的输出窗口中会出现所有错误所在的位置和错误的原因,并有“Target