图3-3 显示程序流程图
4.3 软件调试 单片机是这个设计的核心,在硬件正常工作的情况下检测软件才是正确的,要是硬件都存在问题去检测软件完全没有意义,对于硬件的检测,可以对单片机的时钟引脚18和19检测,引脚18对地的电压在2.24v,而引脚19是2.09v,对于复位电路的检测则是用5v的电源短接下引脚9,模拟复位电路,如果单片机复位正常则不存在问题。在程序的编写中用keil编写,keil软件可以生成.HEX文件,因为我们用到的下载软件时专业的STC—ISP.exe软件,这个软件只能识别.HEX文件,只有.HEX文件才能写入单片机。在程序的编写中全部都是采用C语言编写,C语言简洁灵活,兼容性高,编译简单,执行效率高,对于循环的使用方便。
第五章 成品测试和问题分析
5.1 成品测试
5.1.1. 硬件调试
本设计因为用到的LED灯比较多,必须确保每个灯都正常工作,如果512个LED灯有一个出现击穿或者不亮就必须把八层LED都拆开,取下坏掉的灯换上好的再焊上,而且要保持结构的整齐度行列对齐,这样显示的效果就会比较好。
在测试过程中发现一些问题,以下是问题及问题的解决方法:
1、这个系统功能比较强大,所以需要的驱动程序和程序量比较多8k的89C51完全不够代码的存储会出现程序的溢出和无法编译的情况。
解决方法:这里我们采用STC12C5A60S2 单片机,它比89C51有更大的存储,STC12C5A60S2单片机有60K FLASH ROM,而且还自带AD功能,适应高速扫描的光立方。
2、本系统发现部分LED灯的亮灭没有规律,有些灯甚至都不亮,还有些灯闪烁不定。 解决方法:这里我把八层LED灯从电路板上分别取下,单个灯用万用表的测灯功能测量,发现不亮的LED灯时,我就给单个替换。
3、在单个灯的替换过程中居然发现我测量的单个灯亮了,可是我没测量的LED灯也同时亮了
解决方法:这里我们知道可能是LED灯在焊接过程中被击穿了,我采用的是反接正负横竖排的方法,当我们反接时坏掉的LED灯就会点亮,还有一种方法就是万用表的正负两极都接在横排或者竖排,这时被点亮的LED灯就是被损坏的,取下替换了就可以了。
4、在光立方的显示中有某一层始终是亮的,不该点亮时是亮的,当应该点亮时又特别亮,而且把负极的引线去掉依然点亮。
解决方法:这种情况就是整层中有一盏灯坏了,当我们把负极的引线去掉后整层依然点亮,仔细观察发现这一层会有一盏灯不亮,坏的灯就是它了,把他取下替换就可以了。
5、系统焊接完成上电后发现没有反应,灯不亮,系统不工作。
解决方法:这里我们用万用表对电路板个部分检查,发现系统没有供电,检查电源模块发现电源焊接口虚焊,电路板的焊点脱落,这里我们采用外部备用口送电。
6、本系统由于焊接点比较多,而且焊接的点离灯头很近,所以很容易把灯烧坏,焊烙铁在焊接过程中会产生静电,静电可以把LED灯给损坏。
解决问题:在这里我们考虑把焊烙铁接地,如果焊烙铁没有接地线我们可以在焊烙铁中部加一根引线接在暖气片上或者直接接地,焊完一行检查一次,焊完一个面再检查一次,最后全部焊完再检查,确保LED灯全部正常工作。
5.1.2. 软件系统
光立方程序比较多,需要的存储空间要比常规的51系列单片机的大,而且刷新率非常的高,要求的性能很高,软件编写难度大,要有很强的空间思维意识,想像力要很丰富,程序变化大,编译中存在很多问题,所以需要精心的调试很改进,优化出最简单效果最好的程序。
1、烧入程序后,LED灯的亮度很不均匀,明亮闪烁。
解决方法:检查元器件是否有虚焊和漏焊,调整延时的时间长短,调试出效果最佳的延时时间,
2、用keil编写完软件发现无法编译通过,显示程序P3无定义。
解决方法:头文件选择错误不能选择常规单片机的头文件,要自制一个
3、程序编译完成后,编译也通过了,没有产生.HEX文件。
解决方法:在软件中没有选择产生.HEX文件,在设置里设置产生.HEX文件 4、光立方显示不稳定,常常会自我中断,不按程序设定的功能显示。
解决方法:程序编写中对于按键没有处理,要加一个按键去抖动判断,判断按键是否按下而不是抖动触到。
5.2 结果分析 本设计经过一个多月的焊接再加上一个多月的调试和改进,现在总算顺利完成了,硬件和软件的运行还是算比较稳定,本设计利用硬件的立体性,利用软件的变化多样性,这两者结合起来就可以产生非常绚丽的画面效果,该设计功能强大,DIY性特别强,可以通过改变程序产生很多意料不到的画面效果。
第六章 结论
本毕业设计主要采用STC12C5A60S2单片机控制,加上几个辅助模块,再加上LED显示模块,就构成了立体显示的8*8*8的光立方,此光立方集合了美学,研究,观赏于一体,既有观赏性又有研究和开发的多种优点,此外在光立方LED的焊接过程中要求比较高,工程量比较大,可以大大锻炼焊接能力极大的提高自己的动手能力,是个很有趣很受锻炼的设计。
从毕业设计的题目选择到基本确定大概花了一个星期,在确定题目的同时我也积极在网上查找资料,有时去图书馆看看关于单片机类的书籍,查查芯片的使用和要求及优点和不足,最终我找到最合适的STC12C5A60S2这款芯片集合了好多芯片的优点,功能特别强大,现在最新的单片机,正由于它是最新的,所以在找资料和画原理图方面很不好实现,几乎很难找到关于它的资料,即使找到了也是纯英文的,还要自己翻译,在原理图方面也一样复杂,几乎没有关于它的封装,在找资料这块花了不少时间,对于LED灯焊接方面也要求的很高,重复无聊的折LED的管脚这都还好,主要是LED灯的击穿问题特别难处理,对于单个LED我们需要检测,对于焊成条形的LED也要检测,对于焊成面的LED还要检测,最困难的是对于焊成体的LED还要检测,有时一条LED灯没问题,可是焊成面就出问题。虽然在动手做这个设计之前我也是做好各方面准备,可是在实施的时候遇到的问题还是使我料想不到,各种软件的使用还有贴片元件的焊接都是很考验基本功的,有些不懂的我就在网上看相关视频,到各种DIY论坛请教这方面的“大神”,可以说我已经下载了网上所有关于光立方的资料,这过程很辛苦,有时一天就为了解决一个问题,从早找到晚,比如找74HC595的PCB封装图,或者STC12C5A60S2的原理图和封装图。对于软件模块要求的就更高了,软件的书写规范和字库的创建,都是一个不小的工程,这个系统中用到的延时程序,每一帧的时间计算,扫描的频率和灯的亮度,都要细细计算,编写调试再编写再调试,这样反复好多次才终于编写出一个稳定的程序。
总的来说,做这个设计确实累,可是当光立方正常工作时看到它显示出绚丽的动画时,付出的这一切都值得了,在制作过程中得到的经验和学到的知识是扎实的,在制作和研究过程中觉得特别的充实,理论知识得到了巩固,知识再也不是仅仅停留在书面上了,动手能力也加强了很多,现在懂得了自己查资料,自己分析问题解决问题,可以说这次的毕业设计做的非常的有意义,受益匪浅。
参考文献
[1]阎石. 数字电子技术基础第四版[M].北京:高等教育出版社, 1998.12:77 -174 [2] 张瑞玲.单片机原理与应用 西北工业大学出版社2010年12月
[3]刘守义主编. 数字电子技术(第二版) [M]. 西安电子科技大学出版社, 2007,7 [4]陈堂敏.刘焕平主编.单片机原理与应用.北京:北京理工大学出版社,2007 [5]余孟尝《数字电子技术基础简明教程》·高等教育出版社
[6]邓元庆.数字电路与逻辑设计[M].北京:电子工业出版社, 1995:49- 195. [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]李中发《数字电子技术基础》·中国水利水电出版社
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新小学教育基于51单片机的光立方设计毕业设计 - 图文 (6)全文阅读和word下载服务。
相关推荐: