基于某STC12C5A32S2单片机的光立方设计-黄舒静终稿子-修改后.doc
-
资源ID:18252
资源大小:3.86MB
全文页数:29页
- 资源格式: DOC
下载积分:10金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
基于某STC12C5A32S2单片机的光立方设计-黄舒静终稿子-修改后.doc
word基于STC12C5A32S2单片机的光立方设计【摘要】随着生活水准的提高,人们对3D效果的追求也越来越高。3D技术不仅可以带来美仑美奂的效果,而且随着技术的进步其本钱将越来越低。本课题利用LED发光二极管搭建了4*4*4立方体点阵,将每个面的16个LED灯以共阴极方式相连。利用STC12C5A32S2单片机编程对每个I/O口进展控制,以实现64个LED灯自由切换,控制每个层级按照一定顺序先后发光,即构成了一个真实3D立方体显示器。【关键词】3D技术 发光二极管 单片机目录1绪论3课题研究的背景与意义3本文主要容3本文预期达到的效果32.总体设计4系统的工作原理4各模块方案选择4单片机主控制模块42.2.2 显示模块53系统硬件电路设计与实现6硬件电路设计6单片机最小系统6时钟电路73.2.2 P0 口外接上拉电阻7驱动模块的设计8光立方整体设计思路83.4.1 LED灯排序方式设计83.4.2 LED灯接法方式设计10光立方搭建方法103.5.1 LED的搭建从初始处理到点再到面10将LED从线到面的搭建11将LED从面到体的搭建113.6 PCB板的焊接123.6.1 PCB板的制作123.6.2 主板的焊接12主芯片的焊接12元器件的焊接134软件设计144.1 主程序的设计144.2 红外按键程序的设计144.3 显示程序的设计15显示模块的原理154.3.2 显示程序的设计154.4 软件调试165外壳定制16亚力克板的定制16底板的定制166测试与问题分析17硬件调试17软件系统177结论18致谢19参考文献19附录201绪论“光立方是一种很有趣味的科学实践,它具有开放性的DIY程序改编以与相对立体的动画表现方式,可以很好的将娱乐和学习完美的融合在一起。如果想要不同的动画效果,通过改编程序即可实现,而这点是随心所欲的。在制作过程中我们需要学会对单片机的控制操作以与掌握64颗全彩LED灯的点阵控制和它所对应的每个模块功能的协调配合,这些都表现出光立方的学习价值。随着近年来电子行业的飞速开展,越来越多的电子爱好者对于光立方产生了很浓厚的兴趣,光立方创造出的浪漫气氛和绚丽画面,使其在很多场合作为一种生日礼物或者是示爱的工具出现。在专业领域,光立方研究成为越来越多的技术人员的一项职业技能。由于技术的逐渐开展,这项技术不仅开始在商业方面表现价值。或许是因为光立方具有超群的立体渲染效果,这为它成为一种广泛使用的广告宣传技术铺就了道路。它的诸多好处也正被越来越多的人所认识。在其原有的根底上进展的创新改良,使其所创造的社会经济价值和社会娱乐价值早已不是单纯的LED点阵显示所能比拟,这样的良性循环也在不断地召唤众多的电子技术工作者对光立方技术开展更深入的创作研究。1区别于传统的LED二维显示,此次光立方研究的课题核心在于点阵的三维立体显示,重点表现了缤纷多彩的效果呈现,给我们的视觉感官带来了全新的刺激。不再采用传统光立方所使用简单的单片机,因此也就不会被其性能的局限性所带来的立体效果和动画效果的迟滞所困扰。而本次的毕业设计采用性能更加卓越,功能更加强大的单片机STC12C5A32S2,因而其整体系统功能将更加强大,驱动能力的表现也会可圈可点,更重要的是动画显示流畅和仿真将提升一个档次。由于传统的光立方的布局和排线的复杂性,造成了DIY程序极其单一,改编的自由度大大受限。硬件与软件的兼容性差强人意,一旦运行如此会暴露许多问题,同时存在的静电危害以与焊接时的效率低下都是传统技术的局限所在。在本次的课题研究中,我们正视了这些传统问题,躲避了很多问题的出现,使得其成像效果更加逼真直观。此次的研究设计将促进光立方技术的商业价值和社会经济价值的实现。本次设计的主要容是建立一个4x4x4的发光二极管三维立方显示体,为了控制每一个发光二极管的亮灭,必须编写程序来实现,从而也能显示更加多样的图样组合。为了使效果显示更加多样,此次毕业设计设有多种显示模式。其中最简单的显示模式是静态显示。不同的是,它还存在多种的动态显示模式。顾名思义,它们所呈现的图形是可以变化的。按照显示模式的不同,分为平移,旋转,缩放,闪烁。硬件方案设计:由于其根本原理是通过单片机来控制LED点阵显示,所有在设计过程中,必须要先确定系统所要达到的功能。具体表现在系统应该具备哪些模块,各个模块间应该怎样连接,以与电路系统的最优化连接。系统检测:在焊接完电路系统后,应先检测整个系统模块的功能,根据调试结果纠正程序中的错误,直至各个模块的功能都能正常运行,最后检测结果应满足此次毕业设计的要求。本系统的核心是STC12C5A32S2单片机,由主控模块、驱动模块、显示模块构成,其中显示模块为64个LED灯组成的光立方。系统模块框图见图2-1:图2-1 整个系统结构框图单片机开发板采用的是STC12C5A32S2,这款是宏晶科技新推出的1T 增强型51 单片机。该芯片的强大功能表现在它集成了各种高性能工业标准接口并且有着高兼容性,在资源布局上与传统51单片机都能兼容。在速度方面,STC12C5A32S2是1T核,速度大约可达到传统单片机的十多倍。在延时时间上是传统51单片机的十几分之一,因此在对延时有较高要求的地方,STC12C5A32S2的应用更为广泛。 STC12C5A32S2/AD/PWM 系列单片机具有低功耗,高速,超强抗干扰的显著特点,是宏晶科技生产的新一代8051单片机,该系列单片机的指令代码与传统8051完全兼容,并且速度快了8-12倍。2如下图2-2为单片机管脚图:图2-2为单片机管脚图2.2.2 显示模块方案一:采用传统LED灯,但是由于传统的LED灯聚光性差,在点亮时相互之间将产生干扰从而影响视觉效果,使呈现的图像不清晰,因此方案一不可行。方案二:为了提高聚光性,可以尝试采用白发蓝的LED雾灯。该类型的LED灯有较高的聚光性,在发亮时工作的灯的光亮不会影响周围灯的亮度显示。白发蓝LED雾灯的工作电压为2.7-4.2V,电流围为2MA-10MA,其实物图见图2-3:图2-3 雾面乳型LED灯3系统硬件电路设计与实现系统的控制核心采用的是STC12C5A32S2单片机,所以它自身能与8051指令和管脚兼容。为了满足程序代码的存储要求单片机还应该有较大的存储空间,采用STC12C5A32S2单片机如此可以满足该要求。STC12C5A32S2单片机有多种时钟发生源,由于电路需要较高的稳定性因此采用普通晶体时钟源作为时钟发生器,晶体为12MHZ,显示模块如此用64个雾灯全彩LED来实现。3概念:是指能使单片机正常工作并且发挥其功能的必要组成局部。以STC12C5A32S2单片机为例,最小系统由单片机、时钟电路、I/ O设备、复位电路等组成。4单片机最小系统如图3-1所示: 图3-1单片机最小系统框图了解单片机时钟端口的使用和特点是设计时钟电路的前提,因此我们要先理解时钟端口:XTAL1 :单片机部振荡电路输入端口。XTAL2 :单片机部振荡电路输出端口。XTAL1 与XTAL2的本质是一个反向放大器,作为时钟振荡电路时与石英晶振相连接。 具体操作:在XTAL1、XTAL2上接一个石英晶体,在两端应该再接两个电容,由此可以产生一个部激荡电路。值得注意的是该设计中采用的晶振为22MHZ,和晶振相连的两个电容通常采用陶瓷电容,规格为33PF。外部振荡信号采用方波,它的频率是低于12MHZ。5时钟晶振电路见图3-2。图3-2时钟晶振电路检测晶振的方法:方法1:通过观察示波器的波形来检测,在XTAL2的输出端外接示波器并观察波形,如果为正弦波如此晶振正常工作,反之不是正弦波如此不能正常工作。方法2:通过电压表的测量,外接电压表来测XTAL2 输出端与地之间的电压,假如为2V如此正常工作。3.2.2 P0 口外接上拉电阻STC12C5A32S2单片机需要在PO口外接上拉电阻,这是由于STC12C5A32S2单片机是开漏的,其P0口部没有上拉电阻,因此不管它的驱动能力多大,都相当于是没有电源的,需要通过外部的电路提供。当作为一般的I/O口时,即NPN管示通过P0口用来驱动的时候,如此需要外接上拉电阻,通过外接电阻将P0设置为1,后端才能够导通。6图3-3 P0端口的1位结构此次设计中系统的驱动采用的是ULN2803达林顿管,ULN2803封装方式采用AP=DIP18,AFW=SOL18。8个NPN达林顿晶体管,1-8引脚:输入端;11-18引脚:输出端;9引脚:地端;10引脚:电源+。为了符合标准TTL,选用ULN2803达林顿管,另一原因是可以制造ULN2804较为适合6-15V的高级别CMOS或PMOS上。当输入低电平电压,那么该电路为反向输出型,输出端才可正常工作。7ULN2803的部电路图见如下图3-7。图3-4ULN2803部电路图 1/8单元3.4.1 LED灯排序方式设计光立方的主视图为光立方的四个竖面,见图3-5。1面与2面,3面与4面的R、G、B引脚由单片机I/O口扩展出来的三个74HC595控制,1面与3面,2面与4面阴极相连,由ULN2803口控制。如图3-6每一面同一竖的四颗灯一样引脚相连。如图3-7每一面同一行的四颗LED灯阴极的引脚相连。如图3-8每一面每一行的阴极引脚连接到ULN2803的端口。图3-5光立方的主视图图3-6每一面同一竖行连接图图3-7每一面同一横行连接图图3-8每一面每一行的阴极引脚连接图3.4.2 LED灯接法方式设计为了使光立方的64个LED灯的各自颜色都是能独立控制的,在设计中采用结构相对简单的74hC593,每个LED灯的R,G,B,引脚分别由74hC593控制。1面与2面的R、G、B引脚相连,2面与4面的R、G、B引脚相连。每层LED的阴极都连在一起通过共连阴极的方法控制,每面每层都分布有一个接口,其中一共需要8个I/O口控制,1面与3面的阴极接口相连,2面与4面的阴极接口相连。其原理图如如下图3-9所示。8图3-9 LED结构设计图LED的搭建从初始处理到点再到面按照图3-10先将1剪成2的完整样式。再将R、G、B三引脚分别掰成90度,见图3-11。注意三个引脚方向应该不同。1为R脚,2为阴极,3为G脚,4为B脚。如图3-12红圈的位置是一个缺口,是为了我们区分G脚的位置。R脚,阴极,G脚,B脚从左到右分布。图3-10 LED灯的形状 图3-11 已掰好的LED灯图3-12 LED灯的引脚图将64颗LED灯掰好后用镀锌20号铁丝连接成一个面。如图3-13所示。图3-13 焊好的一个面焊接时为了防止把LED灯焊坏,假如是焊接时间太长容易把LED灯焊坏,应注意焊接的时间。影响焊接的另一个因素就是焊锡的用量,焊锡要使用均匀,保持适中,太少将使连接不结实,太多如此影响美观。焊接完事后要测量每个灯是否能正常工作,采用函数信号发生器,可检测灯在焊接过程中是否存在虚焊、损坏和击穿。在电路板上分别接上焊好的四个面,74HC573的八个引脚分别对应每个面的R、G、B三个引脚,ULN2803的输出端口与每一面的阴极相接。安装LED灯面是需要主要引脚对应。如图3-14所示从左到右三个红圈依次是音频接口、USB接口、HS0038红外接收头。如图3-15是16组焊盘中的一组对应的引脚分别是G、R、B、阴极四个接口。按照对应原如此安装好四个LED灯面并在PCB板的背面焊接好每个接口。这局部即为硬件模块显示局部。9图3-14 图3-153.6 PCB板的焊接3.6.1 PCB板的制作PCB板的制作主要有三个步骤:制作印制电路板,首先在选择主板的大小上要适中,主板是整个光立方的支座,假如选得太大,既浪费资源也影响美观,太小的话如此LED灯将无法装下,根据经验一般选择大小与将要焊接的所有LED灯总体尺寸相差不多即可,这样会使焊接完事的成品更加美观实用。9其中制作PCB板又包括印制底图的图样描绘,底图膜层的制作以与蚀刻加工。电路板的打孔与清洗,这个步骤应该仔细慎重,防止电路板损坏。电路板的检修,在这里可以使用DXP来完成电路板的图纸设计以与仿真测试,仿真通过后再进展手动布局和自动布线,生成3DPCB版图,制作PCB板时就根据生成的图纸文件进展制作。103.6.2 主板的焊接主板的焊接是很重要的一步,在开始前要将准备工作做好,首先必须保证主板的干净整洁,主板上不能允许有任何破损,其次检查每个元器件的对应符号是否清晰。还要注意在焊接前就应该将所要焊接的元器件准备齐全,以与每个元件是否完好,是否能够满足系统需要,在准备工作确认无误后对照原理图上的元件位置进展元器件的焊接。焊接过程中要注意焊锡的用量,不宜太多也不宜太少,焊接用多了不仅影响美观还可能造成与附近元器件相连从而出现短路现象,焊锡太少如此可能是元器件与主板连接不牢,形成断路。另一方面,焊接时间也不能太长,焊接时电烙铁会产生高温,焊接时间太长会损坏元器件。由于使用的贴片单片机的焊脚较小并且它的焊接不同于其他元器件的焊接,因此在主芯片的焊接中要格外注意焊接的方法。在焊接时应该先固定单片机的四个脚,用焊接将其固定,之后在四条边上依次进展焊接,在焊锡上涂上焊锡膏,将较多量的焊锡用在其中一条边上,再将电烙铁从这条边上轻轻滑过,在焊锡膏的作用下焊接将会彼此分开,从而将单片机的引脚焊住,按照同样的方法焊接剩余的边,用此种方法焊接的单片机相比传统方法效率较高,焊接的单片机也更加美观。图3-16 单片机焊接因为晶振比拟脆,因此在焊接过程中要尽量做到焊接迅速。对于贴片USB的焊接要仔细,要防止让引脚短路,焊好后还要对USB进展检测,判断是否虚焊、短路。对于直插音频接口焊好的检测期间是否正常运作就好。图3-17 贴片晶振 图3-18 贴片USB接口 图3-19直插音频接口图3-20 贴片ULN2803 图3-21 贴片74hc5734软件设计系统由两个局部组成,硬件和软件。软件的功能可以使单片机上电初始化,同时单片机的特定功能的实现也有赖于软件运行。软件的编写伸缩性较大,一个较好的程序既简单运行起来也不易出错,为了降低程序出错的几率,本次设计采用模块化的设计方案,在设计过程中运用软件编辑器。11系统程序的主要组成局部有三个,分别为主程序,红外按键程序以与显示程序。在执行程序时,先运行主程序,而红外按键程序在主程序中进展判断,在接收到红外按键程序时,显示程序将被调用,通过将显示程序发给硬件来显示。图4-1所示为程序的执行过程图4-1 软件执行图4.1 主程序的设计程序的编写要从功能出发,编写的代码要能实现预期的功能,为了提高程序兼容性,本次的编码格式采用c语言的编码格式。在程序开始的时候,要先确定每个模块的初始化定义。模块的初始化定义是包括了定时器的初始化,中断初始化,选定波特率和串口的通信方式以与输入/输出端口的设置等。12红外按键程序的设计表4-1 红外按键功能表短按功能短按功能开机键待机/激活3夜灯模式7档1动画模式-亮度减2频谱模式+亮度加左面减少一面快退颜色切换减+左面增加一面快进颜色切换加快退右面减少一面4爆闪模式快进右面增加一面返回键闪烁种类减7后面减少一面MODE闪烁种类加9后面增加一面7.9快慢切换10档返回键前面减少一面5自定义模式上位机MODE前面增加一面0底面4个脚灯开关4.3 显示程序的设计通常来说显示程序由字库代码借助取模软件与执行程序组成,通过像素点的移动和人眼的视觉延时,可以使静态的画面产生出动态的效果,为了达到显著的效果,必须对扫描时间和频率快慢加以控制。4.3.1显示模块的原理通过图像图形之间的快速切换以与对静态图像的不断刷新,使静态的画面动起来。要使肉眼看到的效果是流畅的动画必须让图像间的切换速度保持在一个较高的速度。扫描之前把光立方分成很多局部,再逐个局部进展扫描显示,扫描到最后再重新开始,以此循环往复。由于人的视觉延时,在肉眼看来,刷新速度快的LED灯看起来就会比拟亮,如果刷新的速度达到一定程度,由于亮度叠加,那么将看到灯一直亮,而且比实际亮度要高很多。134.3.2 显示程序的设计显示程序采用的是动态扫描,通过选通一列的方式,程序的一行数组按照从低位到高位的方式按顺序从单片机的输入/输出端口输出到驱动74HC595移位存放器中。LED灯的亮暗由存放器输出到LED的阳极来控制,以此循环便能使画面呈现动态效果。14LED灯每种颜色的变换时通过控制74HC595的输出来实现的,单片机高速得将输出数据送达74HC595。为了更加完美的显示,可配上延时程序再依据自己的定义设置多个字模库,通过调用字模库,再配合数据的左移右移,使一个字模库能够动起来。流程图如图4-2。15图4-2 显示程序流程图4.4 软件调试本次设计以单片机为核心器件,调试必须在硬件正常工作的前提下进展。正如前面提到的,我们可以通过示波器,万用表和函数发生器来检测单片机。如假如检测出问题如此应该对照原理图分别对每个模块进展检测。编写程序主要采用keil软件,软件本身自带调试功能,在编写过程中可以用自带调试功能进展实时检测。由于只有.HEX文件才能写入单片机,而keil软件是能够生成.HEX文件,这将给我们程序的编写带来便利。由于C语言具备了较高的兼容性和高效灵活的特点,因而在编写过程中采用c语言。5外壳定制根据设计的PCB板以与LED灯面的高度定制了四面11.5*15.5以与一面11.5*11.5的透明亚力克板。在亚力克板上留下对应于音频接口、USB接口以与灯接口的通孔用以连接外设。16根据亚力克板的大小定制了11.7*11.7的底板,并在底板四角上留下了四个通孔用以固定PCB板。6测试与问题分析本次设计共用到了64个LED灯,共256根引脚,为了达到设计效果必须保证每个灯都能正常工作。如果有一个出现击穿或者不亮就必须判断灯是什么原因不亮的,如果是软件问题就调试软件,如果是硬件问题就检测是引脚虚焊还是灯坏了还是该引脚所连接芯片的问题。判断问题所在后就可以解决问题了。测试中出现问题与解决方法:1、由于系统的功能比拟复杂,所需要的驱动程序以与程序量多,89C51不够代码的存储如此会出现程序的溢出和无法编译。解决方法:这里我们采用的是有更大存储容量的STC12C5A32S2 单片机,STC12C5A32S2单片机有60K FLASH ROM,并且自带能适应高速扫描的光立方的AD功能。2、通过检测发现局部LED灯的工作状况失去规律,一些灯不能正常工作,还有一些灯亮度不均,忽闪忽灭。解决方法:先检测灯引脚是否虚焊,如果没有那就检测灯与芯片引脚是否连接,检测这方面没有问题的话将这些灯亮灯卸下,用万用表重新测试,如假如为LED灯损坏,就换一颗新灯;如果灯、软件都没问题就检测芯片是否虚焊是否损坏,如果芯片损坏就换一个新的芯片。3、在替换单个LED灯的过程中出现测量的灯与未进展测量的灯同时亮的现象。解决方法:通过反接正负横排发现不亮的LED灯在反接时会被点亮,初步推测可能是由于LED灯在焊接过程中被击穿,为了验证得出的结论将万用表的正负两极接在横排或者竖排,此时LED灯被点亮,证明此LED灯是被损坏的,将其取下替换。4、在光立方运行中有一层始终在点亮状态,与工作要求相反,在显示时亮度异常,在将其负极的阴线去掉后状态不发生变化。解决方法:经调查发现这种情况的出现是因为在这一层中有一盏LED灯损坏,为了找出这盏灯采取将负极的引线去掉,此时这一整层依旧点亮,然后仔细观察找出这一层中不亮的那盏LED灯,即为损坏的LED灯,将其取下替换。5、在焊接完成后系统上电,出现了灯不能正常点亮,系统无法工作的状况。解决方法:先检查系统是否已供电,再检测电源模块发现电路板的焊点脱落,造成电源焊接口虚焊,出现这种情况选用外部备用口进展供电。6、在焊接过程中由于焊点较多,焊点与灯头的距离很小,因此在焊接时容易将灯烫坏,另外焊烙铁在焊接时中会产生静电损坏LED灯。解决问题:对于电烙铁产生的静电问题可以通过把电焊烙铁接地来解决。在焊接时将电烙铁的焊头适当倾斜与灯头保持一定的距离,经过屡次检测,确保所有的LED灯都焊接无误。由于光立方所需的程序较多,要求的性能很高,相较于常规的51系列单片机所需要的存储空间也要大得多,因此光立方的软件编写难度大,这就要求我们要具备较强的空间思维能力以与丰富的创造力。程序的自由度高,在程序的编译中可能会暴露出很多问题,需要高度的耐心进展调试和改良,不断的优化升级,才能编写出最简单有效的程序。在测试过程中的问题以与对应的解决方法:1、在写入程序之后,会发现LED灯亮度不均,一直在闪烁。解决方法:首先检测LED灯是否存在虚焊和漏焊,而后对延时时间进展调试,以保证达到最优。2、再keil编写完程序检测运行时出现程序局部变量无定义的错误。解决方法:出现这类问题通常是由于头文件选择错误,在选择头文件时应该自制一个<STC12C5A32S2>头文件而不能只是简单地选择常规单片机的头文件。3、在程序编译完成并通过后,却没有产生.HEX文件。解决方法:检查产生.HEX文件的参数是否进展了设置。7结论本次毕业设计核心是运用STC12C5A32S2单片机控制,再加上辅助模块和LED显示模块,组成能实现立体显示的4*4*4的光立方。此光立方不仅结构紧凑不复杂,而且它的观赏性和研究性都很高,将美学和科学研究完美地严密结合。在光立方的设计制造过程中对于显示模块的LED灯的焊接过程中有着较高的要求,经过大量的焊接不仅锻炼了自己的动手实践能力,还培养了自己精益求精的探索精神,是个很有意义的课题。从接触毕业设计开始我就开始了毕业设计题目确实定,这个过程大概持续了一个多星期,在此期间我也在不断地积极搜索资料,每天的空闲时间都是在网上查询资料,图书馆也留下了我的身影,前期的资料搜索主要集中在单片机类别和选择资料上,在弄清了不同芯片的使用要求以与它们自个的优点和不足后,最后我决定使用最适合我的此次毕业设计课题的一款STC12C5A32S2芯片,此款芯片是最新生产的单片机,它有着众多芯片的优点,功能特强大,但是事物都有它的两面性,正是因为它的最新性,因此它的资料和原理图资料相对匮乏,在找寻这方面资料上花费了不少的时间和精力,所幸付出总会有回报,虽然困难但还是找到了我所需要的资料,这也培养了自己搜集信息的能力。到了焊接阶段,对于我的挑战就更大了,不仅要自己动手操作电烙铁,焊接的巨大工作量也是一道考验。比拟让我困扰的是焊接过程中的LED灯击穿问题,经常在焊完一个面后就出现问题,理论到实际的距离远超过自己的想象,在没有实际操作前是认为焊接应该是相对简单的,结果焊接过程中面临了各种问题,这也启示我们要平时要注重对自己实践能力的培养。从开始的搜集资料到后面的程序设计与调试,遇到的所有问题都只能自己去探索,去请教,去网上搜索这方面的视频自己学,有时一个问题的解决就需要好几天,比如为了找到到STC12C5A32S2的原理图和封装图我更是翻遍了各种电子科技论坛。在设计软件模块,从程序的编写和字库的创立,每一步都要经过细细的调试和计算,程序中运用的延时程序,从扫描频率到灯的亮度,再到每一帧的时间,这些都要认真确定,只有这样才能最终编写出一个优秀的程序。虽然前期的工作很累,但是当看到自己设计的光立方在上电时呈现出华丽的动画效果时,一切的付出与辛苦都是值得的,在设计制作过程中所学到的知识和增长的见识这是用金钱买不来的,锻炼了自己的实践动手能力,也加深了自己对教材知识的理解和运用,并学会了分析问题、解决问题的能力,懂得了获取信息的重要性。总而言之,这次的毕业设计让我收获良多,意义非凡。致谢此次的毕业设计已然接近尾声,虽然过程曲折艰辛,我依旧觉得不舍和难忘。我舍不得毕业,也舍不得离开母校,更舍不得离开同学们以与教师对我的爱护。而欣慰的是,我论文在我日夜专研中完毕了。我第一次做毕业设计,一个有无到有的艰辛过程着实给我带来很多的压力,产生了不少的动力。由于经验的匮乏和知识不足,我难免会遇到很多意想不到的事情发生,但是我都一次次地克制了。如今,我回头看这一切,我真实地看见了自己的成长。 首先感谢我的指导教师。在王敬教师的耐心指导与悉心教诲下,本篇论文进展了屡次修改才得以最终完成的。在此,我要对她表达我发自心的诚挚谢意,正是有了她的耐心指导和帮助才有了我这几个月的成长,感谢她在这几个月中所付出的努力。在这段难忘的时光中,我不仅在她的指导下学到了许多的专业知识和专业技能,还切身感受到了她在工作中的认真踏实和无穷的干劲。在此,请允许我对她致以最崇高的敬意和最真诚的感谢。然后我还要感谢我的同学。在毕业设计中我碰到了许多的问题和挑战,这些问题和挑战的解决离不开她们对我的无私帮助,她们给了我不少重要的建议,她们的耐心和真诚让我感动,在和她们交流探讨中我收获良多。 还有这四年中关爱我,传授我各种知识的教师们,我也要对你们献上诚挚的谢意。我的家人,我的朋友,你们对我的学业和生活的大力支持和无私帮助,这些我都记在心中,感谢你们的付出。最后,我要感恩我的大学师大学闽南科技学院。在闽科经历的一切,我不会忘记,这里,承载属于我们的记忆,这里,承载着我们的青春与梦想。即将离开校园走进社会,我对未来充满了期待与信心,在今后的的工作,学习,生活中,我会勇往直前,收获不一样的美好,用自己的行动回报社会。参考文献2瑞玲.单片机原理与应用 西北工业大学2010年12月3守义主编. 数字电子技术(第二版) M. 电子科技大学, 2007,74堂敏.焕平主编.单片机原理与应用.:理工大学,20075余孟尝数字电子技术根底简明教程高等教育 6邓元庆数字电路与逻辑设计M:电子工业, 19957肖洪兵.跟我学用单片机M.航空航天大学,20028元挺电子技术技能训练电子工业9王东峰等.单片机C语言应用100例M.电子工业,200910潘永雄.新编单片机原理与应用,:电子科技大学,200311童诗白,华成英,模拟电子技术根底,:高等教育,200012马忠梅等,单片机的C语言应用程序设计,航空航天大学,13冯建华,亮单片机应用系统设计与产品开发M:人民邮电,200414付晓光.单片机原理与使用技术M.清华大学,ISBN7- 81082- 169- 5TP 15汉才单片机原理与其接口技术(第2版) :清华大学16中发数字电子技术根底中国水利水电附录1、 实物图2、系统原理图:3、系统PCB图:Light cube design based on STC12C5A32S2 MCUDepartment of puterScience Major of munication engineering Name: ShuJing Huang Guider:Jing Wang【Abstract】With the improvement of living standards, people pursuit of the 3 d effect is being more and more high.3 d technology can not only bring beautiful effect, and with the progress of technology, the cost will be less and less.This topic using LED (light-emitting diode) set up 4 * 4 * 4 cubic lattice, each below 16 leds are connected by way of mon cathode.Using programming STC12C5A32S2 MCU to control each I/O port, in order to realize the 64 leds freedom to switch, control of each level in a certain order successively, which constitute a real 3 d cube displays.【key words】3 d technology Light-emitting leds Single chip microputer29 / 29