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