《电子信息专业毕业设计(3D光立方).doc》由会员分享,可在线阅读,更多相关《电子信息专业毕业设计(3D光立方).doc(64页珍藏版)》请在三一办公上搜索。
1、摘要光立方是一个长、宽、高由888 个LED 灯组成的真实3D 立方体显示器。其最大的特点,就是带给观赏者立体的超酷的3D视觉体验。因此各大网站也充斥着各种各样的光立方版本。但是这各种版本的光立方的制作方法都很复杂,而且成本也很高,而本设计与之相比则制作简单精美,成本低廉。为保证光立方精美的外形,本设计还提供了一种光立方的制作模板,以确保将动手能力导致的美观差异降到最低。为降低其成本,本设计采用了STC12C5A60S2单片机,这种单片机自带有A/D转换模块;使用的锁存器是常用的SN74HC573。这样可以保证在降低制作成本的情况下,毫不影响作品的美观;再加上显示效果极佳的高亮雾面的蓝色方形L
2、ED,硬件电路无需添加额外的驱动和上拉电阻,即可实现其强大的功能:除了能显示3D 图形,还可以支持多级亮度和速度调整,允许用户自拓展音频显示功能,就像音乐显示器一样。用户还可以在不改动硬件电路的情况下设计出自己喜欢的的自定义图形。这些充分体现了制作成本低、显示效果好、功能完善的特点。最后,经过软硬件调试,解决了一些硬件电路短路,程序报错的问题,完美地实现了多种图形动态显示,流畅的图形变换和音频显示的多种功能。关键词: 光立方 制作模板 音频显示 A/D转换ABSTRACTLight-cube is a long, wide, high is composed of 8 x 8 x 8 leds
3、 true 3 d volumetric display. Its biggest characteristic, is to bring the viewer stereo cool 3 d visual experience. So each big web site is filled with all kinds of cubic light version.But all versions of this light cubic method is very complex, and the cost is also high, and compared with this desi
4、gn is beautifully simple and low cost.In order to ensure the exquisite cubic shape, this design also provides a light cube production template, to ensure that the ability to appearance difference to a minimum.To reduce its cost, this design USES STC12C5A60S2 MCU, the MCU built-in A/D conversion modu
5、le; Use the latch is SN74HC573 in common use. So that in the case of lower production costs, not effect the beauty of the works; Plus showed excellent results highlighted square LED fog below in blue, dont need to add additional hardware circuit drive pull up resistance, and its powerful functions c
6、an be realized: in addition to display 3 d graphics, can support multiple levels of brightness and speed adjustment, allows the user to expand the audio display function, like music display. Users can also in the case of do not change the hardware circuit design their own custom graphics. These full
7、y reflect the production of low cost, good effect of display, the characteristics of the function is perfect.Finally, after the hardware and software debugging, solve some of the short circuit hardware circuit, program error, perfect the dynamic variety of graphic display, smooth graphics transform
8、and audio display a variety of functions.Key words: light-cube making stencil audio-display A/D conversion目录1、引言11.1研究意义11.2研究现状21.3该论文的内容安排22、光立方的设计方案32.1本设计基本功能和特点32.2拓展功能32.3总体设计方案33、硬件设计43.1 单片机控制电路设计43.1.1单片机选型43.1.2单片机控制电路73.2 驱动电路设计73.2.1 负极驱动芯片83.2.2 正极驱动芯片103.3显示电路设计113.3.1各层电路设计113.3.2 LED
9、地址对照表113.4实物效果图124、软件设计144.1 自定义头文件144.2电脑端的ISP控制软件174.3程序流程图184.4 LED显示核心思想194.5显示部分测试结果215、硬件焊接与调试215.1 本设计所需材料215.1.1LED灯215.1.2 74HC573芯片225.1.3自制双声道音频插头225.1.4 其他材料235.2光立方LED灯焊接方法及步骤245.3调试中的问题和解决方法275.4调试结果276、 总结29致谢30参考文献31附录321、引言1.1研究意义LED射灯是指发出的光线是方向性的(directional)的LED灯泡,主要类型有MR16,GU10,P
10、ARseries.LED球泡灯是指发出的光线为发散性的LED灯泡,主要类型为:E27base.按照功率来分,LED灯泡可分为:小功率(主要为5mmLED生产的)和大功率(主要1 W,3 W ,甚至5 W LED生产的)。同时,市场上也存在超大功率(比如,50W的LED射),但是这种未经过市场检验,也未见得有很大市场。其中,小功率的LED射灯,球灯为最早设计和生产的LED灯泡,已经大规模采用,但是质量良莠不齐。这灯泡主要是在国外的零售网站上进行销售,比如,。而大功率的LED射灯,球泡灯为最近2-3年才大规模使用和推广的,总体来说要比小功率的LED灯泡稳定许多;随着大功率LED的价格下降,大功率L
11、ED灯泡将会为市场主流。总体来说,目前LED灯的市场上,不论是生产商,采购商还是终端客户,都不专业,大多数还只是凭经验或者外观等主观臆断来判断产品质量的好坏。在产品外观雷同的情况下,让人可以接受的价格和良好的销售策略起主导作用。另一方面,从电子爱好者网站,无线电杂志等一些媒体可以看出,国内越来越的的人正在加入电子爱好者的行列。伴随着这样的趋势,作为常用的电子器件之一的LED,其使用量将会越来越大,普及速度也会越来越快。而作为一个忠实的电子爱好者,美观时尚应当是我们的不懈追求,引领更多的初学者走上电子爱好者之路更是值得我们努力的。而3D光立方所能带来的震撼力和吸引力是其他电子设计所不能动摇的。其
12、实光立方这个名字早已出现过,也有人尝试制作过,每个制作过的人都会被其超酷的3D 显示效果所震撼,我就是其中之一。然而在网上搜索了大量相关资料后,我发现,网上各种版本的光立方的制作方法都很复杂,而且成本也很高,所以我想找出一种相对成本较低,制作方法简单,便于广大电子爱好者学习制作的方法。这种方法如果实现,不仅会为LED市场带去不少的盈利,同样也能引领更多的人加入电子爱好者的队伍中,可谓一举两得。1.2研究现状其实,对于许多电子爱好者来说,光立方并不陌生。它的功能也在许多人的开发下越来越强大。每一个见过光立方效果的,都会被其超酷的3D显示效果所震撼,我就是其中之一。但是,在搜索了大量相关资料后,我
13、却发现,各种版本的光立方的制作方法都很复杂,不仅需要很强的动手能力来组装512个排列整齐的LED和金属支架,还需要有足够的耐心设计一大堆单片机和驱动芯片,最后还要为硬件成品设计显示程序,好让光立方动起来。虽然市场上流通着的光立方中,有一种整机只有一个芯片的光立方,但是价格不菲。到目前为止,尚未出现过一套既制作简单、价格低廉又功能强大的光立方完整设计方案。1.3该论文的内容安排开篇引言主要介绍研究的意义和目前光立方的研究现状。提出了光立方的基本功能和总体设计方案,使得读者对整体设计有一个总体的了解。之后第三章开始仔细介绍设计的各个部分。第三章先从硬件设计入手,可以给读者对设计有一个具体的了解。硬
14、件设计主要包括包括控制电路,驱动电路和显示部分。第四章是本设计的软件设计部分,在熟悉硬件部分之后,软件设计的具体阐述便于读者深入理解该设计的核心思想,从而开发出自己的程序。第五章主要对设计的材料选取和硬件焊接做了详细的说明,便于广大电子爱好者自己动手制作。最后,该论文对整体设计的软硬件测试过程做出详细的总结,以便读者在遇到相似的问题时,能够更快的找到合适的解决方案。2、光立方的设计方案2.1本设计基本功能和特点1、8*8*8LED阵列3D光立方体显示器,设计方案精简,电路简洁,采用的材料是高亮蓝色雾面LED灯,可以达到光立方最佳视觉效果。2、 连贯图形显示效果,浑然一体,一气呵成。能给用户带来
15、立体的可视的震撼视觉效果。3、 程序内置坏点检测部分,以及多种图形显示模块。4、创新设计的LED 阵列制作模板,让LED 阵列制作简单快速。套件制作因此变得简单。初学者也可以制作出规范、美观的成品。2.2拓展功能1、具有音频显示模式,可随音频同步显示,给用户和制作者超炫酷体验。2、全开放式用户自定义操控,用户可根据自己的喜好自行编写对应的程序。3、光立方内置三个模式:图形显示模式、音频显示模式、夜灯模式。2.3总体设计方案该光立方设计方案,其核心分为三个部分:控制系统,驱动电路和显示部分。总体设计图如下页图(图2.1):图2.1本设计是用STC125A60S2单片机做控制芯片的,由单片机上的P
16、2口来控制8个锁存器的锁存端,以此决定数据的输入和锁存。其中这8个锁存器每个锁存器都各控制一层LED面(含64个LED)。P0口8个额引脚则对应锁存器上的8路输入。这样64个阳极控制就设计完成了,P3口的8各引脚则负责8层LED的负极控制。这样512个LED每一个都有单独的位置编码,灯的亮灭可以由自由控制。P4口的4,5,6引脚则用来接三个按键,分别控制:图形显示、音频输出、夜灯模式,这三个模式的选择。P1.0和P1.1管脚分别接音频插头的左右声道,当选择音频显示模式时,因为单片机自带A/D转换所以只需要在程序里做FFT变换即可。总的来说,本设计是以单片机为核心的集3D显示,音频显示和用户自定
17、义功能为一体的强大光立方设计方案。3、硬件设计3.1 单片机控制电路设计3.1.1单片机选型制作光立方使用的单片机开发板采用了宏晶科技新推出的1T 增强型51 单片机中功能较为强大的一款STC12C5A60S2。此芯片集成了各种高性能工业标准接口,并且与传统51 在资源布局上有完全的兼容性,大部分传统51 的程序可以直接拿过来使用无需做修改。与传统51 不同的是,STC12C5A60S2 是1T 内核,速度是传统51 单片机的12 倍,遇到对延时有要求的地方,延时时间会变成传统51 的1/12。STC12C5A60S2/AD/PWM 系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,
18、是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S,即25万次/秒),针对电机控制,强干扰场合。以下是单片机管脚图及功能介绍。单片机管脚图,如下图(图3.1):其图3.1单片机简介:1. 增强型 8051 CPU,1T,单时钟/机器周期,指令代码完全兼容传统80512. 工作电压:STC12C5A60S2 系列工作电压: 5.5V - 3.5V(5V单片机)STC12LE5A60S2 系列工作电压: 3.6V - 2.2V(3V单片机)3. 工作频率范围:035
19、MHz,相当于普通8051的 0420MHz4. 用户应用程序空间 8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 64K 字节5. 片上集成1280字节 RAM6. 通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口)可设置成四种模式:准双向口/弱上拉,强推挽/强上拉,仅为输入/高阻,开漏每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过120mA7. ISP(在系统可编程)/ IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(P3.0/P3.1)直接下载用户程序,
20、数秒即可完成一片8. 有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM)9. 看门狗10.内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地)11. 外部掉电检测电路: 在P4.6口有一个低压门槛比较器5V单片机为1.33V,误差为5%,3.3V 单片机为1.31V,误差为3%12. 时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为5% 到10% 以内)用户在下载用户程序时,可选择是使用内部R/C 振荡器还是外部晶体/ 时钟常温下内部R/C振荡器频率为:5.0V 单片机为: 11MHz 17MHz3.3V 单片机为: 8MHz 1
21、2MHz精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准13. 共4个16位定时器,两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器,再加上2路PCA模块可再实现2个16位定时器14. 3个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟,独立波特率发生器可以在P1.0口输出时钟外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块,Power Down模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/
22、P3.4, T1/P3.5, RxD/P3.0,CCP0/P1.3(也可通过寄存器设置到P4.2), CCP1/P1.4(也可通过寄存器设置到P4.3)其中选用STC12C5A16S2最主要的原因是,它自带A/D转换功能,无需外设A/D转换模块,可以精简电路,降低成本。而且储存空间足够大,能够存储足够多的图形程序。3.1.2单片机控制电路图3.23.2 驱动电路设计为节约成本,该设计没有选择硬件电路集成设计,把驱动电路与控制电路合为一体。而是选择用常用的芯片做为光立方的驱动。驱动部分分为两部分,如下图:图3.3 LED正极驱动电路图 3.4 LED负极驱动电路3.2.1 负极驱动芯片ULN28
23、03 达林顿管IC,一般都是用来驱动功率稍微大一点的被动器件的,而驱动的被动器件里,有很大一部分是感性的,如继电器、马达、电磁阀等,这些感性器件在关断瞬间会产生很高的自感电动势(自感电压),低的10 多伏,高的几十伏,甚至几百伏,这么高的电压很容易把ULN2803 达林顿管打坏,甚至打坏电路中的其它元器件,所以需要在感性器件上并联一个二极管,用来续流(就是把那个自感高压放掉),保护IC 和其它器件不受破坏,此续流二极管正极接2803 输出端(即电感器件的一端),负极接驱动电源(在2803 上是10 脚,也就是电感器件的另一端)。2803 在内部设计了二极管以后,用户在使用的时候不需要外接二极管
24、,在同时驱动多路器件的时候可以节省PCB 空间,节约成本、方便走线。ULN28038 个NPN 达林顿晶体管,连接在阵列非常适合逻辑接口电平数字电路(例如TTL,CMOS 或PMOS 上/ NMOS)和较高的电流/电压,如电灯,电磁阀,继电器,打印锤或其他类似的负载。该ULN2803 是专为符合标准TTL,而制造ULN2804 适合6 至15V 的高级别CMOS 或PMOS 上。该电路为反向输出型,即输入低电平电压,输出端才能导通工作。管脚图如下页图(图3.5):图3.5 引脚图说明:1-8 引脚:输入端11-18 引脚:输出端9 引脚:地端10(COM)引脚:电源+COM 脚的作用是当你使用
25、ULN2803(2003)来驱动继电器时,可以将COM 脚接到继电器的VCC 端,利用ULN2803(2003)内部的反向二极管作保护继电器,消除继电器闭合时产生的感应电压。COM 端主要有两种用途:(可悬空)1 试验用-接地:假如它的输出端都接发光二极管,那么,只要将COM 端接地,则所有的发光二极管都将亮起,否则,可能是二极管坏或其它什么地方坏了。这对检修是很有利的。2 保护用-接电源正:假如这个器件是接继电器或针式打印头,因为电感的作用,会在开关过程中产生低于地电位和高于电源电位的反电动势,这样,很容易击穿器件。为了防止这种现象的发生,可将COM 端接到电源正,来削减冲击电压低到二极管压
26、降加电源电压的幅度-可以使得内部的三极管受到最小的正电压冲击。至于达林顿关断时产生的负电压我们不必管,因为器件内部就有二极管并接到地的.专门用来削减冲击电压至电源地减去一个二极管正向压降-可以使得内部的三极管受到最小的反偏电压冲击。UNL2803内部电路图如下图(图3.6):图3.6 3.2.2 正极驱动芯片图3.7八进制3 态非反转透明锁存器74HC573 高性能硅门COM 器件SL74HC573 跟LS/AL573的管脚一样。器件的SL74HC573 跟LS/AL573 的管脚一样。器件的输入是和标准CMOS 输出兼容的,加上拉电阻,他们能和LS/ALSTTL 输出兼容。上面的这个是74H
27、C573 的封装图,让芯片的那个半圆形缺口朝上,从左上角开始逆时针数,分别为1到20 号引脚。其中1 号和10 号引脚接5V 直流电源(以下简称DC)的负极,就是图中的GND(表示接地端,接负极就行);11 号引脚接到STC 单片机的P2 口,一共8 个573芯片,对应接到P2 的0-7 口(这个在买的单片机最小系统上有标识);20 号引脚接到5V DC 的正极;2 号引脚到9 号引脚接到单片机的P01-P07;12 号引脚到19 号引脚接到一排8个LED 的束。3.3显示电路设计3.3.1各层电路设计图3.8显示电路部分是有8层88的LED面组成的,每一层都是由一个锁存器锁存端控制,每一层的
28、其他地方连接基本相同,上图(图3.8)给出的是一层的显示电路设计图。其中LED上的标识代表的是所要连接的锁存器,和对应的引脚连接。LED负极的标识代表的是所要连接的ULN2803对应引脚。3.3.2 LED地址对照表该设计的LED地址表示方法示例:“P0.0P2.0”表示“第1列第1行”,“P0.1P2.1”表示“第2列第2行”,依此类推。具体如下页表(表3.1,表3.2):表3.1:列1面列2面列3面列4面列5面列6面列7面列8面前行1P0.0P2.0P0.1P2.0P0.2P2.0P0.3P2.0P0.4P2.0P0.5P2.0P0.6P2.0P0.7P2.0行2P0.0P2.1P0.1P
29、2.1P0.2P2.1P0.3P2.1P0.4P2.1P0.5P2.1P0.6P2.1P0.7P2.1行3P0.0P2.2P0.1P2.2P0.2P2.2P0.3P2.2P0.4P2.2P0.5P2.2P0.6P2.2P0.7P2.2行4P0.0P2.3P0.1P2.3P0.2P2.3P0.3P2.3P0.4P2.3P0.5P2.3P0.6P2.3P0.7P2.3行5P0.0P2.4P0.1P2.4P0.2P2.4P0.3P2.4P0.4P2.4P0.5P2.4P0.6P2.4P0.7P2.4行6P0.0P2.5P0.1P2.5P0.2P2.5P0.3P2.5P0.4P2.5P0.5P2.5P
30、0.6P2.5P0.7P2.5行7P0.0P2.6P0.1P2.6P0.2P2.6P0.3P2.6P0.4P2.6P0.5P2.6P0.6P2.6P0.7P2.6后行8P0.0P2.7P0.1P2.7P0.2P2.7P0.3P2.7P0.4P2.7P0.5P2.7P0.6P2.7P0.7P2.7表3.2 层地址:层纵向8层高位在下低电平有效P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7视角说明,如下图图3.9:图3.9按照上图视角,垂直纸面向里依次是行1,行2,行3,行4,行5,行6,行7,行8。3.4实物效果图硬件焊接的最终实物效果图如下,控制部分(图3.10),显示部分(
31、图3.11):图3.10图3.114、软件设计4.1 自定义头文件Keil 软件是目前最流行开发MCS-51 系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil 即可看出。Keil 提供了包括C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境( uVision)将这些部份组合在一起。运行Keil 软件需要Pentium 或以上的CPU,16MB 或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP 等操作系统。掌握这一软件的使用对于使用51 系列单片机的爱好者来说是十分必要的,如果你使用C 语言编
32、程,那么Keil 几乎就是你的不二之选。但是Keil里没有STC12C5A60S2的芯片头文件,需要在编写程序时自己添加头文件,实例如下:/头文件名字可自行命名 sfr ACC = 0xE0; /Accumulator 0000,0000sfr B = 0xF0; /B Register 0000,0000sfr PSW = 0xD0; /Program Status Word CY AC F0 RS1 RS0 OV F1 P 0000,0000/-sbit CY = PSW7;sbit AC = PSW6;sbit F0 = PSW5;sbit RS1 = PSW4;sbit RS0 = P
33、SW3;sbit OV = PSW2;sbit P = PSW0;/-sfr SP = 0x81; /Stack Pointer 0000,0111sfr DPL = 0x82; /Data Pointer Low Byte 0000,0000sfr DPH = 0x83; /Data Pointer High Byte /新一代 1T 8051系列 单片机中断特殊功能寄存器/有的中断控制、中断标志位散布在其它特殊功能寄存器中,这些位在位地址中定义/新一代 1T 8051系列 单片机I/O 口特殊功能寄存器sfr P2M0 = 0x96; sfr P2M1 = 0x95;sfr P3 = 0x
34、B0; /8 bitPort3 P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 1111,1111sfr P3M0 = 0xB2; sfr P3M1 = 0xB1;sfr P4 = 0xC0; /8 bitPort4 P4.7 P4.6 P4.5 P4.4 P4.3 P4.2 P4.1 P4.0 1111,1111sfr P4M0 = 0xB4; sfrP4M1 = 0xB3; sfr P4SW = 0xBB; /Port-4 switch/新一代 1T 8051系列 单片机定时器特殊功能寄存器sfr TCON = 0x88; /T0/T1 Control TF
35、1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 0000,0000/-sbit TF1 = TCON7;sbit TR1 = TCON6;sbit TF0 = TCON5;sbit TR0 = TCON4;sbit IE1 = TCON3;sbit IT1 = TCON2;sbit IE0 = TCON1;sbit IT0 = TCON0;/-sfr TMOD = 0x89; /T0/T1 Modes GATE1 C/T1 M1_1 M1_0 GATE0 C/T0 M0_1 M0_0 0000,0000sfr TL0 = 0x8A; /T0 Low Byte 0000,0000sf
36、r TH0 = 0x8C; sfr TL1 = 0x8B; /T1 Low Byte sfr TH1 = 0x8D; /T1 High Byte 还要注意的一点是:在程序编译的时候一定要记得输出.hex文件,因为STCISP.exe只有.hex文件才能下进单片机里去。生成.hex文件的界面说明:图4.1按照上图中所示的步骤,先在“Project”中选择“Options for Target “Target 1”,在之后出现的界面中,点击“Output”选项,就会出现上图有半部分的界面。选中“Create HEX File”选项,点击“OK”,之后再编译一下程序,在工程里就会自动生成.hex文件
37、了。4.2电脑端的ISP控制软件图4.2Step1/步骤1:选择你所使用的单片机型号,如STC12C5A60X等Step2/步骤2:打开文件,要烧录用户程序,必须调入用户的程序代码(*.bin, *.hex)Step3/步骤3:选择串行口,你所使用的电脑串口,如串行口1-COM1,串行口2-COM2,.有些新式笔记本电脑没有RS-232串行口,可买一条USB-RS232转接器,人民币50元左右。有些USB-RS232转接器,不能兼容,可让宏晶帮你购买经过测试的转换器。Step4/步骤4:选择下次冷启动后,时钟源为“内部R/C振荡器”还是“外部晶体或时钟”(STC12系列单片机只有内部R/C振荡
38、时钟)Step5/步骤5:选择“Download/下载”按钮下载用户的程序进单片机内部,可重复执行Step5/步骤5, 也可选择“Re-Download/重复下载”按钮下载时注意看提示,主要看是否要给单片机上电或复位, 下载速度比一般通用编程器快。一定要先选择“Download/下载”按钮,然后再给单片机上电复位(先彻底断电),而不要先上电,先上电,检测不到合法的下载命令流,单片机就直接跑用户程序了。4.3程序流程图我们所做的光立方,如图2.2,有三个独立按键,分别是P4.4,P4.5,P4.6,其中P4.4是控制音频显示,P4.5控制动画显示,P4.6控制夜灯模式。3个按键分别控制三种不同的
39、图像显示模式。动画显示部分支持用户自定义图形。当工作的单片机检测到P4.4按键按下时,可以同步音频显示;当检测到P4.5按键按下时,可以显示内置的动画;当检测到P4.6按键按下时,显示夜灯模式。程序流程图如下页(图4.3):图4.34.4 LED显示核心思想该设计光立方的LED显示最关键的就是定时器初值的设定。定时器一旦启动,它便会在原来的数值上加1计数,若在程序开始时,我们没有设置TH0和TL0,他们默认值都是0,假设时钟频率是12MHz,12个时钟周期为一个机器周期,那么此时机器周期就是1us,计满TH0和TL0就需要-1个数,再来一个脉冲计数器溢出,随即向CPU申请中断。因此溢出一次共需
40、65535us,约等于65.5ms如果我们要定时50ms的话,那么需要先给TH0和TL0装一个初值,在这个初值的基础上计50000个数后,定时器溢出,此时刚好就是50ms中断一次,当需定时1s时,我们写程序是当产生20次20ms的定时器中断后便认为是1s,这样便可精确控制时间了。一般延时程序分为两种写法:粗略延时和精确延时。如果想用不太严格的延时的话,程序一般可这样书写:#include#define uint unsigned intvoid delay(uint z) int a,i,j;for(a=z;a0;a-)for (i=1000;i0;i-)for(b=110;b0;b-) ;
41、其中z代表你想延长的时间,单位为秒。精确的延时程序一般需要用到中断,模块话书写如下:#includeunsigned char num;Void T0_time() interrupt 1TH0=(65535-45872)/256;/重装初值TL0=(65535-45872)%256;num+;/num每加1次判断一次是否到20次If( num = =20)/如果到了20次,说明1秒时间到num=0;/然后把num清零重新再计20次led1= led1;/让发光二极管状态取反其中,在定时器初始化时需要先选择工作方式,之后才能赋初值。针对晶振为11.0592定时50ms的初值是45872。使用哪
42、一种延时可根据需要而定,本设计中两种延时程序均有应用到。4.5显示部分测试结果由于Proteus软件里没有该设计所用的单片机,且测试程序大于51单片机的8K内存。所以本设计在测试时,是用已有的单片机上的8位数码管进行测试的。由于测试硬件的限制,只能仿真一层的部分。结果如下图(图4.5):图4.55、硬件焊接与调试5.1 本设计所需材料5.1.1LED灯LED 灯珠,最好选择长脚5mm,雾状(乳状)蓝色的灯珠(如下页图2.1),效果更好。记住,长脚的,不要短脚的3mm 的也可以,当然也能自己换喜欢的颜色,个人推荐蓝色。制作光立方至少需要512个,建议买550 个,价格在70-90 元一包(含邮费
43、),店家一般不会散卖的。这样的灯我是在淘宝网上购买的。 图5.15.1.2 74HC573芯片74HC573锁存器,至少8 个,记得要1-2 元左右的,太便宜的可能是用过返新的,IC 芯片都是一分钱一分货,便宜的全是旧的,别老想着贪便宜。(建议最好买十个,多买两个以备特殊情况。)5.1.3自制双声道音频插头一般的耳机都分左声道和右声道,从外面看来是两根接线,分别接右耳机和左耳机。可以找一个废旧的耳机,把耳机线剥开,你会看到每条黑线中都有两条线,其中有一条是地线。下面是找到地线的方法:把拨开的耳机线先用火烧掉线上面的绝缘漆,然后选任一声道,把两条线分别接一个LED的正负极,如果LED亮了,接LED的负极的那根线就是地线。最后把两个声道的负极街道一起,与三根杜邦线相连接,自制的双声道音频插头就做好了。如下页图(图5.2):图5.25.1.4 其他材料由于以上两中材料选材好坏对最终成品影响较大,所以特别提醒注意,以下是其他材料清单:材料名称数量备注ULN28032至少1个IC座(20P)12至少9个焊接线1卷推荐WIRE WRAPPING WIRE排阻(8J)1也可以不用单排针(20P)1040P的也可双排弯排针(40P)