光立方的设计与制作.doc_第1页
光立方的设计与制作.doc_第2页
光立方的设计与制作.doc_第3页
光立方的设计与制作.doc_第4页
光立方的设计与制作.doc_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

哈尔滨理工大学学士学位论文哈 尔 滨 理 工 大 学毕 业 设 计 题 目: 光立方的设计与制作 院、 系: 电气工程及其自动化 姓 名: 尹杰飞 指导教师: 朱忠明 系 主 任: 王哈力 2015年 05月 25日光立方的设计与制作摘 要本次论文全面的介绍了光立方的基本制作过程,以51系列的单片机STC12C5A60S2为主要的控制芯片,通过512个LED搭建起来,连接方式为共阴,74HC13ED单元做为单片机的I/0接口,搭建一个8*8*8(长,宽,高)16cm*16cm*16cm的立方体,采用的是延时控制LED灯的量灭,来呈现绚丽多彩的立体画面,造型和不同的图案,并且详细讲述的光立方的制作过程,设计原理和焊接方法,对光立方存在的意义做了详细的介绍。本次设计STC12C5A60S2单片机为核心控制器,构成层控制和锁存模块,完成硬件电路设计。采用暂存的方法,把灯的亮灭信息存到层面上,通过KEIL编程控制数据烧写到单片机完成设计动画的展示。软件采用自上而下的模块化设计思想,使系统朝着结构式,小型化的方向发展,增强了整个系统的多样性和运行的稳定性。关键词 35I-LQFP44 ; 光立方; 单片机;LED;99The design and manufacture of light cubeThis paper introduces the basic process of cubic light, with 51 series MCU STC12C5A60S2 as main control chip, through 512 LED built, connection mode for a total of Yin, 74 hc13ed unit as the MCU I / 0 interface, build an 8 * 8 * 8 (long, wide, high) 16 cm * 16 cm * 16 cm cubes, using time delay control the amount of LED lights, to render the colorful three-dimensional images, modelling and different pattern, and detailed the process of making light of cubic design principle and welding method, light cube exist made detailed introduction. The STC12C5A60S2 single-chip microcomputer as the core controller is designed, make layer control and latches module, complete the hardware circuit design.With the method of the staging, destroy the light of the lamp to the level of information, through KEIL programming control burn write MCU to complete the design animation display data.Software using the top-down modular design thought, make the system toward the distributed, miniaturized direction development, enhance the system scalability and running stability.Keywords;Light CuBe; LED;35I-LQFP44;STC12C5A60S2;目 录光立方的设计与制作I摘 要I第1章 绪论41.1 课题研究的背景41.2 课题研究的意义41.3 本文主要研究内容51.4 本文主要结构安排5第2章 总体设计62.1 工作原理62.2 方案的选择92.2.1主控模块92.2.2驱动模块102.2.3显示模块10第3章硬件电路的设计与搭建方法113.1 硬件电路的设计113.2 光立方的搭建方法11第4章软件的编写设计154.1 程序主函数154.2 编写流程164.3 显示程序的设计18第5章成品的调试205.1 硬件测试205.2 软件测试225.3 结果分析22第6章总结25参考文献26致谢27附录28附录A:源程序28附录B:串口部分程序72附录C:原理图76附录D:外文资料77一:英文原文77二:中文翻译90第1章 绪论1.1 课题研究的背景当今,“光立方”已经成为了一种偏于娱乐性质的一种学习的科学制作,说它是偏娱乐性就在于制作过程中可以自己DIY程序的改造和动画的设计,可以根据自己的想象来设计程序以实现想要的动画画面,说它偏学习性就在于对单片机的控制操作和对LED灯的点阵控制和模块的协调配合上,近年来电子行业的飞速发展,更多的人对光立方的制作设计产生了浓厚的制作热情,光立方可以给人一种浪漫的气氛和唯美的画面,多用于情侣之前的赠送吧自己的心意用光立方的画面展现出来,使它成为了一种生日礼物或者情人间的示爱工具,很多人也吧光立方的研究作为一种职业,随之而然的光立方的技术也越来越成熟,并且具备了商业价值,因为光立方具有很好的画面渲染效果多用于广告的宣传,使其本身的经济价值和娱乐价值超过了其本身,吸引了更多人对其学习和探索,研究与创新。1.2 课题研究的意义本次设计与制作的光立方实际上是和以往传统的LED的二维显示方式不同,使用的是点阵形式的立体呈现技术,这样就会变的更加绚丽多彩,更具有视觉冲击力,以往的光立方运用的事最简单的单片机来制作,单片机的性能好坏决定了它的性能与效果,这样就画面效果和立体效果就会变的不是很流畅,这次我运用的单片机其性能更加优越用STC12C5A60S2来代替89C51从而使单片机的系统功能更加强大执行能力也更强,立体动画更加的逼真,流畅,具有色彩,以往的底板排线太过复杂,本次选用的更为方便美观的PCB板,避免了很多问题,动画更为的流畅,本次的设计与制作对光立方的经济和商业价值更有积极作用。1.3 本文主要研究内容此次的设计与制作用的是纵向为8个LED灯,横向也为8个,一共8层,搭建成8*8*8的光立方。主要分为三个模块:控制模块、I/O模块和驱动模块、显示模块等。控制模块是使用的60K存储空间的 STC12C5A60S2来作为控制核心,其它相关的电路构成系统的,I/O模块是采用74HC13ED单元做为单片机的I/0接口,驱动模块是采用5V的继电器,显示模块是通过对单片机程序的编写来控制LED灯的亮灭来完成的,使光立方展现出多种画面和图案,产生绚丽多彩,生动形象的立体效果。1.4 本文主要结构安排 第二章主要阐述方案的选择与验证,分别对系统的主控模块、驱动模块、显示模块等,进行了方案的选择选择与验证。第三章主要说明了硬件电路的设计各个单元的特点,设计思路和搭建方法。第四章主要介绍的软件的编写设计和程序框架。第五章主要是对完成品的调试和遇到问题的解决处理,整体画面的调试。第六章主要是对本次的设计与制作的总结和通过本次的制作得到的收获,心得与感悟。第2章 总体设计2.1 工作原理单片机的介绍单片机通常也叫做微控制器,一般用英文字母的缩写MCU来表示单片机这样方便使用,单片机早起的使用时应用在工业控制的方面。单片机是由芯片内仅有CPU的专用处理器发展而来。单片机是一种集成电路芯片,是采用比较大的电路集成技术把具有数据处理能力的中央处理器CPU、随机存储器、多种的I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。 单片机,是计算机发展的一个重大的分支,可分为通用型/专用型、总线型/非总线型及工控型/家电型。这几种类型是按照单片机的适用范围来区分的,单片机诞生于1971年,经历了三大阶段分别为早起的SCM单片机,MCU单片机,SOC单片机,从一开始的4位发展到现在的16位,32位甚至更多。当前SOC嵌入式系统式的独立发展之路,向MCU阶段发展的重要因素,能够应用系统在芯片上的最大化解决,所以,现在专用单片机的发展自然形成了SOC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SOC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。单片机是靠C语言编写的程序来运作的,而且可以通过修改程序来控制单片机的运行。编写不同的程序就可以来完成不同的功能,甚至是一些特殊的功能,别的器件与之相比单片机就简单了很多,有的则是很难做到的。一个对于单片机来说简单的程序用别的方法就要狠繁琐甚至要用到大型的设备这样多PCB板的要求就跟高,只通过单片机的编写程序来实现这样就更高效,安全,准确性高所以现在正在普遍应用单片机来实现一些不必要用到计算机的设备控制。 单片机历史 单片机诞生于1971年,世界上第一个4位微处理器诞生于Intel公司。SCM阶段 SCM阶段奠定了通用计算机的不同发展道路,SCM有可以说是单片微型计算机阶段,这样的阶段主要是在寻求最佳的单片机形态来完成嵌入式徐彤的最佳结构体系,这个发展阶段Intel公司无疑是贡献最大的,奠定的现在单片机的基础。MCU阶段 MCU即微控制器(Micro Controller Unit)也是单片机发展的中期阶段,基本的发展方向主要是:来尽可能的在SCM的基础上完善创新,更加加强了对控制对象的智能控制能力,此时单片机的应用领域已经和系统越来越相关了,这一过程中Intel公司也起到的很大的推动能力但是起到只要推进动力的公司是PHILIPS公司。 Philips公司在将MCS-51从单片微型计算机一点一点的发展到微控制器的过程中起到了很大的作用。所以,当我们想要了解单片机历史时一定要着重了解Intel公司和PHILIPS公司,两家公司在单片机的发展历史中都有至关重要的作用。SOC阶段 当前的单片机阶段就是SOC阶段,现阶段的单片机已经从最初的4位处理器发展成了16位32位乃至更多功能也越来越来的完善,成熟,迎来了单片微型计算机的黄金时代,现阶段在人们的日常生活中的单片机在很多的领域起着至关重要的作用,几乎找不到没有单片机应用的领域,下面详细举例了在各个领域中单片机的应用。 1.在智能仪器仪表上的应用 占用空间小、消耗低、较强的控制能力、灵活方便、小型化并且使用方便是单片机具有的优点,不只有这些优点这些只是一方面,现在这个时代单片机越来越多的使用于在了仪器仪表的生产中,单片机和不同的传感器组合就会实现不同的功能,可以实现很多功能,例如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。使用单片机控制可以使得整个仪器仪表显示模块更加的智能化、方便化、便捷化,还能够使的功能比起采用其他的设备更加方便,实用,经济实惠。精密的测量设备就会用到单片机例如:万用表,滤波器,各种其他测量分析仪。2.单片机在大型工业上的应用在工业生产上使用微型单片机能够构成控制系统、收集数据系统,这样的系统更加的多样化,微型化。操作起来更加的方便快捷,更加节省人力,物力,财力。是一项伟大的应用,促进了我国大型工业的发展,3.单片机在日常电器上的应用 不夸张的说,当今这个时代我们大家所使用的家用电器基本上都是采用了单片机控制的,例如做饭用电饭锅、家里的防盗门、洗衣机、 空调、电视机、手机、平板、等等等等无处不在深入的融入到了我们的生活中成为不可分割的一部分,为生活带来了更多的方便。4. 单片机在计算机和通讯上的应用当下这个时代我们大家通常使用的单片机主要应用在手机、电话上面早期单片机的使用时是在对讲机,无线通信方面,基本上都用到了单片机的数据通信功能,现在我们使用的单片机基本都具有通讯接口,可以更加便捷的与计算机进行数据的更新通信。5.单片机在医疗事业领域中的应用 当下单片机在医用设备中的应用也越来越多,很多的疾病症状都是要通过单片机的设备经过检测出来的数据才能更好更快的医治的,例如医用助吸机,多种多样分析仪,监护器,超声波检测,等等的设备。6.单片机在大型电器领域上的应用 有很多微型的单片机是来用于实现某种特定的功能的,例如我们日常使用的汽车,叉车,挖掘机上面就有单片机的应用,单片机在设备上起到至关重要的作用智能化控制着车辆的性能,只要调节单片机的控制器就可以对车辆的性能进行修改,这样更加的方便快捷安全,为生产制造和调试剩下了很多的时间,以往的调试要用到很大型的设备很不方便。本次设计与制作的光立方主要是以STC12C5A60S2单片机为控制核心的,用512个F5蓝色圆灯为显示模块来搭建光立方.一共有3个模块构成主控模块、显示模块、驱动模块。图2-1-1 系统结构框图 图2-1-2 驱动模块原理图2.2 方案的选择2.2.1主控模块方案一:使用89C51单片机作为主控制芯片。方案二:使用STC12C5A60S2单片机作为主控制芯片89C51单片机的存储空间只有8K,而本次制作的3D光立方的功能比较繁琐复杂,编写的程序代码很多存储空间很可能大于8K,造成存储空间不够溢出问题,所以决定不采用方案一,STC12C5A60S2单片机的存储空间为60K没有存储问题并且运行速度流畅,加密安全,有较强的抗感染能力,集成复位电路,强抗静电,所以采用方案二。2.2.2驱动模块方案一:使用8个8050NPN三极管来做驱动模块,优点在于能够起到反作用效果,但是由于需要8个数量较多不方便吩咐影响美观,性价比过高所有没有采用。方案二:使用ULN2803八重达林顿芯片来做驱动模块,1到8引脚为输入,11到18引脚为输出,驱动能力较高500MA/50V。光立方为512个LED灯组成电流较大,用ULN2803解决了占用空间的问题,一个就可以体用8个三极管,大大缩小了占用空间,所以选择了ULN2803八重达林顿芯片。2.2.3显示模块方案一:使用我们常用的草帽型LED灯,由于常用的LED灯不容易聚光视觉效果不好,光分散的比较厉害由于光立方为8*8*8的立方体灯与灯之间较近容易互相干扰,使得图像不清晰,所以不决定采用此方案。方案二:使用白发雾状蓝灯,聚光较强,电压与电流要求分别为2.74.2V,2mA10mA。所用灯全亮的时候能够更好的显示画面效果,所以选择方案二。 图2-2雾面乳型LED灯第3章 硬件电路的设计与搭建方法3.1 硬件电路的设计本次制作的光立方电路是由STC12C5A60S2单片机为控制核心的,是能够和8051指令、管脚完全兼容的单片机,并且还具有串口烧写编程功能,功能很全面,功耗较低,具有很大的存储空间来满足多程序的编写;具有阻容低速时钟源、普通晶体时钟源、带缓冲放大的晶体时钟源等等多种时钟源电路,但是由于考虑去成本和稳定性选择了普通晶体时钟源作为时钟发生器。3.2 光立方的搭建方法本次搭建光立方的第一步我们首先要做的是对LED灯进行弯折,弯折之前要对你使用的每个LED灯进行检查,确认是否每个LED灯都是能正常工作的,弯折方法是正极直接向下弯折,负极流出一定高度向右弯折,这样可以更方便焊接,也可以避免正负极的接触,焊接之前一定要检查弯折的是否正确,正负极弄反会导致整个灯不亮,所以操作过程中一定要小心谨慎,因为本次是制作8*8*8的光立方LED小灯比较多,所以一定要小心谨慎细心的完成本次的设计与制作,这样可以避免许制作上出现的小问题,如果出现问题后在解决就会浪费很多时间。如图3-2-1。 图3-2-1小灯折弯弯折完所有小灯后,我们要准备一个木板或者纸板以便于更好的焊接,根据现有的条件选择木板还是纸板就可以作用上是一样的不会影响知错效果,在上面画出一个8*8的方格,方格的长宽最好是和PCB板上的间距是一样的,因为本次制作的是8*8*8的立方体,这样呈现的完成品会更加美观,在其交点的地方把它钻开,钻出一个直径和LED灯一样的圆孔,之后把每个小灯放进其中连成线,这样做可以防止焊接灯不直不规范,焊接出来的LED灯板也更加平整,间距相同更好的构成立方体,也能更加的美观。 图3-2-2 焊接板依照上述的方法焊接成8个8*8的正方体,焊接的时候一定要注意使用恒温的电烙铁,焊接时如果温度过高可能击穿LED小灯,造成LED灯的损坏不亮,如果造成LED小灯击穿成品测试时更换LED小灯就会很造成很多不便,焊接点时烙铁不要停留时间过程一般2-3秒即可,还要注意的是正负极的接触不要使用过多的焊锡,避免正负极粘连在一起导致LED小灯不亮,焊接完成后用万用表逐一测试LED小灯的亮灭,发现有损坏的要及时更换。 图3-2-3 测试小灯 经过检查LED小灯无误后把LED小灯的阴极查到PCB板的阴极上LED小灯的朝向位置要超前面或者后面,这样更加美观,以往看到的都是小灯朝上的,由于我觉得超前会更加美观所以做了尝试,朝上的小灯和本次制作的原理上是一样的只是小灯弯折上有区别,注意正负极的连接就可以了,完成以上步骤之后把LED小灯板焊接在PCB板上,依次焊接8排之后用导线把焊接的8排小灯用导线把正极焊接上,最好选用硬度强的导体导线,比如铁丝,这样可以起到固定整个3D立方体的作用,为了更好的固定本次焊接了8层小灯的正极,之后用导线把小灯的负极和PCB板上的负极链接,焊接时注意导线的长度,导线是依次延长两个小灯之间的距离的,选择适应的长度可以使光立方更加美观。 图3-2-4 焊接好的立方体第4章 软件的编写设计4.1 程序主函数程序主函数运行流程框图如图4-1。 图4-1 运行流程框图4.2 编写流程第 1 步:我们首先要做的是打开Project菜单,就会弹出下来菜单,在下拉菜单中选取中New Project左键确认。第 2 步:完成第一步之后我们就可以选择你要保存的文件夹,在下方输入文件夹的名字,例如保存到C:cwork 文件夹里,文件夹的名字为myled1, 如下图所示,然后就可以点击保存。 第 3步:完成以上几个步骤后会弹出一个对话框,你可以在其中选择你使用的单片机的型号,型号的选择主要根据你使用的单片机来进行选择。Keil C51这个软件基本是支持所有的51 单片机,此次我们使用的是以大家用的比较多的Atmel 89C51 来进行操作的,这样大家可以更统一的理解,如下图所示。选择的是89C51 之后,就会弹出一个显示框,右边显示栏是对这个单片机的说明,可以详细的核对和你使用的单片机是否相同,核对没有区别后点击左键进行确定。第 4 步:完成上一步骤后,屏幕上就会出现如下图所示的弹窗。该窗口是提示的是否进行拷贝startup.a51 文件进行新建文件,通常我选择“否”就可以了。完成上述所有步骤后的软件界面如下,操作到现在,我们仅仅是完成了一个搭建工程的框架,并没有编写任何程序。编写程序根据自己的设计进行本次设计的程序会在附录中呈现源程序。4.3 显示程序的设计动态显示程序流程图见4-8。否开始程序初始化选通列,送锁存输出送下一列数据,选通信号左移左移次数8显示完成后返回LED显示一列 图4-2LED显示子程序流程图单片机的动态扫描一共分为行列的扫描两种方式,两种方式的不同就在于选通端和数据输入端分别是列还是行。先选通端之后再从行送入对应列的数据位置,依次从第1列到第8列循环进行,切换的速度快慢决定了视觉效果,利用人们眼睛的延时特性可以看到一幅幅稳定的动画。光立方的显示方式是采用扫描显示方式进行的,选中一列后按照列对应的数据表的数据第N列对应的列数据为数组的第N和第N+7个元素。把对应的数据自低到高位依次的从控制端口输出显示。然后向右逻辑位移得到的结果在通过单片机端口输出到锁存器,通过片选需要显示对应的锁存器再输出显示。如此依次循环选通各列来显示所需画面。第5章 成品的调试5.1 硬件测试 本次设计使用的是大量的LED灯,所以对焊接和调试方面就有昌盛一定的难度,512个LED灯中只要有一个出现问题就要更换,因为是8*8*8的立方体所以很麻烦,必须把焊好的LED灯拆开再取出坏的LED重新焊接上。本次设计与制作的调试过程中出现了很多的问题,下面是对产生的问题和解决的方案:1、由于此次的设计与制作的系统编写的程序存储空间大,使用512个LED灯需要的电流和编程空间都比较大,以往常用的8K 89C51微型单片机的存储空间小,这样就会导致存储空间不够程序溢出不能够正常的显示程序,所以本次不准备采用89C51单片机进行制作。 解决方法:使用STC12C5A60S2 单片机,STC12C5A60S2单片机自身带有高达60K的存储空间 ,这样就可以避免程序溢出的问题,并且STC12C5A60S2单片机具有AD功能,这对于光立方性能的拓展提供了更大的可能。 2、在本次的设计与制作硬件测试中整个光立方体的LED灯普遍偏暗,没有达到想要的动画效果。解决方法:遇到这种问题我首先想到的是检查整个电路,检查的主要目的是检测整个电路是不是存在短路、断路等问题。检测之后发现并没有出现问题,所以选择在I/O口上接了上电阻,问题便得以解决了。3、烧入编写程序后发现光立方上存在个别的LED小灯不能正常工作。解决方法:本次使用的是74HC573单片机来控制8*8*8光立方LED灯的亮灭,每个引脚都能够控制八个LED灯,所以我首先想到的是其中一个引脚出现了问题没能够完好的控制LED灯。所以要逐个检测每个引脚,检测后发现某个引脚电压与其他引脚电压相比明显偏低。根据这样的情况推测是断路造成的,完整的连接后问题得以解决。4、烧入编写程序时还存在烧写完成后光立方不完全按照程序设定完成动画的问题。解决方法:经过反复的检测查阅资料发现应该是引脚出现的问题。所以我更换了现用的PCB板发现运行正常了,所以应该是PCB板损坏造成的问题。5、调试过程中发现ULN2803没有起作用,将其输入端口直接接VCC却不能逐层点亮。解决方法:根据所学的知识推测应该谁驱动芯片烧坏了造成的,更换了芯片问题还是没有能够解决。排除了这种可能,然后开始检测和它相连接的其他系统,通过测试单片机的最小系统上的元器件发现问题还是存在。但是因为整体布局中线路较多遂放弃一个个器件进行检查而是单独外接一块最小系统来对比论证,检测后得知问题确实出现在原先的最小系统上。6、由于电烙铁工作时会有较小的静电产生,很容易烧坏LED灯。解决问题:电烙铁在工作时有时会发生带静电的问题,为了避免这样的现象我给出了以下几种解决方法:1.时烙铁接地,;烙铁头与地线连接,以泄放产生的静电。2.如果烙铁没有接地线的接口,赤裸着脚站在地上也是可以减少静电现象的。把八个灯归为一组,每次焊接完成就要检查,焊完64LED灯还要在进行整排的检查,这样反复检查把LED坏的概率降到最低。 调试的主要目的就是检测小灯是否正常,画面是否能够完全按照编程编写的去呈现绚丽的画面。(1)程序烧写进单片机之后,连接电源检测灯的亮灭发现有一排灯不亮我用的是排除法来检查电路,首先是检查灯的线路是否虚焊,断路,经过检测发现存在短路问题,把断焊的地方用电烙铁点上就解决了问题,由于短路的一排在里侧所以焊接时要注意不要碰到其他LED小灯,防止其他小灯短路和整个光立方的形变。(2)程序烧写进单片机之后,发现不能显示完整的画面,首先想到的就是重新检测程序,主要检测的是程序相对应的引脚定义有没有错误,还要检测是否是延时问题导致动画不是很明显,经过检测发现引脚定义错误,经过修改重新烧入程序解决了问题。5.2 软件测试本次制作的8*8*8光立方主要是通过编程来控制3D光立方的已达到达到多个图案变化的效果。在整个制作过程中也出现了很多的问题。但是最后经过几次的检测检查改正了问题,顺利的完成了编程工作。本次软件设计以keil 4软件通过C语言进行编写的,C语言编写的特点是在于能够尽量少地对硬件进行操作,而且拥有很强的结构性、功能性和可移植性,一般被优选作为单片机系统的编程语言。使用C语言编写单片机程序时,最好要采用结构化的程序设计方法,将各部分的功能模块化,由不同的模块完成不同的功能,这样可使整个应用系统程序结构清晰,更易于调整和维护。不同的功能模块分别对应着相应的入口和出口参数,对于一些要重复调用的程序一般把其编成函数,这样可以大大减少程序代码的编写内容,并且便于整个程序的管理,还可以增强可读性和移植性。C语言具备很强的功能性和结构性的性质,可以大大缩短整个微型单片机控制系统的开发周期,而且易于调试和维护,所以本设计与制作选用的是C语言来作为编辑语言。5.3 结果分析本次设计与制作的光立方呈现了多个动画的联动结合,呈现了绚丽多彩的动画效果,完成之后经过了我多次的检查和分析,光立方呈现的动画与程序效果完全吻合,符合设计的最初设计与制作要求。在硬件和软件的测试过程中也使自己把之前不是很了解的地方有了新的认识,对各个模块有了更深的认识,了解了各个模块之前的配合运作,调试过程虽然是枯燥的但也锻炼了自己,锻炼了我发现问题并解决问题的能力,也是对以前学到知识的一个复习,总结下来本次制作光立方的过程让我受益良多,是一次难得的机会使自己有了很大的进步,整个人得到了升华,以往总感觉学的知识不知道怎么运用,通过这次的制作过程找到了目标,为自己以后的学习增添了强大的动力。显示效果如图; 图5-1 显示效果第6章 总结通过本次的毕业设计对自己是一种锻炼,通过整个制作过程我感觉收获很多,同时对自己大学期间所掌握的知识有了一定的认识,使自己得到了升华,成长了很多,在制作的过程中也在不断的学习补充自己,尽心尽力的完成本次设计,当成功完成作品的时候有一种只要有付出就会有收获的感觉,感觉自己的所付出的努力得到了认可。本文开始讲述了组成光立方的所有系统的工作原理,给出了控制模块和驱动模块的原理图,并进行了简单的介绍,进而对各个模块的选择方案进行了简单的介绍,多方案的比较选择出了最合理的方案,并在方案成立的前提下进行了电路的设计,充分利用了自己所学的知识,也通过学习和查阅其他资料完成了本次的设计,在设计的过程中也多次的请教了我的导师朱老师,无论是在资料,工具,硬件上都给了我很大的帮助,保证了本次设计的可行性,之后我查阅了很多的资料,结合了多方面的信息来完成设计,其中经过了多次的修改和完善最终完成的呈现了系统功能。本次的制作总体是很成功的,学到了很多掌握了许多课堂上学不到的知识,同时也提高了自己的动手能力,虽然在制作过程中也被电烙铁烫伤过但是自己完成了作品也感觉到是值得的,同时丰富了自己的想象力还有创新能力。由于自己在理论和实践上的不足,所设计的光立方和编写程序的实现功能上避免不了有所出入和自己不能完全掌握的地方,希望各位老师能过多多的保函和批评和指正。参考文献1 百度百科;2 张瑞玲,单片机原理与应用 西北工业大学出版社 2010年12月 3 陈跃. 电气工程专业毕业设计指南电力系统分册M. 北京:中国水利水电出版社,2003. 4 恰汗合孜尔.C语言程序设计(第三版)M.北京:中国铁道出版社,20105 李元生.LED光柱专用驱动器J.家庭电子,2005,(04):1-7.6 张全福.汇编语言程序设计实验教学改革与探索.教学研究,2005,(06):3-5.7 郭天祥51单片机C语言教程电子工业出版社8 STC12C5A60S2系列单片机器件手册9 王东峰等.单片机C语言应用100例M.电子工业出版社,200910 冯建华,赵亮单片机应用系统设计与产品开发M北京:人民邮电出版社,200411 Meehan Joann,Mui Lindsey.SCM in Merseyside SMEs:Benefits and barriersJ.TQM Journal.2008.12 Guiyun Tian Foundation and Application pf Microcontroller 高等教育出版社 第一版 200313 V.Yu.Teplov,A.V.Anisimov.Thermostatting System Using a Single-Chip Microcomputer and Thermoelectric Modules Based on the Peltier EffectJ ,200214 Yeager Brent.How to troubleshoot your electronic scaleJ.Powder and Bulk Engineering.1995致谢在论文即将完成的时候,我要向关心、帮助、指导我的老师表示由衷的感谢并致以崇高的敬意。在这四年的大学学习生活中,在学习上和思想上,以及动手能力上都收获了很多,除了自己的努力和老师的帮助、开导、点播是分不开的。每当遇到自己解决不了的问题老师总会给我最好的解答,在一次的向各位老师们致以由衷的感谢和崇高的敬意!本课题在选题上和设计与制作过程中老师都是一直细心的教导着我。每当我遇到不会的问题老师都会耐心的教导我,帮助我开拓制作的思路。老师以他那博学的学识、严禁的做事态度、办事的作风和他创新的思维,饱满的工作热情以及对我的细心的教导和严格的要求给我留下了深刻的印象,让我在理论和实际应用两方面的能力都得到了很大的提升。我觉得即使毕业以后都会让我受益良多,朱老师治学严谨,待人诚恳,他的学术眼光,对教学事业热情耐心地追求和勤奋不辍的精神使我终生受益,即使年龄大了也没有放弃对科学的探索,是我终生学习的榜样,在此想恩师致以最诚挚的谢意。在此,我还有感谢在一起学习和帮助我的同学,正是由于你们的帮助和支持,我才能战胜一个又一个的难题,本设计的成功完成。感谢你们给予我的帮助并且对于我提出的难题都给予热心、耐心的解答,使我受益颇深。最后,我要向在百忙之中抽时间对本文进行审阅、批评的老师们表示感谢。附录附录A:源程序本设计的软件编译是在Keil 的环境下进行的,Keil 可以对C语言进行编程。源程序如下;/如引用请注明出处/Display memery:display88;#includeSTC_NEW_8051.H#include#define uchar unsigned char#define uint unsigned intsbit STCP = P11;uchar xdata display88;/*rank:A,1,2,3,4,I,心,U*/uchar code table_cha88=0x51,0x51,0x51,0x4a,0x4a,0x4a,0x44,0x44,0x18,0x1c,0x18,0x18,0x18,0x18,0x18,0x3c,0x3c,0x66,0x66,0x30,0x18,0xc,0x6,0xf6,0x3c,0x66,0x60,0x38,0x60,0x60,0x66,0x3c,0x30,0x38,0x3c,0x3e,0x36,0x7e,0x30,0x30,0x3c,0x3c,0x18,0x18,0x18,0x18,0x3c,0x3c,0x66,0xff,0xff,0xff,0x7e,0x3c,0x18,0x18,0x66,0x66,0x66,0x66,0x66,0x66,0x7e,0x3c;/*the ideasoft*/uchar code table_id40=0x81,0xff,0x81,0x00,0xff,0x81,0x81,0x7e,0x00,0xff,0x89,0x89,0x00,0xf8,0x27,0x27,0xf8,0x00,0x8f,0x89,0x89,0xf9,0x00,0xff,0x81,0x81,0xff,0x00,0xff,0x09,0x09,0x09,0x01,0x0,0x01,0x01,0xff,0x01,0x01,0x00;/*railway*/uchar code dat128=0x0,0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0,0xe4,0xe8,0xec,0xf0,0xf4,0xf8,0xfc,0xdc,0xbc,0x9c,0x7c,0x5c,0x3c,0x1c,0x18,0x14,0x10,0xc,0x8,0x4,0x25,0x45,0x65,0x85,0xa5,0xc5,0xc9,0xcd,0xd1,0xd5,0xd9,0xb9,0x99,0x79,0x59,0x39,0x35,0x31,0x2d,0x29,0x4a,0x6a,0x8a,0xaa,0xae,0xb2,0xb6,0x96,0x76,0x56,0x52,0x4e,0x6f,0x8f,0x93,0x73,0x6f,0x8f,0x93,0x73,0x4a,0x6a,0x8a,0xaa,0xae,0xb2,0xb6,0x96,0x76,0x56,0x52,0x4e,0x25,0x45,0x65,0x85,0xa5,0xc5,0xc9,0xcd,0xd1,0xd5,0xd9,0xb9,0x99,0x79,0x59,0x39,0x35,0x31,0x2d,0x29,0x0,0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0,0xe4,0xe8,0xec,0xf0,0xf4,0xf8,0xfc,0xdc,0xbc,0x9c,0x7c,0x5c,0x3c,0x1c,0x18,0x14,0x10,0xc,0x8,0x4;/*railway 2*/uchar code dat228=0x0,0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0,0xe4,0xe8,0xec,0xf0,0xf4,0xf8,0xfc,0xdc,0xbc,0x9c,0x7c,0x5c,0x3c,0x1c,0x18,0x14,0x10,0xc,0x8,0x4;/*railway 3*/uchar code dat324=0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x16,0x26,0x36,0x46,0x56,0x66,0x65,0x64,0x63,0x62,0x61,0x60,0x50,0x40,0x30,0x20,0x10;/*3p char*/uchar code table_3p38=0xff,0x89,0xf5,0x93,0x93,0xf5,0x89,0xff,0x0e,0x1f,0x3f,0x7e,0x7e,0x3f,0x1f,0x0e,0x18,0x3c,0x7e,0xff,0x18,0x18,0x18,0x18;/*initializtionThat is to initialize the program .It is write to set the timer in c52 mcu.So the program can renovate the led_3d_cube in fixed time use the interrupt function.*/void Com_Init(void)TMOD = 0x11;S2CON=0x00;IE=0x99;TH1=0xc0;TL1=0;TR1=1;TH0=0; /reload valueTL0=0;/initial valueTR0=1;AUXR|=0x7d; /串口2加速,独立波特率1t模式,开始运行,使用独立波特率发生器BRT=250;SCON=0x50; /方式1,允许接收ES=0; /关闭串口中断void delay(uint i)uchar j;while (i-)j=3;while(j-);/*判断一个数值的第n位,是1还是0,并返回相应数值*/uchar judgebit(uchar num,uchar b)char n;num=num&(1=5)b+;return b;/*To figure out the absolute value*/uchar abss(char a)if (a(*b) t=(*a);(*a)=(*b);(*b)=t; /*The function is to figure out the max number and return it.*/uchar maxt(uchar a,uchar b,uchar c)if (ab)a=b;if (ac)a=c;return a;void clear(char le)uchar i,j;for (j=0;j8;j+)for (i=0;i=-3;i-)if (i=0)for (j=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论