多功能LED点阵屏设计论文农永聪.docx
《多功能LED点阵屏设计论文农永聪.docx》由会员分享,可在线阅读,更多相关《多功能LED点阵屏设计论文农永聪.docx(42页珍藏版)》请在冰豆网上搜索。
多功能LED点阵屏设计论文农永聪
摘要
LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成.LED点阵显示屏可以显示数字或符号,通常用来显示时间、速度、系统状态等。
文章给出了一种基于AVR单片机的16×32点阵LED显示屏的设计方案。
包括系统具体的硬件设计方案,软件流程图和部分汇编语言程序等方面。
在负载范围内,只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。
此外,扩展单片机外围接口、温度采集、非接触式止闹、滚动屏幕显示、语音报时等功能。
本系统大部分功能由软件来实现,吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。
本系统不仅成功的实现了要求的基本功能,发挥部分也得到完全的实现,而且有一定的创新功能。
关键字:
AVR单片机、LED大屏幕、滚屏显示
Abstract
Asapopulardisplaydevicecomponent,LEDdot-matrixdisplayboardconsistsofseveralindependentLED(LightEmittingDiode).TheLEDdot-matrixdisplayboardcandisplaythenumberorsign,anditisusuallyusedtoshowtime,speed,thestateofsystemetc.Thispaperintroducesakindofsimple16x16LEDdisplayscreendesignprocessbasedonMCS-51singlechipminicomputer.Thedetailhardwarescheme,softwareflowandassemblelanguageprogrammerdesignandsoonisfollowed.Thedisplaypartcanbecascadedtomeettheneed.Thepracticeprovesthedesignislow-costandeffective.Inaddition,theexpansionperipheralinterfacemicrocontroller,temperaturecollection,non-contactonlytrouble,scrollthescreendisplay,voicetimekeepingfunctions.Mostofthefunctionalityofthesystembythesoftwaretoachieve,hasabsorbedtheideaofhardwareandsoftware,mostofthefunctionsrealizedbysoftwaretomakethecircuitsimple,significantlyimprovingsystemstability.Thesystemnotonlyachievedthesuccessofthebasicfunctionsrequiredtoplaysomealsobefullyrealized,andhassomeinnovativefeatures.
Keywords:
AVRmicrocontroller,LED,MCU
1引言
LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
在实际应用中的显示屏由于成本和可靠性的因素常采用一种称为动态扫描的显示方法。
本文设计的是一个室内用8x16的点阵LED图文显示屏,图形或文字显示有静止、移入移出等显示方式。
1.1背景介绍
LED就是LightEmittingDiode(发光二极管)的缩写。
在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。
PN结加反向电压,少数载流子难以注入,故不发光。
这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。
发光二极管是由p型和n型半导体组成的二极管。
在LED的p-n结附近,n型材料中多数载流子是电子,p型材料中多数载流子是空穴。
p-n结上未加电压时构成一定的势垒,当加正向偏压时,在外电场作用下,p区的空穴和n区的电子就向对方扩散运动,构成少数载流子的注入,从而在p-n结附近产生导带电子和价带空穴的复合,同时释放出相对应的能量hν(h为普朗克常数,ν为光子频率)而发光。
该能量相当于半导体材料的带隙能量Eg(Ev),其与发光波长λ(nm)的关系为λ=1239.6PEg。
LED显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。
LED显示屏分为图文显示屏和视频显示屏,均由LED矩阵块组成。
图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维动画、录像、电视、VCD节目以及现场实况。
LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
它的优点:
亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。
2方案论证
2.1显示部分
显示部分是本次设计最核心的部分,对于LED8*8点阵显示有以下两种方案:
方案一:
静态显示,将一帧图像中的每一个二极管的状态分别用0和1表示,若为0,则表示LED无电流,即暗状态;若为1则表示二极管被点亮。
若给每一个发光二极管一个驱动电路,一幅画面输入以后,所有LED的状态保持到下一幅画。
对于静态显示方式,所需的译码驱动装置很多,引线多而复杂,成本高,且可靠性也较低。
方案二:
动态显示,对一幅画面进行分割,对组成画面的各部分分别显示,是动态显示方式。
动态显示方式,可以避免静态显示的问题。
但设计上如果处理不当,易造成亮度低,闪烁问题。
因此合理的设计既应保证驱动电路易实现,又要保证图像稳定,无闪烁。
动态显示采用多路复用技术的动态扫描显示方式,复用的程度不是无限增加的,因为利用动态扫描显示使我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短,发光的亮度等因素.我们通过实验发现,当扫描刷新频率(发光二极管的停闪频率)为50Hz,发光二极管导通时间≥1ms时,显示亮度较好,无闪烁感.。
鉴于上述原因,我们采用方案二
2.2数字时钟
数字时钟是本设计的重要的部分。
根据需要,可利用两种方案实现。
方案一:
本方案完全用软件实现数字时钟。
原理为:
在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。
利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节清零。
该方案具有硬件电路简单的特点,但当单片机不上电,程序将不执行。
且由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。
方案二:
本方案采用Dallas公司的专用时钟芯片DS1302。
该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。
为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。
当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。
而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。
基于时钟芯片的上述优点,本设计采用方案二完成数字时钟的功能。
2.3温度采集部分
能进行温度测量是本设计的创新部分,由于现在用品追求多样化,多功能化,所以我们决定给系统加上温度测量显示模块,方便人们的生活,使该设计具有人性化。
方案一:
采用热敏电阻,可满足40摄氏度至90摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测小于1摄氏度的信号是不适用的。
方案二:
采用温度传感器DS18B20。
DS18B20可以满足从-55摄氏度到+125摄氏度测量范围,且DS18B20测量精度高,增值量为0.5摄氏度,在一秒内把温度转化成数字,测得的温度值的存储在两个八位的RAM中,单片机直接从中读出数据转换成十进制就是温度,使用方便。
基于DS18b20的以上优点,我们决定选取DS18b20来测量温度。
2.4芯片的选择
方案一:
采取并口输入,占用大量I/O口资源
方案二:
选取串口输入,使用较少。
所以我们选用串口输入。
串口输入我们可以选用芯片有74HC595、74LS164、TPIC6B595。
但是74HC595和74LS164两种芯片必须加驱动才能驱动LED,而TI公司的DMOS器件TPIC6B595,除具有TTL和CMOS器件中移位寄存器595的逻辑功能外,其最大的特点是驱动功率大,可直接用作LED的驱动。
综合以上比较,我们选取TPIC6B595来驱动LED点阵。
2.5闹铃方式的选择
方案一:
采用蜂鸣器闹铃,当到设定时间时,单片机向蜂鸣器送出高电平,蜂鸣器发生。
采用蜂鸣器闹铃结构简单,控制方便,但是发出的闹铃声音单一。
方案二:
采用录音放音芯片1420闹铃,先对录放音设备录入一段音乐,当到设定时间时,单片机控制录放音设备放音。
采用录放音电路铃声可以自己预先设定一段自己喜欢的音乐,符合电器设备人性化的要求。
且1420芯片可以分段录音,还具有语音报时功能。
基于录音放音芯片1420的以上优点,我们决定采用录放音设备闹铃。
2.6止闹方式的选择
一般钟表都具有闹钟功能,到设定时间,便自动启动闹钟,发出音乐提醒人们,再由人按下止闹按钮停止闹钟工作。
一般每天只能设置一次闹钟、并要由人按下按钮止闹,使用不是很方便。
智能处理器应用可改变这种状况,一天可按自己需要设置闹钟的开关、多次闹钟设置并可用非接触方式止闹。
方案一:
采取远程红外遥控止闹,遥控器发出特定红外信号时,单片机接受到信号,向发音设备发出停止信号止闹。
红外遥控止闹控制距离远,但是价格昂贵,增加了制造成本。
方案二:
采取光电传感器,当用一物体遮挡光电传感光电传感器向单片机接口送出一个低电平,单片机立即向发音设备发出停止信号止闹。
光电传感器价格便宜,线路简单,易于控制。
基于以上比较我们决定采用光电传感器止闹。
2.7串口通讯芯片的选择
AT89S52串行口采用的是TTL电平,因此必须的有电平转换电路,可以选择1488,1489,MAX232A.
方案一:
采用1488或1489芯片实现电平转换,但在使用中发现这两种芯片可靠性不高,且需要正负12V电源,使用麻烦。
方案二:
采用单电源电平转换芯片MAX232A可以使电路变得简单,可靠。
基于以上分析,我们选用方案二,选用芯片MAX232A
2.8电源模块
方案一:
采用干电池作为LED点阵系统的电源,由于点阵系统耗电量较大,使用干电池需经常换电池,不符合节约型社会的要求。
点阵系统要悬挂在墙上,电池总量大,使用会有较大安全隐患。
方案二:
采用200W/5V直流稳压电源作为系统电源,不仅功率上可以满足系统需要,不需要更换电源,并且比较轻便,使用更加安全可靠
基于以上分析,我们决定采用方案二
3总体方案
3.1工作原理
利用AVR单片机作为本系统的中控模块。
单片机可把由DS18B20、DS1302读来的数据利用软件来进行处理,从而把数据传输到显示模块,实现温度、日历的显示。
点阵LED电子显示屏显示器为主要的显示模块,把单片机传来的数据显示出来,并且可以实现滚动显示。
利用光电传感器来实现非接触止闹功能。
在显示电路中,主要靠按键来实现各种显示要求的选择与切换。
3.2
总体设计
设计总体框图如图1
4、系统硬件设计
4.1AT89S52单片机最小系统
最小系统包括晶体振荡电路、复位开关和电源部分。
图2为AT89S52单片机的最小系统。
4.2温度测量模块
温度测量传感器采用DALLAS公司DS18B20的单总线数字化温度传感器,测温范围为-55℃~125℃,可编程为9位~12位A/D转换精度,测温分辨率达到0.0625℃,采用寄生电源工作方式,CPU只需一根口线便能与DS18B20通信,占用CPU口线少,可节省大量引线和逻辑电路。
接口电路如图3所示。
图3DS18B20测量电路
4.3时钟模块
时钟模块采用DS1302芯片,DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线1RES复位2I/O数据线3SCLK串行时钟时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信DS1302工作时功耗很低保持数据和时钟信息时功率小于1mW,其接线电路如图4
图4时钟电路
4.4键盘模块
键盘、状态显示模块:
为了使软件编程简单,本设计利用可编程芯片8255。
接法如表1所示。
PA口接按键,PC口则用于控制状态显示所用LED点阵。
每个按键都通过一个10K的上拉电阻接电源+Vcc,按键的另一端接地。
当有键按下时,与该键相连的PA口的相应位变为低电平,单片机检测到该变化后即转到相应的键处理程序,同时在程序中点亮LED点阵。
模块电路如图5
4.5LED显示模块
点阵数据串行输入,器件为移位寄存器TPIC6B595595,门控和扫描信号常以16点阵为一行进行并行处理。
在点阵显示中以4×8个LED点阵构成一个LED显示单元,采用行共阳列共阴的编排方式。
其驱动分为行列两部分,分别来自于行、列移位寄存器,行数据是扫描数据,16行中每次只有一行被驱动,采用逐行扫描方式,列数据则为汉字的点阵码。
。
对于字符和图形显示也可以用点阵处理,其显示原理和方法相同.电路如图6
图6LED显示电路
4.6电源选择:
200W/5V的直流稳压电源更加安全电路图:
图7电源电路
4.7PC机通讯
MAX232是标准的串口通信接口,对于一般的双向通讯,只需要使用串行输入口RXD(第3脚)、串行输出TXD(第2脚)和地线(第7脚)。
图8串口通讯
4.8整体电路
系统整体电路如下:
图9整体电路
5、系统软件设计
5.1主程序
如图10:
5.2显示子程序流程
如图11:
5.3显示时间子程序流程
如图12:
图12时间子程序流程图
5.4与PC串口通讯程序
5.5LED亮度调节
图14LED亮度调节
5.6温度测量流程图
图15温度测量程序流程图
6、测试及其结果分析
6.1基本部分测试与分析
6.1.1试仪器:
秒表、温度表、万用电表、WAVE仿真器
6.1.2基本要求部分的测试与分析:
(1)系统上电后,全屏点亮,没有暗点。
接着显示时间。
按“#”键后时扫描键盘,当有1~10键按下时,分别显示十段设定的数字、英文或汉字。
(2)显示时间时通过与秒表对比,测试的系统时间准确。
6.2发挥部分测试与分析:
(1)当按下#后在按下进入亮度调节,按下“+”键时,亮度增加。
按下“—”键时,亮度变弱。
(2)可以实现文字左右移动
(3)按下“设置时间”键,观察到“钟表”二极管点亮,此时可对时间进行设置。
按下“时间设置”进入时调试,按“+”键时间加。
在按下“切换”键时,进入分调整模式,按下“+”键,分增加。
按下“选择”键时,分调整模式改为秒调整模式,按下“+”键秒增加。
经测试该步可以很好的实现。
调整时间完毕后,再按一下“闹钟设置”进入闹铃设置状态,按下“+”键设定“时”增加,在按下“选择”键进入分的设置,按下“+”键设定“分”增加。
在按下“选择”键进入秒设置模式,按“+”键秒增加。
(4)系统可以显示10组,每组8个汉字,完成要求
6.3创新部分测试与分析
(1)温度测量:
键盘切换现场环境温度显示:
按“功能”键选择“温度”,将温度传感器和温度计放入不同的测试环境中进行测试,结果如表1所示。
表1与标准温度计测量值比较表
温度计示值(摄氏度)
10.3
25.2
49.7
70.1
85.5
温度输出(摄氏度)
10
25
50
70
86
由测试知,数字钟的输出与温度计值基本上相等,误差不大于0.5度。
(2)当到设定时间时,开始访一段音乐,完成定时闹铃功能。
(3)当用手遮挡光电传感器后,停止放音。
手拿开后,不再放音,直到设定时间。
完成非接触止闹功能
(4)AVR代替AT89S52,提高了通信的可靠性,方便程序编写,更便于组成分布式网络和实现多机通信系统的复杂应用,串口功能大大超过MCS-51/96单片机的串口,加之AVR单片机高速,中断服务时间短,故可实现高波特率通讯。
7、设计总结
我制作的这套LED点阵电子显示屏系统不仅完成了题目要求的基本功能和发挥功能,还在实时温度检测显示、无线遥控、显示方式等方面有所创新。
本系统AVR单片机为核心部件,最终完成了设计题目中要求的各项任务,包括可以控制16*32LED点阵显示屏实现信息的左右滚屏、显示屏亮度连续可调、实时时间和实时温度的显示等,在设计过程中,力求硬件线路简单,充分发挥软件在编程方面灵活的特点,来满足系统设计的要求。
在设计的过程中,我遇到了许多突发性的不太好解决的问题,例如,在整个系统的调试过程中,我体会到无论是硬件还是软件的调试都要注意模块化,要从最底层开始,逐级通过后才能进行下一步的工作;同时在联合调试的过程中,应注意各模块之间的时序配合问题,有时都是正确的模块程序却因为按照不恰当的顺序来执行从而导致程序运行结果完全出错。
通过这次设计,提高了自己的动手能力和解决问题的能力。
8、参考资料
[1]《基于单片机结构的智能系统设计与实现》沈红卫编电子工业出版社
[2]《单片机原理与接口技术》黄惠媛编海洋出版社
[3]《单片机应用技术》周平伍云辉编电子科技大学出版社
[4]《8051单片机实践与应用》吴金戌沈金阳郭庭吉编清华大学出版社
[5]何立民.MCS-51系列单片机应用系统设计与接口技术.北京航空航天大学出版社,1990
[6]任涛等.闪速存储器数据及应用简明速查手册.电子工业出版社,1997
[7]何立民.单片机应用技术选编.北京航空航天大学出版社,2000
[8]张毅刚等.MCS-51单片机应用设计.哈尔滨工业电子出版社,1996
[9]邬宽明.单片机外围器件实用手册.北京航空航天大学出版社,1998
10]张凯.LED介绍完全手册.北京航空航天大学出版社,2000
[11]张友德等.单片微型机原理应用与实验,复旦大学出版社,1996
9、致谢
感谢我的导师李政林教授,他们严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;他循循善诱的教导和不拘一格的思路给予我无尽的启迪。
仍然感谢我的导师,这片论文的每个实验细节和每个数据,都离不开你的细心指导。
而你开朗的个性和宽容的态度,帮助我能够很快的融入我们这个新的实验室
感谢我的室友们,从遥远的家来到这个陌生的城市里,是你们和我共同维系着彼此之间兄弟般的感情,维系着寝室那份家的融洽。
四年了,仿佛就在昨天。
四年里,我们没有红过脸,没有吵过嘴,没有发生上大学前所担心的任何不开心的事情。
只是今后大家就难得再聚在一起吃每年元旦那顿饭了吧,没关系,各奔前程,大家珍重。
但愿我们没一个人平平安安,快快乐乐,顺顺利利。
我们在一起的日子,我会记一辈子的。
感谢我的爸爸妈妈,焉得谖草,言树之背,养育之恩,无以回报,你们永远健康快乐是我最大的心愿。
在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!
附录Ⅰ
例:
整屏四个字一起显示的程序
SEREQUP1.0;TPIC6B595第3脚
OEEQUP1.1;TPIC6B595第8脚
RCKEQUP1.2;TPIC6B595第12脚
MREQUP1.3;TPIC6B595第9脚
SRCLKEQUP1.4;TPIC6B595第13脚
ORG0000H
LJMPMAIN
ORG0100H
;**************************主程序**********************************
MAIN:
MOVSP,#70H
SETBOE
MOV2BH,#00H
MOV27H,#00H
START:
;初始化寄存器RAM单元
MOVR0,#30H
MOVR1,#64H;30H~6FH单元清零
MOVA,#00H
ST:
MOV@R0,A
INCR0
DJNZR1,ST
;2Dh------寻址偏址;整屏四个字一起显示
LOOP:
MOVDPTR,#TAB;赋查表初值
MOVR3,#56
PLAY:
MOV2DH,#00H
MOV2FH,#10H
GG:
LCALLLINE16;扫描显示一次
MOV2DH,#00H
DJNZ2FH,GG
MOVA,DPL
CLRC
ADDA,#16
MOVDPL,A
MOVA,DPH
ADDCA,#00H
MOVDPH,A
DJNZR3,PLAY
SJMPSTART
LINE16:
MOV2BH,#16;扫16行,2BH放后还剩几行
FF:
LCALLLINE1;扫描显示一行子程序
DJNZ2BH,FF;扫描行直到16行扫完再转
RET
LINE1:
LCALLMSTR;将显示的内容移入内存单元
LCALLSEND;发送串口子程序
LCALLXH;选通行子程序
RET
MSTR:
;显示内容移入内存单元
MOVR0,#30H
MOVR4,#9
MOVA,2DH;
BB:
MOVCA,@A+DPTR
MOV@R0,A
INCR0
MOVA,2DH
ADDA,#16;加16移到下一行
MOV2DH,A
DJNZR4,BB
MOVA,2DH
SUBBA,#143
MOV2DH,A
RET
;$$$$$$$$$$$