单片机的Led点阵广告牌设计论文设计Word文档下载推荐.docx
《单片机的Led点阵广告牌设计论文设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单片机的Led点阵广告牌设计论文设计Word文档下载推荐.docx(37页珍藏版)》请在冰豆网上搜索。
摘要……………………………………………………………………….I
绪论……………………………………………………………….......
(1)
1LED概述…...........................…………………………………………
(2)
1.1LED电子显示屏概述…………....................…………………..
(2)
1.2LED电子显示屏的分类……………................………………..
(2)
2显示原理及控制方式分析…………………………………………(3)
2.1LED点阵显示的特点……………...........……………………..(3)
2.216×
16点阵LED原理及应用…….........……………………..(4)
2.3LED点阵的显示文字图形原理………….......………………..(5)
2.4点阵的移动………………………………......………………..(8)
2.5芯片资料………………………………....…………………..(9)
3方案设计………………………………………………………………………(13)
3.1单片机延时子程序....…………………………………..……..(13)
3.2PROTEUS仿真..…………………………………………..……..(14)
3.3软件调试….……………………………………….…………..(14)
3.4硬件调试….……………………………………….…………..(15)
4经验总结.………………………………………………….……..(15)
附录……………………………………………………………….…..(16)
参考文献…………………………………………………….………..(22)
致谢…………………………………………………………….……..(23)
绪论
当今社会在飞速发展无疑能源、健康、空间的利用,成了人们着重关注的对象。
而在这个信息传递极速的社会,LED的出现给人们带来了希望之光。
LED(LightEmittingDiode),发光二极管,简称LED,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光。
LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极使整个晶片被环氧树脂封装起来。
半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。
但这两种半导体连接起来的时候,它们之间就形成一个“P-N结”。
当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。
多个LED发光灯组成固定的字符或图形进行显示,即形成LED点阵图文显示屏。
其主要特征是只控制LED点阵中各发光器件的通断(发光或熄灭),而不控制LED的发光强弱。
LED点阵的汉字显示方式是先根据所需要的汉字提取汉字点阵(如16×
16点阵),将点阵文件存入ROM,形成新的汉字编码;
而在使用时则需要先根据新的汉字编码组成语句,再由MCU根据新编码提取相应的点阵进行汉字显示。
点阵显示器有单色和双色两类,可显示红,黄,绿,橙等。
LED点阵有4×
4、4×
8、5×
7、5×
8、8×
8、16×
16、24×
24、40×
40等多种;
根据图素的数目分为等,双原色、三原色等,根据图素顏色的不同所显示的文字、图像等内容的顏色也不同,单原色点阵只能显示固定色彩如红、绿、黄等单色,双原色和三原色点阵显示内容的顏色由图素内不同顏色发光二极体点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极体的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示。
1LED概述
1.1LED电子显示屏概述
LED电子显示屏(LightEmittingDiodePanel)是由几百--几十万个半导体发光二极管构成的像素点,按矩阵均匀排列组成。
利用不同的半导体材料可以制造不同色彩的LED像素点。
目前应用最广的是红色、绿色、黄色。
而蓝色和纯绿色LED的开发已经达到了实用阶段。
LED显示屏是一种通过控制半导体发光二极管的亮度的方式,来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。
LED显示屏分为图文显示屏和条幅显示屏,均由LED矩阵块组成。
图文显示屏可与计算机同步显示汉字、英文文本和图形;
而条幅显示屏则适用于小容量的字符信息显示。
LED显示屏因为其像素单元是主动发光的,具有亮度高,视角广、工作电压低、功耗小、寿命长、耐冲击和性能稳定等优点。
因而被广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
LED显示屏的发展前景极为广阔,目前正朝着更高亮度、更高气候耐受性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。
1.2LED电子显示屏的分类
按颜色分类:
单基色显示屏:
单一颜色(红色或绿色)。
双基色显示屏:
红和绿双基色,256级灰度、可以显示65536种颜色。
全彩色显示屏:
红、绿、蓝三基色,256级灰度的全彩色显示屏可以显示一千六百多万种颜色。
按显示器件分类:
LED数码显示屏:
显示器件为7段码数码管,适于制作时钟屏、利率屏等,显示数字的电子显示屏。
LED点阵图文显示屏:
显示器件是由许多均匀排列的发光二极管组成的点阵显示模块,适于播放文字、图像信息。
按使用场合分类:
室内显示屏:
发光点较小,一般Φ3mm--Φ8mm,显示面积一般零点几至十几平方米。
室外显示屏:
面积一般几十平方米至几百平方米,亮度高,可在阳光下工作,具有防风、防雨、防水功能。
按发光点直径分类:
室内屏:
Φ3mm、Φ3.75mm、Φ5mm、
室外屏:
Φ10mm、Φ12mm、Φ16mm、Φ19mm、Φ21mm、Φ26mm
室外屏发光的基本单元为发光筒,发光筒的原理是将一组红、绿、蓝发光二极管封在一个塑料筒内共同发光增强亮度。
2显示原理及控制方式分析
2.1LED点阵显示具有如下特点:
(1)电压:
LED使用低压电源,供电电压在6-24V之间,根据产品不同而异,所以它是一种比使用高压电源更安全的电源。
(2)效能:
消耗能量比同光效的白炽灯减少80%。
(3)适用性:
每个单元LED小片是3-5mm的正方形,所以可以制备成各种形状的器件,并且适合于易变的环境。
(4)稳定性:
10万小时,光衰为初始的50%。
(6)对环境污染:
无有害金属汞。
(7)颜色:
改变电流可以变色,发光二极管方便地通过化学修饰方法,调整材料的能带结构和带隙,实现红黄绿兰橙多色发光。
由于LED的众多优势,在市场中得到了广泛的应用,主要应用领域有:
(1)、信号指示应用:
信号照明是LED单色光应用比较广泛也是比较早的一个领域,约占LED应用市场的4%左右。
(2)、显示应用:
指示牌、广告牌、大屏幕显示等,LED用于显示屏幕的应用约占LED应用的20%—25%,显示屏幕可分为单色和彩色。
(3)、照明应用:
便携灯具,汽车用灯,特殊照明。
由于LED尺寸小,便于
动态的亮度和颜色控制,因此比较适合用于建筑装饰照明。
背光照明:
普通电子设备功能显示背光源、笔记本电脑背光源、大尺寸超大尺寸LCD显示器背光源以及投影仪用RGB光源。
2.2、16×
16点阵LED原理及应用
设计时必须掌握点阵工作原理方能进行更深层设计。
16x16LED点阵其实就是4块8x8点阵LED级联而成的,因此特给出8×
8点阵LED的工作原理。
图
(1)为8×
8点阵LED外观及引脚图,其等效电路如图
(2)所示,只要其对应的X、Y轴顺向偏压,即可使LED发亮。
例如如果想使左上角LED点亮,则Y0=1,X0=0即可。
应用时限流电阻可以放在X轴或Y轴。
而16x16就是在8x8原理的基础上将四块8x8级联而成,如图(3)。
图
(1)8×
8点阵LED外观及引脚图
图
(2)8×
8点阵LED等效电路
图(3)四块8x8点阵LED级联成16x16点阵
2.3、LED点阵的显示文字图形原理
汉字显示屏用于显示汉字、字符及图像信息,在公共汽车、银行、医院及户外广告等地方都有广泛的应用。
下面是简单的汉字显示屏的制作,由单片机控制汉字的显示内容。
为了降低成本,使用了四块8×
8的LED点阵发光管的模块,组成了一个16×
16的LED点阵显示屏,如图(3)所示。
在这里仅做了二十五个汉字的显示,在实际的使用中可以根据这个原理自行的扩展显示的汉字,下面是介绍汉字显示的原理。
LED驱动显示采用动态扫描方法,动态扫描方式是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。
以16×
16点阵为例,把所有同一行的发光管的阴极连在一起,把所有同一列的发光管的阳极连在一起(共阴的接法),先送出对应第1列发光管亮灭的数据并锁存,然后选通第1列使其燃亮一定的时间,然后熄灭;
再送出第2列的数据并锁存,然后选通第2列使其燃亮相同的时间,然后熄灭;
….第16列之后,又重新燃亮第1列,反复轮回。
当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形。
该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。
显示数据可通过单片机的P0,,P2口接驱动电路传输到点阵行引脚。
LED点阵显示模块进行的方法有两种:
1)水平方向(X方向)扫描,即逐列扫描的方式(简称列扫描方式):
此时用一个P口输出列码决定哪一列能亮(相当于位码),用另一个P口输出行码(列数据),决定该列上哪个LED亮(相当于段码)。
能亮的列从左到右扫描完16列(相当于位码循环移动16次)即显示出一个完整的图像。
(2)竖直方向(Y方向)扫描,即逐行扫描方式(简称行扫描方式):
此时用一个P口输出决定哪一行能亮(相当于位码),另一个P口输出列码(行数据,行数据为将列数据的点阵旋转90度的数据)决定该行上哪些LED灯亮(相当于段码)。
能亮的行从上向下扫描完16行(相当于位码循环移位16次)即显示一帧完整的图像。
本设计应用的是第一种的扫描方法,即水平方向(X方向)扫描。
每一个字由16行16列的点阵形成显示,即每个字均由256个点阵来表示,我们可以把每一个点理解为一个像素。
一般我们使用的16×
16的点阵宋体字库,即所谓的16×
16,是每一个汉字在纵横各16点的区域内显示的。
汉字库从该位置起的32字节信息记录了该字的
字模信息。
事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素范围内的任何图形。
我们以水平方向(x方向)扫描显示汉字的“杨”为例来说明其扫描原理,
每一个字由16行16列的点阵组成显示,如图下的,如果用8位的AT89S51的单片机来控制,由于单片机的总线为8位,一个字需要拆分成两个部分。
一般我们把它分解成上部分和下部分,上部分由8*16的点阵组成,下部分也由8*16的点阵组成。
在本例中单片机首先显示的是左上角的第一列的部分,即第0列的P00~P07口。
方向为P07到P00,显示汉字“杨”的时候,P00到P02都是灭的,P03亮,因为行接阴极,即二进制,转换为16进制为F7H,如图(4)所示。
上半部分第一列完成之后,继续扫描下半部分的第一列,即从P27向P20方向扫描,从上图可以看到,这一列P2.2亮,其余全部灭,所以代码为,16进制为FBH,然后单片机转向上半部的第二列,除了P03亮,其他的都不亮,即为,16进制为F7H,这一列扫描完成之后继续进行下半部分的扫描,除了P20\P21亮,其他的为不亮,为二进制,即16进制FCH。
按照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得出汉字“杨”的扫描代码为:
F7HFBHF7HFCH37HFFH00H00H
B7HFFH77HFEHF5HF7HBDHDBH;
9DHECH2DHF7HB5HF9H39HBEH
BDH7FH3FH80HFFHFFHFFHFFH;
图(4)显示原理图
由这个原理可以看到,无论显示何种字体或图像,都可以用这种方法来分
析出它的扫描代码从而显示在屏幕上。
了解汉字的显示原理之后,那如何得到汉字的字模信息呢?
现在有一些现成的汉字字模生成软件,可从网上下载汉字字库提取程序直接提取字库,如图(5)所示的为一种字模生成软件,软件打开后输入汉字,点击“检取”后,十六进制数据汉字代码即可以自动生成,把我们需要的竖排数据复制到我们的程序即可。
图(5)
2.4、点阵的移动
以下以16×
16点阵为例介绍点阵的移动。
要显示一个字符,该字符的点阵数据可以列向(纵向)16点组字,又可以行向(横向)16点组字。
无论哪一种组字方法,都既可以显示字符的水平方向的移动,又可以显示竖直方向的移动。
本设计主要采用汉字的左移,所以以下只作左移显示的解释。
显示字符的左右移动
(1)列扫描方式左移动:
列向组字显示字符水平方向的移动(左滚动)
在这里有两个方法:
方法1:
延长数组法。
将原来字符点阵数组的16个数据重复一遍延长,点阵数组的数据个数为32个。
每扫描一帧取8个数据显示,下一帧取数要在数组中后移一个数取数。
循环一遍扫16帧。
可以假想有两块16×
16的点阵模块(共32帧)水平平行排列,用一个恰好能罩住16列点阵的中空方框去罩这个点阵,第1(第1帧)罩住最左边数起第一列开始的16列,就扫描显示这16列;
第2次(第2帧)使方框右移一列,罩住做左边数起第2列开始的16列,就扫描显示这16列;
·
;
这样每扫描完一帧使方框右移一列,最后第16次(第16帧)
罩住左边数起的第16列开始的16列,就扫描显示这16列。
如此完成16帧画面的扫描显示,也就完成了整个一次移动循环扫描、之后反复循环,即可呈现显示字符沿水平向左移动的图像,如图6所示。
图6方框图法左右移动示意图
因为是列向组字(列扫描方式,点阵数据为行码,上边为低位下面为高位),希望显示移动的一个字符,第1次扫描从行码的点阵数组中取第1~16个数据,送行码输出口,对应于这8个数据,同时用列码输出口输出列码,分别控制第1~16列。
扫描完前16个数据之后,第2次扫描从点阵数组中取第3~18个数据(第18个数据与第1个数据同),送行码输出口,对应于这16个数据,同时用列码输出口输出列码,仍分别控制扫第1~16列。
第3次扫描从点阵数组中取第5~20个数据(第20个数据码与第2个数据码相同)扫描·
如此实现字符向左移动。
以上完成一个图形移动的方法,也可以看成是移动16个不同的字形。
如图2.13所示,首先扫描第一个字型,同样是16行,16次扫描,16次显示;
完成一个字型的扫描以后,再扫描第二个字型;
完成第二个字型的扫描之后,再扫描第三个字型·
依此类推,即可产生该文字的左移的感觉。
假设如果原本某个汉字的字型(第一个字型),其编码为:
00H,10H,20H,30H,40H,50H,60H,70H,80H,90H,0A0H,0B0H,0C0H,0D0H0E0H,0F0H;
第二个字型的编码为:
20H,30H,40H,50H,60H,70H,80H,90H,0A0H,0B0H,0C0H,0D0H0E0H,0F0H,00H,10H
也就是把第一个字型的编码中,第1列显示数据,变为第2列显示数据;
第2列显示数据,变成第3列显示数据;
第3列显示数据,变成第4列显示数据;
第4列显示数据,变成第5列显示数据·
以此类推。
当第一个字型扫描显示完成之后,就进行这样的动作调整,以产生第二个字型的编码。
同样的,当第二个字型扫描完成之后,就进行这样的调整动作,以产生第三个字型的编码。
这个调整动作时先将16个编码根据序填入存储器,例如第1行编码存入20H,第二行编码存入21H·
要进行左移调整时,则先将20H地址的数据转移到36H地址,再将21H地址的数据转移到20H地址,将22H地址的数据转移到21H地址,将23H地址的数据转移到22H地址,将24H地址的数据转移到23H地址,将25H地址的数据转移到24H地址,将26H地址的数据转移到25H地址,将27H地址的数据转移到26H地址,将28H地址的数据转移到27H地址·
本设计主要采用以上方法实现左移,其他方法在此不再说明。
2.5芯片资料
主要芯片介绍
1.8051系列的单片机
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
图片见下图附录1。
附录189S51管脚图
(1).管脚说明
(2)VCC:
供电电压。
(3)GND:
接地。
(4)P0口:
P0口为一个8位漏级开路双向IO口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
(5)P1口:
P1口是一个内部提供上拉电阻的8位双向IO口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
(6)P2口:
P2口为一个内部上拉电阻的8位双向IO口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
(7)P3口:
P3口管脚是8个带内部上拉电阻的双向IO口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
(8)P3口也可作为AT89C51的一些特殊功能口,如下表所示:
(9)口管脚备选功能
(10)P3.0RXD(串行输入口)
(11)P3.1TXD(串行输出口)
(12)P3.2INT0(外部中断0)
(13)P3.3INT1(外部中断1)
.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6WR(外部数据存储器写选通)
P3.7RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALEPROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的16。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次PSEN有效。
但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。
EAVPP:
当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,EA将内部锁定为RESET;
当EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出
2.74ls154功能简介:
为4线-16线译码器,当选通端(G1、G2)均为低电平时,可将地址端(ABCD)的二进制编码在一个对应的输出端,以低电平译出。
如果将G1和G2中的一个作为数据输入端,由ABCD对输出寻址,74LS154
还可作1线-16线数据分配器。
附录274LS154管脚图
(2)引脚功能介绍
A、B、C、D译码地址输入端(低电平有效)
G1、G2选通端(低电平有效)
0-15输出端(低电平有效)
(3)74ls154真值表:
3方案设计
3.1单片机延时子程序延时程序在单片机编程中使用非常广泛,也很重要,在本课程设计的程序中用到了延时子程序,所以在此详细的叙述一下。
在弄清延时程序指令的用法之前,要清楚的了解延时程序的基本概念,机器周期和指令周期的区别和联系、相关指令的用法等。
。
下面是本设计的程序中延时程序的计算:
DELAY:
MOVR2,#2;
1延时1ms
D1:
MOVR3,#2481
DJNZR3,$2*248
DJNZR2,D12*(2+1+2*248)
RET2
T=1+2*(2+1+2*248)+2=1001us
3.2.PROTEUS仿真
1.列驱动电路:
如图,用74hc154控制列扫描电路,外加PNP型三极管基极经200欧电阻接154输出引脚,集电极接点阵16列引脚,发射极接电源vcc实现饱和导通状态。
2.行控制电路可直接接上单片机P0,P2口。
如图9
图9行控制电路图
3.3软件调试在PROTEUS环境中通过了