光立方含程序毕业设计.docx
《光立方含程序毕业设计.docx》由会员分享,可在线阅读,更多相关《光立方含程序毕业设计.docx(80页珍藏版)》请在冰豆网上搜索。
光立方含程序毕业设计
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
3)其它
摘要
光立方是LED发光二极管构成的正方体形状的立体显示装置,使用单色或多色发光管,可以产生复杂灵活、十分有吸引力的显示效果,包括单一立体图形的静态显示、动态显示和多种图形的交替显示等多种显示方式,未来甚至可能以此为基础,真正实现复杂图像的三维显示。
光立方是一个集实际型、经济型、性价比高的艺术品,它不仅仅局限于装饰,更是能够帮助更好的学习c语言实际应用、满足单片机爱好者对基于单片机控制系统电路设计研究的好课题。
本设计采用的是8*8*8的光立方设计方案,即立方体的长宽高各是由八个LED灯排列而成的,长宽高大概是14cm*14cm*20cm,整个系统主要分为三个模块:
控制模块驱动模块显示模块;主控芯片为60KSTC12C5A60S2,驱动电路采用的是cmos锁存器74HC573数字芯片以及达林顿管驱动器ULN2803,显示模块为512个LED焊接成的光立方。
经过试验本方案成功实现了光立方的动态显示及控制。
关键词:
光立方;74HC573;STC12C5A60S2;ULN2803
ABSTRACT
LEDCubeisathree-dimensionalcube-shapedLEDlight-emittingdiodedisplaydeviceusingasinglecolorormulti-colorLED,canproducecomplexandflexible,veryattractivedisplay,includingasinglestaticdisplaythree-dimensionalgraphics,dynamicdisplayandavarietyofgraphicdisplayandotherdisplayalternately,evenitwillbeabasisfortrulycomplexthree-dimensionalimagedisplayinthefuture.LightCubeisasetofpractical,economical,cost-effectivehighart,itisnotlimitedtodecoration,itisabletohelpbetterlearningclanguagepractice,itisagoodtopicforElectronicsenthusiaststodesignacircuitofmicrocontrollerbasedcontrolsystem.
Thisdesignusesalightcubedesign8*8*8,iethelength,breadthandheightofcubeismadeupofeightLEDlightsarrayed,thelengthandbreadthisabout14cm*14cm*20cm,thewholesystemisdividedintothreemodules:
acontrolmoduledrivermoduleanddisplaymodule;masterchip60KSTC12C5A60S2,drivecircuitusesadigitalchipcmoslatch74HC573andDarlingtondriverULN2803,LEDdisplaymodule512weldedintothelightcube.Theprogramsuccessfullytestedadynamicdisplayandcontrollightcube.
Keywords:
ledcube;74HC573;STC12C5A60S2;ULN2803
1前言
1.1背景与意义
技术和艺术往往相衍相生,相互激发,伴随着人类的历史技术与艺术不断发展。
在计算机的世界里不仅仅只有0和1,伴随计算机技术衍生出的艺术也各种各样,花式百出,如“机器人艺术”、“动画艺术”、“交互艺术”等,使技术的美学上了一个新的台阶。
在建国60周年的晚会上向人们展示了一种新的技术美学载体--“光立方”,光立方的出现使人们眼前一亮,成为了当天晚上最亮眼的主角,带给人们的那种震撼和享受都是回忆里难以磨灭的。
光立方作为一种新鲜事物用光学的美给艺术界带来了新鲜血液,“光立方”给与了光艺术的表现形式,光立方带给世界的不仅仅是美学上的创新,它带给我们的还有技术上的创新,如何通过技术给与人们更好的生活体验也是我们应该思考的。
1.2如何看待“光立方”
在现实生活中,许多方面都体现着计算机控制的LED产品技术的影子,至少包括以下三个领域:
LED在城市照明和景观装饰的应用--路边的景观树和路灯,大型广场的装饰类模型等等;LED在信息传播方面的应用--城市广场巨型LED显示屏,广告牌,商店招牌,人们时时刻刻都通过它获得讯息;LED在艺术类的应用——现在人们的生活非常丰富,在音乐会、综合文艺演出、舞蹈等艺术活动所需要的道具、背景等也都离不开LED的影子。
听起来LED光技术本身似乎我们生活中的审美不相及,但是我们亲身的体验告诉我们:
在我们的生活的方方面面LED技术毫无例外地渗透了进来并且给我们的生活带来了丰富的内涵,他们不仅呈现出美轮美奂、瞬息万变的感性外观形象,而且能够带给人们从未感受过的如此贴切、近在咫尺的3D体验。
可以说“光立方”就是人们天生的对于美好的追求,它是可说是一门艺术形态,带给人们发自内心的对于美的向往,这种新鲜的科技美学又为我们的绚丽多彩的世界画上了浓重一笔。
1.3LED显示的发展与研究
伴随着网络时代和数字世界的潮流LED显示屏在信息化的世界里已经是不可替代的,如今几乎每个城市的大型场合里都会有一块大的LED显示屏,无论你走到广场、商场、车站、电影院LED时时刻刻向人们提供着各种需求的信息[4]。
与以往的显示设备不同之处在于,LED灯相当于LED显示屏一个一个的像素,并且在与计算机连接时计算机显示的内容和LED显示屏现实的内容是同时的,主要优点在于一个微型计算机即可以进行控制,可以说在信息传播方面不逊于任何的显示装置,LED不仅能够实现二维显示而且还能实现3D显示,这对于人们来说是一种新的视觉体验,使人们的生活更加的多彩多姿、充满新奇。
随着人们对LED不断地探究与发掘,LED显示屏将会朝着更加适合全天候的方向发展,在显示方面也将会给以人们更加清晰舒适的方向发展。
现如今这个基础材料产业化的时代,LED显示屏的制作成本不断下降,在基于微处理器的控制系统下发展迅速,这使得LED产业蒸蒸日上,同时LED的产品性能在显示亮度、色彩、白平衡均有一个比较理想的效果
1.4LED发展给我们带来的机遇
LED作为一种高新技术产业,无疑是各个技术领域想要涉足的产业,随着近几年我国的发展,LED显示技术在中国取得了先进的技术成果,涌现了一批具有领先水平的企业,伴随着社会的不断进步LED的需求不断加大,同时这方面的技术人才也将会是各个企业一个竞相竞争的领域,电子信息化的时代LED显示技术是不可或缺的,这方面给我们个人和国家的基于也是势在必得的。
1.5设计的总体要求
本课题主要是光立方的控制和驱动电路的设计,这需要弄懂LED发光二极管的工作原理、技术,理解LED发光二极管的驱动原理、技术和实现方法,明确应采用的主要技术手段,给出实现功能需要的基本结构单元。
应用LED二极管构成光立方显示模块,设计发光管的分页方法、微处理器的连接方式。
主要完成微处理器口线分配、驱动地址分配、地址线扩展电路、驱动电路等单元电路的设计,先使用protues测试基本的设计是否满足自己的设想,通过仿真来表现基本显示内容,能基本实现小容量光立方矩阵的控制和驱动,并分析在矩阵容量增加时应采取的较有效的扩展方式,实现主要设计功能的验证。
本课题制作了一个由LED制作的立方体,主控芯片选用60KSTC12C5A60S2,外接时钟驱动信号电路;并且使用11.0592MHZ的外部晶振;采用单片机烧录程序控制LED的亮灭进行动画的演示。
1.6本论文的基本内容
第二章主要对如何实现光立方的功能进行理论分析,同时详细描述光立方功能的基本原理与方法。
第三章介绍电路的设计的思路,对各个模块进行详细的说明,介绍各个芯片的特点以及引脚功能,并且对芯片的进行论述与选择。
四章主要是详细说明焊接光立方的具体步骤以及焊接过程中出现的现象及原因,以及控制驱动模块焊接的注意事项。
第五章是对调试过程中出现的错误和问题以及解决办法进行阐述。
第六章主要是对仿真进行阐述,详细介绍仿真的连接方法以及仿真对本设计的重要性。
23DLED显示屏的基本构想
本设计制作一个8*8*8的光立方,一共包含512个LED灯,其结构为8层64束或8面64束(规定横向为层纵向为面)。
图2.1光立方层面概念图
2.1如何实现光立方控制
整个显示过程通过扫描方式控制LED灯,通过控制小灯的亮灭然后再利用人眼的视觉暂留效应和分辨能力把整个程序的动画效果呈现出来。
我们知道一个平面是二维度的,一条线是一维度的,那么光立方这个三维空间就可以分解为一个二维度和一个一维度组成的空间,二维度就是上图所示的层,一维度就是那一条竖虚线,如果想要控制其中一个小灯那么就可以通过控制这个小灯所在的一层和所在一束来实现。
我们假设图中的层上的线的交点为平面上的小灯那么如果想要控制第8层的某一个小灯就要让这个小灯所在的二维度和一维度共同作用来定位这个想要控制的小灯。
这就是本方案的基本实现原理。
图2.2竖层交点
本方案采用了层共阴束共阳,也就是每一层的LED灯的阴极是连接在一起的,每一束的阳极是连接在一起的。
采用层共阴束共阳的原因是比较容易控制灯体,也有利于电路设计和便于系统的焊接,而且考虑到所使用驱动芯片ULN2803的灌电流特性此设计也非常适用。
2.2单片机I/O口分配以及编程如何实现
本光立方由单片机控制,要想实现光立方的控制就要从光立方的结构出发,合理的分配单片机输入输出口,从而对每一层每一束每一个小灯进行自由的控制,本设计对单片机输入输出口的分配如下:
P0口:
P0口连接锁存器74HC573的输入端,74HC573的输出端连接光立方束,然后通过单片机P0口发送信号到74HC573来实现对每一束亮灭的控制,一片74HC573控制一面,一共八面八片。
如下图为一面LED灯的连接图。
图2.3连接图
P1口:
单片机的P1口和ULN2803的8个输入引脚相连,光立方的每一层都分别和ULN2803的8个输出引脚相连,在实现每一层的控制时由单片机的P1口发送信号到ULN2803然后再通过ULN2803的8个输出引脚来控制每一层。
下图为一层的连接图其中右边的结点连接ULN2803的一个引脚。
图2.4光立方层连接图
P2口:
P2口连接74HC573的使能端(LE端),通过P2口控制8片74HC573的工作,从而实现64束LED灯的控制。
单片机最主要的输入输出口分配不同设计方案就不同,程序的编写就要有所变动,所以说提前了解接口分配对于程序的编写十分重要。
在了解了控制原理和接口分配后就可以通过程序送达的信号合理的调配芯片工作来实现想要的效果。
例如只要求让下图圆圈所示的黄色LED小灯唯一亮起(其中横向箭头表示层引脚,竖向箭头表示控制这一面的芯片),只要让ULN2803控制第二层的引脚为低电平其他引脚为高阻态,即P1送入0x00000010,控制第二面的74HC573的LE端打开使其工作,其他的LE端关使其不工作,P2送入0x00000010,同时使第二片74HC573控制这一束的引脚置为高,假设为第一束那么P0送入0x00000001,这时因为其他的74HC573是不工作的所以与这个小灯同一行的灯是不会亮的,这就实现了只点亮这个小灯。
图2.5演示图
3系统架构以及模块论述
整个光立方系统的核心就是单片机,如果没有单片机那么光立方就是一个会发光的镂空灯泡,单片机的作用就是协调各个芯片有条理的工作,他把信号传到每个芯片,每个芯片再把信号送达LED,如此通过上级控制下级来实现整个动画效果,可以说单片机使光立方拥有了生命力。
那么如何选择合适的单片机将会是决定整个系统显示效果的关键问题。
图3.1系统结构框图.
3.1控制模块
本设计控制模块的核心为单片机,下面将详细介绍单片机。
单片微型计算机(SingleChipMicrocomputer)简称单片机[2]。
是一种微控制器,并非用来完成某一个逻辑功能,它主要包括:
(1)中央处理单元
(2)存储单元
(3)定时器与计数器
(4)各种I/O(输入输出)口接口等
这几个部分集成在一块集成电路芯片上构成单片机,最大特点是占用空间小,内部ROM小,功能不强,输入输出简单,发展极快。
经过长期快速的发展单片机已经拥有一个庞大的家族,从通信到交通存在我们生活的方方面面,为我们的生活质量的提高带来了巨大的贡献。
现在单片机从最早的8080到现在最先进的ARM,单片机已经走过了很长的一段路,而51系列到现在还广泛使用,本课题就是应用STC12C5A60S2。
高速、低功耗的STC12C5A60S2单片机与普通51单片机的程序代码完全兼容,速度是8051的8-12倍,并且可以进行串口编写烧录功能;关于时钟电路,使用了12MHZ的石英晶振。
主要的特性在于他可以存储比较大的程序,具备FLASH工艺。
3.1.1单片机最小系统
单片机最小系统组成部分有:
(1)晶振
(2)复位电路
(3)电源
(4)输入/输出设备
四个部分组成,最小系统是单片机用来实现控制的基础,如果把单片机比作大脑那么最小系统就是整个身体,整个光立方就是这个身体控制的机器,通过各个部分的协调合作来调度整个大系统的工作实现各个功能。
图3.2最小系统框图
图3.3单片机最小系统
(1)时钟电路:
在单片机内部是有自己的时钟电路的,内部的时钟电路是由单片机上的XTAL1和XTAL2控制的,他们都是独立的反向放大器,可以使用石英晶振的片内振荡器。
时钟电路用于产生必要的控制型号。
其中前者是反相电路的输入后者为输出。
图3.4内部时钟电路
外部时钟:
即在单片机外部外设一个外部振荡器接入XTAL2,同时让XTAL1接地,可以检测XTAL2是否有波形,XATL1与XATL2之间是否有足够的电压来验证是否起振。
图3.5外部时钟电路
(2)复位电路即用来初始化单片机的,通常有两种方法:
手动复位与上电复位,只要让RST引脚上有一个能维持2个机器周期的高电平即可复位。
(3)输入输出口:
STC12C5A60S2的P0到P3都是双向输入输出口,但是P0为开漏输出口输出一直为低电平,在使用P0口时要想获得正常的输出必须在P0口加上上拉电阻。
并且这四个端口可以用74LS573等芯片来扩展,从而控制更多的设备。
3.1.2选择使用STC12C5A60S2单片机的原因
在选择单片机(也就是控制模块)的时候主要参考了两个方案:
方案一采用接触比较多的AT89C51作为整个系统的核心,但是FLASH只有4K,为了光立方有更好的表现采用的程序也很大,而且要求也相对比较高,所以排除使用AT89C51作为控制模块的内核。
方案二选用51系列60KSTC12C5A60S2作为控制模块的主控芯片,作为一种增强型的单片机它具有以下几个优点:
(1)抗干扰能力强
(2)采用第六代加密技术,无法解密
(3)在8051编写的代码完全可以烧录并且运行
(4)速度是8051单片机的8到12倍,并且应用程序空间为60K,减少了可能添加动画效果扩展程序的后顾之忧
(5)在芯片内部已经集成了复位电路,因此外部就可以不接复位电路了[8]
因此决定使用60KSTC12C5A60S2.
3.2驱动模块
本设计是通过以单片机STC12C5A60S2控制ULN2803与74HC573,进而对光立方实现控制,其中ULN2803的8个阴极接每一层的负极,主要的作用是层选,74HC573接每一竖排的阳极,74HC573一共需要8片用来控制每一面,主要的作用是缓冲和扩展单片机端口,LED光立方采用的是层共阴的方式这样比较容易控制,具体的焊接方式和注意事项将会在LED介绍中详细说明。
3.2.1ULN2803的介绍
ULN2803(八重达林顿)使用时10脚接正极9脚接地1进18出2进17出3进16出以此类推共8路。
可以驱动500MA\50V的负载电路,这里的参数是灌电流。
ULN2803与标准的TTL系列电兼容,即能识别TTL电路输出的信号当<=0.8V时为低电平0,当>=2V时为高电平1。
因为本方案一共驱动了512个LED灯,所以需要扫描驱动,就是对行和列进行选择亮暗从而控制整个光立方的单个小灯,这时所要求的电流也比较大而ULN2803正好满足这个条件,当单片机引脚控制ULN2803引脚时,单片机引脚输出低电平则对应的引脚输出高阻态,如果要输出高电平需要上拉电阻这样就不可避免的使整个系统更加的杂乱,不过真正试验才发现要想保护小灯还需要加限流电阻,所以本方案采用的是层共阴,让ULN2803接在每一个层的阴极来实现控制每一层的亮灭,束是由74LS573来控制亮灭的后面将会介绍。
图3.6管脚连接图
图3.7ULN2803的外形
图3.8ULN2803的内部电路图
ULN2803内部为8重达林顿管,所谓达林顿管就是一对共基的复合管,两个NPN三极管串联,他的放大倍数是两个NPN放大倍数之积,放大倍数是非常可观的,所以它一般是用来放大非常微小信号。
NPN三极管
了解三极管对于学习单片机有着非常好的帮助,在数子电路中主要研究学习的是三极管的开关特性,在模拟电路中主要研究的是三极管的放大特性[1]。
图3.9晶体管的输出特性曲线
截止表示三极管不工作输出高电平,饱和表示三极管导通输出低电平
图3.10NPN三极管
b为基极,c为集电极,e为发射极。
从b流过的电流为Ib,只有有Ib流过时才能产生Ice,我们都有所了解三极管的放大作用,如果一只三极管的放大系数β=100,b端电压为10V,b端的外接电阻为10K,c端外接电阻为50Ω那么Ie=1mA,Ice=100mA,加在ce两端的电压为5V,其中50Ω电阻的作用为限流作用,防止过大的电流。
举个例子:
Ib=2mA,这时集电极的电流为200mA,如果Ib继续增大那么集电极的电流都不再增大了,因为限流电阻允许的最大电流为
10÷50=200mA(3.1)
在单片机内除去P0口其他的24个I/O口都是一样的,都拥有一个较大的上拉电阻,输出的电流也相应的比较小,因此就要在单片机外外设芯片来辅助单片机。
(1)
(2)
3.11三极管的两种连接方式
上图为三极管的两种连接方式,第一种很显然只有当单片机输出为高电平1时发光二极管才开始工作这时就需要NPN截止,但是当NPN截止时流过二极管的电流很小即使发光也是非常微弱的,LED的特性会在后面详细介绍。
第二种要想发光二极管导通发光就必须让单片机输出低电平0,但是由于三极管的特性一旦导通流过三极管的电流是非常大的[13],对于小灯来说是非常危险的。
对于第一种情况可以加上一上拉电阻,一般情况下三极管最高电流为15mA,一般上拉电阻上的电压为5V
R上拉=5÷15≈330(Ω)(3.2)
当三极管导通时二极管是不亮的,当三极管截止,这时三极管的电流和经过上拉电阻的电流就要流过发光二极管,由于流过单片机内部的电流很小可以忽略,这时流过发光二极管的电流为
(5-2.1)÷330=8.7(毫安)(3.3)
其中2.1V为发光二极管的压降,但是这样的方式缺点就是即时发光二极管不亮也会有很大的电流消耗。
第二种情况就是在发光二极管与Vcc之间加上一个电阻,来限制电流,经过计算
限流电阻≈(5.1-2.1)÷15=0.193(KΩ)(3.4)
这时二极管的电流比较