文档介绍:Forpersonaluseonlyinstudyandresearch;mercialuse目录1课程设计要求及总体方案介绍 32硬件系统设计 73软件系统设计 124设计调试及分析 14结束语 15致谢 16参考文献 17附录 (1)合理控制512个LED灯的亮和灭。(2)编程实现不同图案的转变。(3)采用不同的延时时间使LED灯图案转变的速度不同。(1)3DLED以其功耗低,寿命长,亮度高,视角大,可视距离远等优点而具有极为广阔的发展前景。随着人们生活水平的提高,3DLED逐渐应用于各行各业。人们对其的要求也越来越高,已经不再满足于二维平面,进而转向三维平面。3DLED的出现是一个很好的契机。(2)3DLED光立体极具观赏性,人们可以根据自己的要求,设计不同的图案,展现不同的立体效果。可以说它是变幻无穷的。因其极大地观赏性,使人们在接受信息,数据的同时更加印象深刻,使信息的传输更有效率。(3)随着3D技术的逐步发展,3DLED被广泛应用于现实生活中,比如LED显示屏,LED图像,LED立体摄影。这些技术在我们的生活中随处可见,比如电影院,会议场合,舞台设计,以及各种娱乐场所。,一般的LED是平面的,比如一个字,而光立方则是在多个等间距的平面再组合成一个立体。这样就可以显示3D图形。8*8*8光立方我们把它拆成8个面,如图1所示,每个面64个灯,或说成64束。我们要控制这64个灯使其自由变换,然后控制每个层依次点亮即可。图1立体布局图学过点阵的都知道,如果要控制8*8点阵,需要16个引脚,那么8*8*8点阵我们再用8个引脚充当8*8点阵的总开关即可,如图2所示,我们只要把64个LED灯的阴极连接在一起就可以了。,结合其它外围电路包括晶振电路,电源电路以及LED灯控制模块。LED灯控制模块由74HC573和ULN2803两块芯片分别控制LED灯的阳极和阴极。以此来实现设计要求。系统整体设计框图如图3所示:图3系统整体设计框图我只要控制这64个灯使其能够自由变换,然后再通过控制每个层依次点亮即可,由于我们眼睛的视觉暂留,使我们感觉看到的东西是一起再亮的。这样我们就看到了一个完整的个体。ULN2803控制的每一个层。同时要注意每个74HC573输出的引脚对应的按顺序的x轴的8个引脚。这样做完全为了后期编写程序方便。因为我们的动画是实时运算的,而且我所采用的是STC89C516单片机。,指令代码完全兼容以往的AT89S52单片机。由于光立方的程序量比较大,而且要求相对比较高,因此经过考虑之后我们决定用51系列的增强型单片机STC89C516。STC89C516单片机内部结构与资源如图4所示:图4单片机内部结构图STC89C516在3DLED光立方设计中的作用:LED光立方主要用到了STC89C516单片机中的P0口、P1口、P2口、串行输入输出端以及外接晶体引线端XTAL1和XTAL2。P0口主要作为数据输出端,单片机通过控制74HC573的使能端来控制74HC573的输出与锁存。P1口主要作为数据的输出端,单片机的输出的控制LED阳极引脚的数据传送到74HC573的输入端。P2口主要作为数据的输出端,单片机内部输出的控制LED阴极引脚的数据传送到ULN2803的输入端。下载模块中单片机STC89C516串行口RXD、TXD作为数据的串行输入和输出端。串行口的主要功能是实现数据的串行化和反串行化,串行化是指把并行的数据转变为串行数据,而反串行化则是把串行数据转变为并行数据。串行口的数据发送是一个串行化的过程,在这个过程中,把写入发送寄存器的并行数据,按帧的格式要求插入格式信息,构成串行位串,经TXD引脚串行输出。当使用芯片内部时钟时,XTAL1和XTAL2用于外接石英晶体谐振器和微调电容;当使用外部时钟时,用于外接外部时钟信号。7