毕业设计(论文)-444光立方的设计与实现.doc_第1页
毕业设计(论文)-444光立方的设计与实现.doc_第2页
毕业设计(论文)-444光立方的设计与实现.doc_第3页
毕业设计(论文)-444光立方的设计与实现.doc_第4页
毕业设计(论文)-444光立方的设计与实现.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

南京理工大学紫金学院毕业设计说明书(论文)作 者:唐佳恒学 号:110404333系:电子工程与光电技术专 业:通信工程题 目:4*4*4光立方的设计与实现副教授武晓光指导者: (姓 名) (专业技术职务)评阅者: (姓 名) (专业技术职务) 2015 年 6 月毕业设计说明书(论文)中文摘要光立方是一个长、宽、高由444共64个LED灯组成的真实3D立方体显示器。其最大的特点,就是可以以此为平台更加高效经济的研究3D显示技术,并且带给观赏者立体的超酷的3D视觉体验。本设计采用了MCS-51单片机,这种单片机自带有A/D转换模块,再加上显示效果极佳的高亮雾面的双色方形LED,硬件电路无需添加额外的驱动和上拉电阻,即可实现其强大的功能:除了能显示3D图形,允许用户自拓展音频显示功能,就像音乐显示器一样。用户还可以在不改动硬件电路的情况下设计出自己喜欢的自定义图形。这些充分体现了制作成本低、显示效果好、功能完善的特点。关键词光立方动画显示音频显示 A/D转换毕业设计说明书(论文)外文摘要Title The design and implementation of 4*4*4 Light Cube AbstractLight-cube is a long ,wide,high is composed of 4x4x4 leds true 3D volumetric display. Its greatest feature is that it can be more efficient as a platfrom for economic research 3Ddisplay technology, and bring the viewer stereo cool 3D visual experience. This design USES MCU-51,the MCU built-in A/D conversion module,Plus showed excellent results high light square LED fog below in double colors. dont need to add additional hardware circuit drive pull up resistance, and its powerful functions can be realized: in addition to display 3D graphics, allows the user to expand the audio display 3D function, like music display. Users can also in the case of do not change the hardware circuit design their own custom graphics. These fully reflect the production of low cost, good effect of display, the characteristics of the function is perfect.Keywords light-cube animation display audio-display A/D conversion 南 京 理 工 大 学 紫 金 学 院毕业设计(论文)评语学生姓名: 唐佳恒 班级、学号: 110404333 题 目: 4*4*4光立方的设计与实现 综合成绩: 指导者评语:该同学平时表现一般,论文撰写工作进展一般。论文结构基本合理,叙述了光立方电路设计过程,但叙述过程不够清楚,特别对LED驱动电路设计的叙述不太合理。推荐参加答辩,建议成绩中。、 指导者(签字): 2015年 5月 23 日毕业设计(论文)评语评阅者评语: 评阅者(签字): 年 月 日答辩委员会(小组)评语:答辩委员会(小组)负责人(签字): 年 月 日 本科毕业设计说明书(论文) 第 I 页 共 I 页目 次1 绪论11.1 光立方的发展背景11.2 研究意义11.3 章节安排12 总体设计32.1 光立方控制原理32.2 系统的总体设计方案32.3 各个模块的方案比较43 系统硬件设计63.1 单片机选型63.2 单片机总控制电路83.3 光立方显示电路124 系统软件设计134.1 软件编译134.2 流程设计154.3 显示设计164.4 小结22结论与展望23致 谢28参 考 文 献29附录:30 本科毕业设计说明书(论文) 第 35 页 共 35 页1 绪论1.1 光立方的发展背景光立方在我国的起步还是相对比较晚,直到2009年,在北京天安门广场举行的国庆晚会才与大家相见。“光立方”在气势和整体感觉上,融合了北京奥运会开幕式“击缶而歌”和“活字印刷”的风格,而各种图案则与贯穿奥运会开幕式的“画卷”有异曲同工之妙1。光立方在国庆联欢晚会上演习结束之后, “光立方”这一个新名词在不知不觉之中吸引了许多人的目光。之后以“光立方”制作而成的手电筒也被应用在2010年的世博会的主题馆和中国馆。随后“光立方”在中国被越来越多的人所留意,也有越来越多的人学习和制作光立方,他们在此基础上不断创新,开发出了更多的花样。其实在我们的日常生活中,“光立方”的各种产品早就已经存在了,只是我们没有去关注它。例如照明类光立方,常见的是在景观处所使用的装饰灯;还有就是应用在各种活动中的大屏幕上,色彩斑斓的效果非常绚丽。1.2 研究意义随着人们生活水平的提高,3D效果的欣赏已经成为了人们的追求,但是发展到现在3D还不能够普及到人们的生活当中去,因此要更好地把3D推广到日常生活中。在这一次的设计中,放弃了对平面LED灯的制作,而是转向3D效果的设计,利用3D制作出来的效果更加丰富多彩,不但可以吸引人们的目光,还可以提升人们的审美观,不用把视线集中在平面成像上。3D光立方是一种新型的显示资源,因此它所拥有的优势也是比较明显的,在体积方面非常小、功率消耗方面相比同类也降低很多、功能强大、优秀的拓展能力、微型化等。比起市面上使用的电子或数字电路的光照设备,在每一个方面都有显著的优势。最重要的是它的研究极具创意和启发,还可以应用于未来的3D手机、节能灯等产品,并且由于制作成本低廉,用3D所实现的智能产品对市场经济发展有很大的推动作用。1.3 章节安排具体安排如下:第二章:主要说明了光立方的总体设计原理和各个结构都有一些什么特点,并且对不同的方案都作了比较。第三章:详细说明了电路各个部分的排布、设计和功能,主要包括控制电路、驱动电路还有显示电路在光立方工作过程中的作用。第四章:主要说明了软件调试的过程,软件设计的具体做法更加方便读者理解设计的整个架构和逻辑关系。最后,对光立方的设计过程做出总结,并对光立方的发展前景进行描述。2 总体设计2.1 光立方控制原理3D光立方看起来就像是一个三维的显示器,只不过这个光立方是由发光二极管组成的一个立方体。光立方显示的原理简单来说就是用单片机控制64个发光二极管,在不同时间段点亮动画效果所需要的发光二级管,然后便能看到图案或动画效果了。光立方的具体原理如下:整个光立方由下到上一共分为4层,将每一层的总共16个发光二级管的负极焊接在一直线上,由于是双色的发光二极管,所以将32个正极分为两路焊接,其他层都对应焊接,然后再曾与曾直接对应焊接起来。然后再根据所要实现的动画效果,编写相应的程序来控制发光二极管。根据人眼的视觉暂留效果,设置每幅画面呈现动态,最终达到所要显示的内容。每一个发光二级管的点亮或者熄灭,都是由层控制端所决定的。2.2 系统的总体设计方案此次的光立方设计用的是层整体控制的方法,每一层都要引出两个正极引脚,然后将16个灯的阴极分为2路焊接起来,最后焊接到PCB板相对应引脚上就可以了。用64个双色发光二级管灯作为显示模块来构成光立方,再加上查询芯片的功能和作用,就可以确定基本思路。系统模块框图如图2.1所示。单片机驱动模 块光立方显示模块运放模 块图2.1 系统模块框如上图2.1所示,此次设计的系统整体模块包括了以单片机为核心的控制模块,驱动模块、运放模块和显示模块。2.3 各个模块的方案比较2.3.1 单片机模块方案一:采用常规的51单片机的作为光立方的主要控制芯片,存在两个明显的不足之处。第一,51单片机的内存比较小,而相对的制作3D光立方的动画所要的程序量比较大,会出现内存不足的情况。第二,如果采用89c51单片机作为主要控制芯片,还需要添加另外的芯片,这样的话不仅制作的成本上来了,在这同时也增加了工作量。所以不采用此方案。方案二:采用MCS-51系列的STC12C5A60S2芯片作为控制芯片,这个芯片具有60K的超大内存,非常适合用来存储光立方形成的多种动画的程序量,并且此芯片完全兼容普通8051单片机,而且内部集成度又非常高,具有超强的抗干扰能力,外部的复位可用可不用,运行的速度也比普通8051单片机快10倍左右。正是因为内部的高度集成,不需再添加其它的芯片,降低了成本,节约了时间,还在一定程度上减小了PCB板的面积,更加小巧。2.3.2 驱动模块方案一:采用8个8050NPN三极管驱动。如果使用这一类驱动,就需要8个三极管对双色LED进行控制,数量太多,影响整理的布局和美观,最重要的是性价比不高,所以不建议使用此方案。方案二:采用达林顿ULN2803来驱动,如果使用这一类驱动,第1个引脚到第8个引脚作为输入端,第11引脚到18作为输出端,工作能力是500mA50V。虽然在很大程度上缩小了元件占用的空间,但是64个LED灯所需的电流没有那么大,因此性价比也不是很高,所以也不考虑此方案。方案三:采用MCS-51系列的STC12C5A60S2芯片。由于此芯片的高度集成化,可以用IO口直接驱动LED二极管,功率消耗也不大,而且可以只用一个芯片就能驱动LED,所以直接采用此芯片直接驱动。2.3.3 运放模块方案一:选用LM4562,这个芯片是高性能音频专用双运算放大器,这款芯片常用于制作专业级或者高端的音频系统,在本次的设计中,由于性价比不高,所以不推荐使用。方案二:选用LM358p,这个芯片内部具备两个独立的、高增益、频率补偿的双运算放大器,功耗低,价格低廉,非常适合本次的设计。2.3.4 显示模块方案一:我们在生活中常用的LED不容易聚光,当LED被点亮的时候光发散比较厉害,灯与灯之间会相互影响,效果比较混乱,直接导致视觉效果达不到要求,而且在质量方面也不过关。方案二:我们选用方形或者草帽型双色雾状LED发光二极管,此类二极管的工作电压是3.5V左右,工作电流在6mA左右。这种二极管的特点是同时可以显示两种颜色,分别是红色和蓝色,在适当的控制下,可以变换更多的颜色,当64 个灯同时被点亮的时候效果更佳。效果如图2.2所示: 图2.2 方形双色雾状发光二极管3 系统硬件设计系统的硬件设计采用的方法很多,此次的设计在要求精简的前提下,又保证了功能的正常运行。3.1 单片机选型 MCS-51系列的STC12C5A60S2单片机是宏晶科技生产的一款功能较为强大的单时钟/机器周的单片机,它是MCS-51系列单片机衍生产品中代表。这个系列的单片机在指令代码上可以完全兼容普通的8051单片机,而且这个单片机的与传统的单片机所不同的是它具有1T的内核,所以在速度上比普通8051单片机快10倍左右。但是在碰到对延迟有特殊要求的时候,便会对应转换成单片机的1/12。总的来说这款单片机是具有速度快,功率消耗低,抗干扰能力强等特点的新一代8051单片机。特别是在电机控制的方面,干扰信号比较强的情况下比传统8051单片机优势明显。单片机特点1) 属于功能增强型51单片机,具有1T的内核,内部单时钟/机器周期,传统8051单片机的指令和代码在这款单片机中都可以运行 2) 工作电压:STC12C5A60S2系列单片机工作的电压为3.5V -5.5V STC12LE5A60S2 系列单片机工作的电压为2.2V -3.6V 3) 工作频率范围:035MHZ,近似于普通8051单片机的0420MHZ 4) 用户可用的应用程序的空间大有8K / 16K / 20K / 32K / 40K / 48K / 52K / 60最大64k字节 5) 片上集成1280字节RAM 6) 通用I/O口(36/40/44个),复位后为准双向口/弱上拉(一般8051单片机I/O)可以设置成四种模式:准双向口/弱上拉,强推挽/强上拉,仅为输入/高阻,开漏每个I/O口驱动能力均可到达20mA,但是整个芯片最大不要超过120mA 7) ISP/IAP,ISP指的是直接将写好的程序下载到芯片里面,而芯片不需要从PCB板上取出来,IAP指的是通过操作之后将程序下载到芯片,也不需要特定的仿真器,只要通过串口(P3.0/P3.1)就可以下载已经编写好的程序代码,几秒内就可以完成 8) 具备EEPROM功能 ,但是要注意的是此款单片机内部没有这个功能 9) 看门狗功能 10)内部集成MAX810复位电路,不用再设计外部的复位电路,而且这个复位是非常可靠的,如果需要的话只要在外部接一个复位按键11)外部掉电检测电路:这个电路主要是在遇到突发情况的时候可以把数据保存在EEPROM当中 12)时钟源:在外面接一个高精度的晶振,设计者在下载已经编写完成的程序时,能选择用外部高精度晶振/时钟,3.3V单片机为10MHZ左右。在设计的精确度不需要非常高的情况下,也可以用单片机的内部时钟,只是每一个单片机都存在制造误差,所以还是要根据实际测量的值作为标准13)共有4个16位定时器,两个与传统的8051单片机兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但是有独立波特率发生器做串行通讯的波特率发生器,再加上2路PCA模块可以实现2个16位定时器 14)3个时钟输出口,独立波特率发生器可以在P1.0口输出时钟,其中选用这款单片机最主要的原因还是因为它本身具有A/D转换功能,而不需要外接其它A/D转换模块,这样不但使电路看起来更加精致和简单,与此同时也降低了制作成本,节约了时间,并且能够存储足够多的动画,达到非常好的效果 15) 2路PWM/PCA -可以用来当做2路D/A使用 -可以用来当做另外的两个定时器 -可以用来再实现2个外部中断 16) 通用全双工异步串行口,由于此单片机是增强型MCS-51,可以再使用别的一些软件来达成多串口的目的17) 封装:当I/O接口不够用的时候,可以用2到3根普通I/O口外接来扩展I/O端口,还可以用A/D作为按键扫描来节省I/O/,或者用双CPU,这样做的话就可以实现多线通信,STC12C5A60S2单片机各个引脚功能不同,P0、P1、P2和P3口在常规状态下是双向I/O口,其余的有的引脚有双功能。这里只对第二功能说明。P3口的第二功能如表3.1所示。表3.1 P3口的第二功能引脚号第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INTO外中断0P3.3INTO外中断1P3.4T0(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通输出端)P3.7RD(外部数据存储器读选通输出端)3.2 单片机总控制电路由于省略了其他的芯片,使得电路变得也更加简洁,控制电路也都集中在主控制芯片上了。如图3.1所示。图3.1 总控制电路原理图控制电路点亮二极管主要分为两中情况,如下图3.2所示,在这种情况下,被称为弱上拉/准双向口,它通过电压直接给I/O端口供电,是用灌电流的方式控制的。图3.2 灌电流示意图另外一种情况是如图3.3所示,叫做推挽/强上拉口,由图可以看见I/O端口的另一端连接的是地,是用拉电流控制发光二极管的。图3.3 拉电流示意图此次设计我们用的是第一种灌电流的方式,在发光二极管处于正向连接的时,在此状态下,反相器大概可以输出7 mA左右的电流,点亮二极管是绰绰有余的,所以采用灌电流这种方式来点亮发光二级光是非常适合的。3.2.1 驱动电路为了节约成本,并且使得体积可以尽可能的小一些,此次的设计没有选择硬件电路的集成设计,而是直接把驱动电路连同控制电路设计在了一起,并且选用主控制芯片作为光立方的驱动,如图3.4。图3.4 共阴极驱动电路图图中左侧上端的四个I/O端口连接的是共阴极发光二极管,下端的I/O端口连接的是主控制芯片的8个端口,在接收到程序后,直接在I/O端口的驱动下,实现各式各样的动画。3.2.2 时钟电路在设计中,我们设计时钟电路的时候,我们要清楚的知道时钟端口是怎么样使用的,并且还要知道这个端口的特点:XTAL1端口:内部振荡电路的输入端口。XTAL2端口:内部振荡电路的输出端口。其实这两个端口就是一个反向的放大器,它可以作为一个时钟振荡电路,但是必须要用石英晶振连接之后才可以实现。 内部方式的的时钟电路就是如图3.5所示,只要在XTAL1端口处、XTAL2端口处接一个石英晶体并在两端接两个电容,这样就可以产生一个内部激荡电路,本次设计时钟电路部分主要元器件包括2个30pF电容和1个11.0592MHz晶振组成。如果采用外部方式的时钟电路信号,把RXD端接地,然后在TXD端接一个振荡器。外部振荡信号要求选取频率低于11.0592 MHZ的方波。时钟电路用的是并联谐振回路,这个回路是使用晶体与两个电容构建而成的。频率微测则是根据电容的大小来实现的。图3.5 内部方式时钟电路图 3.2.3 运放电路此次光立方的设计最大的变化就是多了一个双运算放大电路,这是为了能够在接入音频的时候来调节和放大模拟信号。LM358P就是本次设计所用的一块双运算放大电路芯片,这个电路是由两个独立的高增益运算放大器所组成的,具有内部频率补偿。该电路可以在较宽的电源电压范围内单电源工作,也可以在双电源条件下工作,在各个领域中有广泛的应用。芯片的内部电路图如图3.6所示。图3.6 LM358P内部电路图由于负输入端与输出端直接相连,所以反馈信号直接取自输出端的信号,实现电压并联负反馈。NC器件选用的是0805规格贴片,这个贴片主要是保护电路的安全可以在上面连接,也可以不用连接。如图3.7就是双运算放大电路原理图。图3.7 双运算放大电路原理图此运算放大器主要对输入进来的弱信号进行放大,然后再把放大后的信号进行输出。图中5100欧姆的电阻为平衡电阻,这个电阻的阻值等于输入信号为零时,各个反向输入端总等效电阻。它是为了保证运放输入级差分放大电路的对称性。3.2.4 显示转换电路本次的设计没有采用复位电路,而是将这一部分改为功能转换,如图3.8所示。图3.8 转换电路一般作为复位电路都会连接在RST引脚,但是现在将电路接在P1.2引脚,由于整个P1引脚都可以当做A/D使用,在检测到有模拟信号输入时,按下按钮就可以通过单片机就模拟信号转换为数字信号,显示在光立方中。3. 3 光立方显示电路光立方显示电路是由4层4*4的双色发光二极管组成的,将它们焊接在一起之后,再连接到PCB板上,如图3.9所示。图3.9 PCB板对应引脚图图中J1、J3、J4、J5有三个引脚,J8J19只有两个引脚,是由于已经把每一竖列上二极管的阴极连接在一起,只剩下两个阳极引脚。J6和J7的三个引脚连接的是第二、第三和第四层的LED负极。各层的连接方式都和上图一致,上面三层的阴极管脚可以通过导线连接到J6与J7的各引脚。4 系统软件设计4.1 软件编译此次设计在编译方面用的是Keil uVision4,使用Keil uVision4这个软件能够进行C语言编程,当然如果使用的是其他Keil uVision系列的软件,也是可是进行编译的。一开始先在Keil uVision4的工程菜单中新建一个工程,要注意的是keil里面没有本次所用单片机的头文件,所以头文件需要设计者自行补充并插入到程序里面。示例如下:新建了一个工程之后,先把它另存为文件夹中,文件夹的名字可以自己命名,保存的类型为.c格式,并添加到组中。保存文件如图4.1所示。图4.1保存文件在保持完成之后,我们就可以开始编写程序了,编译完之后,我们可以运行一下,看编译有没有错误如图4.2所示。 图4.2 编译没有错误紧接着下一步要生成Hex文件,这一步步骤很重要,在菜单工程中选择“为目标Target1 设置选项”这一个选项,然后选择输出菜单,在产生HEX文件前面的方框中打上勾,点击确定,随后只有将写好的程序编译,就会生成HEX文件。生成HEX文件如图4.3所示。图4.3生成hex文件在所有的的程序都编译结束之后,就要把HEX文件下载到芯片里面。运行STC-ISP这一个软件,选择对应的单片机型号,接着打开HEX文件,选择正确的COMS通道,就能下载了。烧录程序对话框如图4.4所示。图4.4烧录程序对话框步骤1:选择你所使用的单片机型号,如STC12C5A60S2步骤2:打开程序文件,选择需要烧录的程序步骤3:串口号的选择,根据设计者自己所用的电脑的串口来选择,有的最新生产的电脑可能没有RS-232这个串口号,可以去网上或者店面买一条转接器步骤4:选择“下载/编程”按钮,这样就开始把之前编译好的程序下载到芯片中去,这一步步骤可以反复进行步骤5:如果根据设计者自己的要求,要进行重复的下载,也可以选择“重复编程按钮”,进行程序的下载在下载的同时还需要留心一下提示,主要是看单片机需不需要上机或者是复位,程序在下载时的速度都要比普通的编译器快。在下载程序之前,先要使单片机完全断开与电源之间的连接,接着用鼠标点击“下载/编程”这一个按钮,这步完成之后,才能给单片机上单。如果是先上电的话,就会遇到查找不到正确的下载命令的情况,单片机就会连接到用户程序那边去了。4.2 流程设计在程序运行之前,首先要对单片机的的各种设置进行初始化,这个过程包括了对定时器功能设置的初始化,对I/O端口各个功能设定的初始化等等。接着把每一个动画的程序都编译成一个可以独自运行的程序段,下载到单片机里面进行验证。如果动画的效果都没有错误,酒吧每一个动画所编译的程序都整合在一起,变成一个完整的程序,再对这整个程序进行编译,看是不是有错误,没有的话把程序再一次下载到单片机里面,这样就会得到一个完成的程序。本次的设计在语言的编写这一块用的是Keil软件,并且是采用模块化设计程序的。初期要知道所编写的程序具体实现的功能是什么,比如要实现动态效果,3D效果等等。然后才能利用软件把所要实现的效果进行编译。如图4.5所示为主程序的流程图。开始系统初始化光立方动画播放根据设定循环播放动画整体扫描与控制判断是否显示 否 是图4.5 主程序的流程图4.3 显示设计4.3.1LED显示的数据传送在LED显示这个地方用的动态扫描显示,顾名思义,就是把一整个3D光立方分成几个部分,这样在第一个动画显示结束后,接下去显示第二个动画,直至最后一个动画显示完毕,然后又再次显示第一个动画,就这样循环显示。总而言之这一种扫描方式要连续对LED进行刷新。4.3.2显示程序设计动态显示程序流程图如4.6:否开始程序初始化选通行,送锁存输出送下一行数据,选通信号右移右移次数4显示完成后返回LED显示一列图4.6LED显示子程序流程图这种动态扫描显示的方式主要分为两种,一种是行扫描显示,另一种是列扫描显示,这两种显示的方式的区别是数据输入端连接的是行或者列,如果先选的是列的话,就会从行输入数据,显示的效果就是从第一列显示到第四列,然后重复循环。只要扫描的速度达到一定的程度,就可以在眼前呈现出一幅绚丽的动画。本次设计使用的动态扫描显示采用的是列扫描,通过先选通了一列然后再依次选通第二行,第三、第四行。利用右移的逻辑将数据输出到锁存器当中,然后再根据程序选择相对应的锁存器输出动画。4.3.3A/D转换本次单片机自带A/D转换功能,P1的各个引脚都是A/D转换口,可以将模拟量送入比较器,用模数转换器(DAC)的模拟量与本次输入的模拟量通过比较器进行比较,并且将比较的结果保存到逐次比较器,再通过逐次比较寄存器输出转换结果,转换结束后,最终的结果保存到ADC转换结果寄存器ADC_RES和ADC_RESL,同时置位ADC控制寄存器ADC_CONTR中的A/D转换结束标志位ADC_FLAG。先要设定一个输入口,函数程序如下:void Init() P1ASF = 0x02; / 将 P1.1 置成模拟口 AUXR1 &=0xFB; / 令 ADRJ=0 EADC=1;/AD中断打开 ADC_CONTR = ADC_POWER | ADC_SPEEDHH | ADC_START | channel; / 1打开 A/D (ADC_POWER)转换电源;11速度为70周期一次; /0中断标志清零;1启动adc(ADC_START);001AD通道打开(这里为P1.1);在设定完了输入口之后,就要开始进行AD采集,具体程序如下:void Ad_Control() interrupt 1/控制采样率 ADC_CONTR = ADC_POWER | ADC_SPEEDHH| ADC_START | channel; /开始AD采集 if(adwu10) /任意采集点的值大于5就不计时 time_ms=0; AD采集需要进行多次的比较,才可以是得到的数字量逐次逼近输入模拟量的对应值。最后用完整的程序进行编译。4.3.4点亮方法要实现发光二极管的亮与灭,此次的设计用的是一款3D光立方取模软件,在这块软件的帮助下,可以更快的组织动画,如图4.7。图4.73D光立方取模软件然后将3D光立方的取模软件的试图分为正视图,侧视图和俯视图,取模是只需要在你想要的使徒上操作就可以了,不用管其他视图的变化。(1)制作一个动画,从侧视图看右边第一列全亮,然后第二列亮,第一列熄灭到最后第四列列亮,第三列熄灭,只需要用鼠标点击8*8的小方格,白色代表点亮,灰色代表熄灭,如图4.8所示。相对应的数据就会出现hex的区域内。之后找到hex文本框里第一行的后面四个数据,这四个数据即为有效数据,根据图形的的不同,获得的数据大小也不同,总之除零以外的数据都是有效的。 图4.8 取模过程然后用keil打开软件,将有效数据那一行复制到模板中。所示其他的三列也是按照这个方法取模,然后将这些数据复制到keil软件中去,再加上时钟电路的控制,如图4.9所示。 图4.9 程序编写就可以把制作的动画进行保存,并进行编译,确定没有编译错误后,用stc下载软件进行程序的下载,这样一个从右面平移到左面的动画就完成了。(2)制作一个动画从右边开始,第一列亮,然后第二列亮,直到最后整个光立方全亮,同样要用到取模软件,如图4.10所示。 图4.10 动画取模取模过程是一样的,完成取模后要将对应的代码复制到keil软件中,加上时钟电路进行编译,如图4.11所示。图4.11 程序编写如果编译没有错误,就可以将程序下载到单片机,一个从右亮到左的动画就完成了,以上是基本的动画设计,同样可以用这款软件设计更华丽的动画效果。4.4 小结通过以上的步骤操作之后,得到的动画显示效果如图4.12所示。图4.12 效果展示还可以根据设计者的喜爱,按照以上的做法设计出更加多的动画,总的来说整个过程比较简单,只要注意在取模时要有顺序的进行,否则最后显示的动画将没有美感。 结论与展望 这一次的设计用的MCS-51的的增强型STC12C5A60S2单片机对整个系统进行控制的,另外再添加64个发光二极管所组成显示模块,为了效果能够更加的绚丽,选用了红蓝双色的LED。此次光立方采用的是共阴层的接法。P2.0-P2.7端口是层制端口,先把整个3D光立方从中间分开,分为左右两侧,把左侧的阴极都焊接在一起,这样就有四层,再把右侧的阴极也焊接在一起。然后将左侧第四层的阴极接入P2.0这个端口,将左侧第三层的阴极接入P2.1端口,再把左侧第二层的阴极接入P2.2端口,最后把最底层的阴极接入P2.3端口。右侧也是按照这个方法,第四层的阴极接入P2.4端口,第三层的阴极接入P2.5端口,第二层的阴极接入P2.6端口,最低层的阴极接入P2.7端口。图5.1所示:图5.1 光立方结构图接下来是束的焊接,如图5.2所示,这种接法就比较简单了,根据PCB板上面标的B+蓝色正极焊接的蓝色的发光二极管的管脚,R+红色正极焊接的是红色的发光二极管的管脚,黑颜色的线指的是层控制线。图5.2 引脚连接图紧接着是有关于接线下灯座的加工方法,需要把40P圆排母用相应的工具制作成单针,这里可以用到水口钳或斜口钳,在这两种工具都找不到的话,可以用老虎钳代替一下,注意在剪的过程当中不要弄伤了手,剪完之后放在容器里面,以免会有掉落和遗失。结束了上一步之后还要再用水口钳把针座周围的塑料去掉,同样的要注意安全。当然不见也是可以的,剪了之后在焊接的时候悔比较美观一点。然后我们要开始焊接LED了,在焊接之前,先要整形LED,每个LED都整形成如图5.3的样子,这样就可以更好地区分中间的是负极,次长的一段为红色正极,最短的那一根为蓝色正极。同样要整理好这些LED,不可随意乱放。图5.3 二极管整形图整形完成之后,我们要先搭建一个固定发光二极管的万用板,这样的话可以更加方便的焊接发光二极管支架,用这样的方法焊接出来的LED陈列就比较整齐美观。在搭建的过程中可以先用LED测量一下上下两个LED之间的间距,还有PCB板上相邻的两个LED之间的距离。搭建完成之后,我们而已先把这些排针焊接在万用板上,再把之前整形好的LED夹在排针的中间,保持一定的距离,纵向焊接正极,横向焊接负极,如图5.4这样焊接。图5.4 二极管焊接图下来正好是16个LED,也就是1面,就用这样的方法,把接下来的3面LED都焊接完成,然后吧单针套在最底层的引脚上面,再把单针焊接在对应的PCB板的对应端口处。最后第二层,第三层,第四层的负极管脚可以相接,再通过导线接到PCB板的对应端口处,最终我们得到了如图5.5所示的成果。图5.5 完整光立方图在制作完了之后,我们还可以再整理一下,这样一个完整的光立方就制作完成。 硬件测试问题:问题一:最初测试不成功,有几颗LED不亮,还有一排没有亮的。解决方法:换掉了那几颗不亮的LED,估计是在我焊接的时候弄坏了,那一排没有亮的是没有焊接好,引脚处没有搭上。软件测试问题:问题一:刚开始我写了一个程序是一排一排亮的,然后发现有LED串亮的现象发生。解决方法:我以为是我的程序有错误,又看了一遍,结果没有错。然后我对串亮的发光二极管进行了检测,在万用表的帮助下,发现原来是二极管烧坏了,直接使部分电路发生了短路的现象。最后在更换了新的二极管之后,问题得到了解决。问题二:我写了一个全亮的程序,然后有一排的LED都没有亮。解决方法:一开始,我以为是我程序的问题,然后又重新写了一遍,再进行试验,结果还是没有点亮,后来我直接换了一个主控制芯片,发现可以正常工作了,可能是一个端口有问题,问题解决。问题三:在所有的代码都编译完之后,把程序下载到芯片里面,运行后发现其中的一层发光二极管会闪烁。解决方法:经过检查,程序没有问题,然后有汇过去检查LED,是有一个点没有连接好,然后我把虚焊的点衔接好了。最终成果展示,如图5.6:图5.6 展示图回顾本次的毕业设计,发现光立方在目前的市场上具有良好的发展前景,虽然现在大多用于舞台等大型场所,只是为了增加舞台效果,但是经过设计,小型的光立方同样可以走进日常生活中,对缓解压力有一定的帮助。所以如果对光立方加以推广的话,此次的设计将会变得更有意义。 致 谢 本论文是在指导老师武晓光教授悉心指导下完成的。武老师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。不仅使我树立了远大的学术目标、掌握了基本的研究方法。本论文从选题到完成,每一步都是在武老师的指导下完成的,倾注了武老师大量的心血。在此,谨向武老师表示崇高的敬意和衷心的感谢!此外,本文最终得以顺利完成,也离不开各位老师、同学和朋友的关心和帮助。在此感谢钱东宁老师和刘曦老师,虽然他们没有直接参与我的论文指导,但在专业方面的指导和帮助,提出了一系列可行性的建议,在此向他们表示深深的感谢! 参 考 文 献 1 国庆亮点光立方J. 老年教育(长者家园),2009,11:48. 2 杨永刚. 3D光立方的设计与制作J. 电子世界,2014,06:129.3 韩鹏程,娄颖,池承选. 基于单片机的光立方系统设计J. 电子世界,2014,12:528.4 刘建闯. 基于STC12C5616AD单片机的操作指示器设计J. 世界电子元器件,2012,10:50-53.5 刘文英油井产液量自动计量装置研究开发D中国石油大学,20126 艾学忠. 单片机原理及接口技术理及应用M. 北京:机械工业出版社,2012.7 黄正瑾电子设计竞赛赛题解析M南京:东南大学出版社,20038 王毓银数字电路逻辑设计M北京:高等教育出版社,20079 何立民单片机应用程序设计M北京:北京航空航天大学出版社,200310 李朝青单片机原理及接13技术M3版北京:北京航空航天大学出版社,200511 刘维恒实用电子电路基础M北京电子工业出版社,200412 何光明,杨静宇c语言程序设计与应用开发M北京:清华大学出版社,200613 李广第单片机基础M北京:北京航空航天大学出版社,1999.14 付晓光.单片机原理与使用技术M.清华大学出版社,ISBN7-81082-169-5TP.15 胡汉才.单片机原理及其接口技术.(第2版).北京:清华大学出版社,2013.附录:void DisplayMode2()PwmAllon(1);PwmOff(1);P2 = 0XFF;DELAY_MS(1000);Any10(1,TimeDelay);Any10(1,TimeDelay);Allfalloff(2,TimeDelay);Allfalloff(3,TimeDelay);Randomlight(1,TimeDelay);Randomlight(3,TimeDelay);Any10(2,TimeDelay);Rain(1,TimeDelay);Righttoleft(1,TimeDelay);Righttoleft(2,TimeDelay);Righttoleft(3,TimeDelay);Lefttoright(2,TimeDelay);Lefttoright(1,TimeDelay);Any10(3,TimeDelay);Lefttoright(3,TimeDelay); turnD(1,TimeDelay);Randomoff(2,TimeDelay);turnD(3,TimeDelay);turnD(2,TimeDelay);Randomoff(1,TimeDelay); Spin(1,TimeDelay);Spin(1,TimeDelay);Spin(1,TimeDelay);Spin(1,TimeDelay);Spin(1,TimeDelay);Randomoff(3,TimeDelay);Toptofollowing(1,TimeDelay);Toptofollowing(2,TimeDelay);Toptofollowing(3,TimeDelay);Followingtotop(1,TimeDelay);Followingtotop(2,TimeDelay);Followingtotop(3,TimeDelay);Alllight(1,TimeDelay);Alllight(2,TimeDelay);Alllight(3,TimeDelay);Evel(1,TimeDelay);Evel(2,TimeDelay);Evel(3,TimeDelay);Followtotop(1,TimeDelay);Followtotop(2,TimeDelay);Followtotop(3,TimeDelay);Allfalloff(1,TimeDelay);Spin(2,TimeDelay);Spin(2,TimeDelay);Spin(2,TimeDelay);Spin(2,TimeDelay);Spin(2,TimeDelay); Randomlight(2,TimeDelay);Thenthelast(1,TimeDelay);Thenthelast(2,TimeDelay);Thenthelast(3,TimeDelay);Thelast(1,TimeDelay);Thelast(2,TimeDelay);The

温馨提示

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

最新文档

评论

0/150

提交评论