李珂.docx
- 文档编号:13399623
- 上传时间:2023-06-13
- 格式:DOCX
- 页数:35
- 大小:3.16MB
李珂.docx
《李珂.docx》由会员分享,可在线阅读,更多相关《李珂.docx(35页珍藏版)》请在冰点文库上搜索。
李珂
学号093311008
陕西国际商贸学院本科毕业论文
基于单片机的三维
LED点阵设计
二级学院:
信息与工程学院
专业名称:
电子科学与技术
学生姓名:
李珂
指导老师:
袁战军讲师
二○一三年六月
学术声明示例:
郑重声明
本人呈交的学位论文,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料真实可靠。
尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含他人享有著作权的内容。
对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。
本学位论文的知识产权归属于培养单位。
本人签名:
日期:
摘要
本文主要针对三维LED点阵显示系统的设计方法进行了研究。
详细介绍了系统的软硬件设计措施及三维LED点阵灯体的焊接方法,并进行了系统的软硬件调试和实验测试。
针对三维LED点阵显示系统的硬件实现问题,本文提出了以STC89C52单片机为核心的系统硬件设计方案,对时钟电路、复位电路、阳极驱动电路、层扫描控制电路以及三维LED灯体结构进行了详细设计;采用74LS245和ULN2803芯片提高了系统的输出驱动能力,保证了8*8*8三维LED点阵正方体的可靠驱动。
在系统软件设计中,本文采用了自上而下的模块化程序设计方法,完成了系统的主函数、定时器函数、中断函数、呼吸灯子函数、文字移动子函数及延时函数等设计;并对一些所要求输出图形的显示子函数的编程方法进行了深入研究。
最后,在实验室环境下进行了系统软硬件联调和测试。
实验结果表明,所设计的三维LED点阵显示系统达到了预期的设计要求,当系统调用不同的显示子函数时,实现了数字、文字和立体图形的三维显示,产生了二维平面LED点阵所不能达到的震撼效果;同时,也证明了本设计所采用软硬件设计方法的正确性和有效性。
关键词:
三维LED点阵,单片机,功率驱动,显示系统
Abstract
Thisarticlemainlystudieson3dLEDlatticedisplaysystemdesignmethod,introducesthesystemhardwareandsoftwaredetaileddesignand3dLEDlatticelampbodyweldingmethod,andcompletesthehardwareandsoftwaredebuggingandtestingofthesystem.
Inviewofthe3dLEDlatticedisplaysystemhardwareimplementationproblems,ThehardwaredesigntakestheSTC89C52single-chipmicrocomputerasacore,itscontentincludes:
theclockcircuit,resetcircuit,anodedrivercircuit,thelayerofscanningcontrolcircuitand3dLEDlampstructureandsoon.The74LS245chipandULN2803chipareusedinordertoimprovethesystemoutputdriveability,whichensuresthereliabledriveof3dLED8*8*8dotmatrixcubes.
Insystemsoftwaredesign,thispaperadoptsthetop-downmodularizationprogramdesignmethod,tocompletethemainfunctionofthesystem,timerfunction,interruptfunction,breathinglampfunction,textmobilefunctionanddelayfunctiondesign,andstudiessomegraphicdisplaysubroutineprogrammingmethod.
Finally,systemsoftwareandhardwaretestiscarriedoutinlab.Theexperimentalresultshowsthatthedesignof3dLEDlatticedisplaysystemreachestheexpecteddesignrequirements.Whenthesystemcallstodifferentdisplaysubroutine,thedigital,charactersand3dstereoscopicgraphicscanbedisplayed.The3dLEDlatticedisplaysystemcanreachtheshockeffectdifferentfromtwo-dimensionalplaneofLEDdotmatrix.Atthesametime,itprovesthatsoftwareandhardwaredesignmethodofthissystemiscorrectandvalidity.
Keyword:
Three-dimensionalLEDdotmatrix,microcontroller,powerdrive,thedisplaysystem
目录
1绪论1
1.1概述1
1.2研究背景及意义1
1.3国内外研究现状和发展趋势2
1.4论文的主要工作2
2系统整体设计方案4
2.1系统设计方案4
2.2系统工作原理5
3系统硬件电路设计6
3.1STC89C52单片机性能简介6
3.1.1STC89C52概述6
3.1.2单片机引脚功能6
3.2复位电路8
3.3时钟电路8
3.4阳极驱动电路9
3.5层扫描控制电路10
3.6三维LED灯体的设计12
4系统软件设计14
4.1应用软件14
4.1.1Proteus系统仿真14
4.1.2AltiumDesigner10软件14
4.1.3Keil软件15
4.1.4取模软件15
4.2软件设计16
4.2.1头文件16
4.2.2主函数17
4.2.3定时器函数17
4.2.4延时函数20
4.2.5中断函数20
4.2.6数组21
4.2.7函数声明21
4.2.8呼吸灯子函数21
4.2.9文字移动子函数22
5实验测试与分析23
5.1硬件测试23
5.2软件测试23
6总结与展望25
6.1论文总结25
6.2工作展望25
参考文献26
致谢27
1绪论
1.1概述
近年来LED点阵技术发展迅猛,LED屏已经迅速在我们身边普及,使用场所涉及到证券市场、银行、机场、车站、商场等等,包括北京奥运会开幕式上的“巨幅画卷”也使用了巨大的LED显示屏。
LED屏以其使用寿命长、环境适应能力强、亮度高、可视角大、能耗低、种类繁多等优点受到用户的青睐。
LED点阵对电子爱好者往往有着很大的吸引力,但是由于制作点阵屏接线过于麻烦,不具备制版条件的业余爱好者对此总是望而却步。
三维LED点阵的控制系统的研究在LED屏的研究中具有十分重要的地位,现在的LED屏都是二维的,还没有三维的,在这个追求立体感的时代,当然也少不了三维的LED,因为它具有比二维更绚丽,更震撼的效果。
1.2研究背景及意义
(1)研究背景
LED电子显示系统是一种新型的高科技信息显示媒体。
自80年代末在全球迅速发展起来,就以其质优价廉、低功耗,既可显示图文数据、又可显示视频图像,画面清晰、色彩艳、显示方式灵活多变等功能在各行各业中迅速推广应用。
本课题所研究的三维LED点阵显示系统,也称作光立方,最早出现在2008年北京奥运会开幕式上,“光立方”的整体显示设计不但融合了奥运会开幕式“击缶而歌”和“活字印刷”的风格,而且还根据开幕式展现主题的不同,不断变换着造型和图案,吸引了社会的全面关注,获得了全国人民的高度评价。
由于,目前在公共场我们所常见的广告设计和现场装饰大多采用二维LED设计方法,这种设计方法在显示效果上很难产生像三维LED显示的震撼效果,给人们留下的印象也不够深刻。
因此,对本项课题研究具有一定的实际意义。
(2)研究意义
本课题研究的是8*8*8三维LED点阵显示设计。
对此项研究不但可以使我掌握三维LED点阵的显示原理和设计方法;而且还可以巩固原来所学的专业知识,提升自己的实践动手能力。
通过该课题设计还可掌握MCS-51单片机软、硬件开发工具的使用方法,为以后从事嵌入式系统的开发设计积累经验;同时,我们也应该认识到我国LED显示技术近年来虽然得到迅速发展但和世界先进水平相比还存在一定差距。
因此,本课题研究不论是对自身能力提高还是对我国LED显示技术的发展都有非常现实的积极意义。
1.3国内外研究现状和发展趋势
目前,国内外研究大多集中于LED电子显示屏设计,并且已经开发出较多的LED显示屏新产品,如:
条屏、图文屏单色、双基色、全彩色电子点阵显示屏及LED电子数码管显示屏等。
至于三维LED点阵显示设计在国外研究人员较少,但是在国内有一批爱好者已经投入了很大精力去研究,并且取得了较好的效果,例如:
有的设计具有图形图案显示功能,有的设计可以显示动态图案,还有的设计具有音频AD效果等,这些都深深地吸引着我,自己尝试去做一个“光立方”。
通过查阅大量资料,总结出LED点阵显示系统目前发展趋势如下:
(1)三维LED点阵显示设计逐渐成为研究热点
虽然,当前许多广告设计和外景装饰都采用二维LED显示,但是二维LED设计无论从美观度和视觉吸引力上都远不如三维LED点阵设计的效果。
因此,三维LED点阵显示设计目前已引起人们的高度重视,并已成为该行业的研究热点,也深深的吸引着电子爱好者去做它。
(2)采用以微处理器为核心的开发系统
随着微电子技术的发展,高性能微处理器以其控制功能强、集成度高、易于嵌入等优点在自动控制、仪器仪表等领域得到广泛应用。
因此,目前在三维LED点阵系统设计中,广泛采用以高性能微处理器(例如:
MCS-51单片机等)为核心的开发系统,增强了系统的可靠性和灵活性,克服了以往以分立元件为核心的电路中,信号约束关系复杂,系统故障率高等缺点;同时它还具有集成度高,体积小,编程简单易于上手等优点。
1.4论文的主要工作
本课题主要研究的是三维Led点阵系统的设计。
本论文的主要工作包括:
(1)基于单片机的三维LED点阵系统的硬件电路设计。
包括:
①控制电路设计及芯片的选择;②驱动芯片的选择及功率驱动电路的设计;③灯体的设计。
(2)阳极驱动器的选择和阴极驱动电路的设计。
①阳极主要是由常用芯片74LS245驱动,其优点是可实现8路并行输入和输出;②阴极采用大功率驱动器件8阵列达林顿管进行驱动,能提供500mA的灌电流,在这里符合要求。
(3)基于单片机的三维LED点阵系统软件设计。
按照模块化设计思想,将系统软件分成几大功能模块分别设计,包括:
①呼吸灯系统的设计;②亮暗阶梯变化;③立体图形的显示;④立体文字的显示。
2系统整体设计方案
2.1系统设计方案
三维LED点阵系统主要包括:
电源电路、复位电路、时钟电路、LED驱动电路、功率驱动电路、按键控制电路、LED灯体结构等,其系统框图如图2.1所示。
图2.1三维LED点阵的系统框图
(1)三维LED点阵的阳极控制设计
LED阳极控制是通过P1口控制Y轴8片74LS245轮流工作;同时,由P0口输出数据,并经X轴74LS245功率驱动后接至LED的阳极端,实现一个8*8的LED平面控制。
74LS245是一个比较常用的芯片,具有双向性能同时输出8路数据。
(2)功率驱动电路设计
由于在三维LED点阵设计中需要用到512个LED发光二极管,因此要求电路具有较大的灌电流输出能力。
本系统拟采用以达林顿管为核心的功率驱动电路设计方法,最终实现单片机P2口对8个LED平面的发光控制。
达林顿管就是两个三极管组合而成的,结构比较简单,但是具有可以承受很很大的灌电流的能力,正是我这个电路设计所需要的器件,因此选用了具有8达林顿管阵列的ULN2803芯片,输入电压为5V,与TTL电平完全兼容。
(3)时钟、复位电路
时钟电路用于产生单片机正常工作时的外部时钟;复位电路可以实现系统上电及手动复位功能。
(4)按键控制电路
该电路主要用于实现点阵图形显示的切换功能,单片机一般P口默认是高电平,采用低电平触发。
STC89C52单片机P3口具有复用功能,自带两个外部中断接口P3^2和P3^3低电平有效。
本电路设计来用此这两个口作为按键接口。
2.2系统工作原理
系统控制方法主要依据三维点阵的显示原理,采用行-面-体扫描的方法进行控制,从而实现立体图形的显示及图案变化。
具体实现方法是先在程序的数组中事先存入待显示立体图形文字的代码,然后调用扫描程序,把这些代码一个个显示出来,由于程序扫描速度较快,肉眼是几乎无法分辨出它们的亮灭,这样就形成了一个完整的输出图形。
系统程序包括主程序和各功能子程序,而输出图形处理子程序的设计是系统程序设计的核心;对于该程序设计将采用模块化程序设计思想,即把各种输出图形控制程序分别编程和调试,然后通过外部按键及按键处理子程序根据要求统一调用。
3系统硬件电路设计
3.1STC89C52单片机性能简介
3.1.1STC89C52概述
本文采用的微控制器是STC公司生产的89c52单片机,它和一般的MCS-51单片机功能一样,但是由于制造时间长,技术成熟,所以性价比较高,和AT单片机相比它下载更加方便,只需要四根引线接到开发板上就可以实现程序下载功能非常方便。
以下是STC89C52单片机的引脚功能介绍。
3.1.2单片机引脚功能
VCC(40):
供电电压(5V)。
GND(20):
接地。
P0(39-32):
P0口为一个8位漏极开路双向I/O口,每个脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1(1-8):
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2(21-28):
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
当P2口用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3(12-19):
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为STC89C52的一些特殊功能(第二功能)口,如下所示:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2INT0(外部中断0)
P3.3INT1(外部中断1)
P3.4T0(计时器0外部输入)
P3.5T1(计时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号
RST(9):
复位输入,当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间,这是让单片机从程序的开始进行工作。
XTAL1(18):
反向振荡放大器的输入及内部时钟工作电路的输入;
XTAL2(19):
来自反向振荡器的输出,18,19引脚外接一个晶振可为单片机提供一个稳定的时钟信号的输入,让单片机按照此节拍进行稳定的工作。
EA/VPP(30):
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
ALE/PROG(31):
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
本设计就把它直接接+5Vcc。
单片机的最小系统主要包括单片机的复位电路和时钟电路。
图3.1是STC89C52单片机最小系统电路。
图3.1STC89C52单片机最小系统电路
3.2复位电路
复位电路就是让单片机从程序的开始处按照程序的结构去运行,包括上电复位和手动复位。
上电复位就是当单片机接通电源时自动进行复位,手动复位就是人为的控制复位,当单片机程序运行紊乱时,只需按一下复位按键就可以了。
51单片机的复位时间一般是10ms,就是给它一个10ms的高电平就可以让它复位了。
上电复位采用RC电路进行复位,RC电路充放电周期是1.386*RC,舍去充放过程中较低的电平,一般的单片机复位脉冲宽度取值(0.7~1)RC ,高电平保持时间在一定范围内越长越好。
单片机的复位电路如图3.2所示,中的10uF电容就是上电复位的关键元件,S1为手动复位按键。
例如:
当R=10K,C=10uF 时则延时时间是T=10*1000*10/1000000=0.1秒
图3.2单片机的复位电路
3.3时钟电路
单片机的正常工作是按照一定的节拍进行的。
STC89C52单片机时钟有内部时钟和外部时钟两种,常用外部时钟,由外接晶振提供。
本设计采用12M晶振,其时钟电路如图3.3所示。
图中有两个30pF的电容,主要起滤波作用,电容的大小一般在15pF~33pF之间。
图3.3时钟电路
3.4阳极驱动电路
如果微处理器有足够大的驱动能力和足够多的I/O口,就可以直接驱动LED点阵。
但是STC89C52单片机一般只是用做控制器,它所能承受的电流很小,所以本设计还需要外加驱动电路和放大电路,来保证单片机的驱动能力。
驱动电路使用八片74LS245,74LS245的内部电路及引脚排列如图3.4所示。
74LS245这是比较常用的驱动芯片,当DIR接高电平时,A端为输入、B端为输出,否则就是B端输入,A端输出,8片74LS245的8路数据输入A1~A8接单片机的P0^0~P0^7;它所能提供的电流是70毫安,见表3.1。
图3.474LS245内部电路及引脚排列
表3.1
74LS245与单片机和LED阳极电路的连接如图3.5,图中BB0~BB7与单片机的P0口相接,具体连接看标号。
左边的连接的是200Ω的限流电阻,由于LED一般正常工作电压是3V,工作电流为8~15mA.当工作电流取10mA,由计算公式3.1得限流电阻为200Ω;P3是引脚插座,接LED灯的阳极。
R=
(3.1)
图3.5LED阳极驱动电路
3.5层扫描控制电路
ULN2800是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。
ULN2800系列则能够同时驱动8组高压大电流负载,可和8位单片机配合使用作控制电路。
ULN2800系列芯片具有以下特点:
●电流增益高(大于1000);●带负载能力强(输出电流大于500mA);
●温度范围宽(-40~85℃); ●工作电压高(大于50V)。
ULN2803电路主要用于如下领域
●伺服电机;●步进电机;●电磁阀;●可控照明灯。
图3.6是ULN2803内部电路,图3.7是层扫描控制电路的硬件连接图。
Layer1~Layer8与单片机P1口直接相连,P9连接LED每一层的阴极。
经测试ULN2803不能输出高电平信号。
图3.6ULN203内部电路图3.7层扫描硬件电路
单片机与ULN2803和74LS245的连接如下图3.8,网络标号相同的都是连在一起的。
Header9是接排阻的8*4.7K。
P2~P8和P10接LED灯体的阳极,P9接灯体每一层的阴极。
图3.8具体硬件电路的连接
图3.9焊接后的硬件电路板背面图
焊接好后的硬件电路板背面图如图3.9。
3.6三维LED灯体的设计
关于灯体的设计是很麻烦的,经过多方查阅资料,发现按照点到线到面到体的步骤设计是最好的,最后再把它们组合起来。
(1)LED灯体焊接前的准备
先把灯折成一定的形状便已焊接,并且找一个电路板把每一个灯的位置给固定一下。
每两个LED的距离是22.86(9*2.54)mm如图3.10所示。
(2)LED点到线的焊接
点到线就是先把8个LED灯共阴焊接成一条线,共计256条,如图3.11所示。
(3)LED由线到面的焊接
线到面就是把8条上面焊接好的线焊接成一个面,如图3.12所示;
(4)LED面到体的焊接
最后就是把它们组合成一体,这里采用的方法是把阳极都连接在电路板上,阴极引出来,即把每一个面竖在电路板上,每一层的阴极连起来,用漆包线引到电路板上就可以了,这样可以减少很多连线,使立方体美观大方,如图3.13所示。
图3.10折后的LED图3.11焊接成一条线的LED
图3.12焊接成一个面后的LED图3.13焊接成体的LED
4系统软件设计
4.1应用软件
本设计用到的应用软件比较多,例如Proteus、AlitumDesigner10、Keil、取模软件等软件;
4.1.1Proteus系统仿真
Proteus在本设计里的主要功能就是进行电路的仿真,当所设计电路哪部分有问题的时候就用它来仿真一下;如果成功了就用硬件电路焊接测试,此软件在本设计中起到了很大的作用,没有它我将花费很多时间和精力去验证设计电路。
本系统仿真主要的功能是验证74LS245和ULN2803能够让LED灯亮
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 李珂
![提示](https://static.bingdoc.com/images/bang_tan.gif)