888光立方设计报告.docx
《888光立方设计报告.docx》由会员分享,可在线阅读,更多相关《888光立方设计报告.docx(17页珍藏版)》请在冰豆网上搜索。
888光立方设计报告
电子卓越班答辩报告
方
案
设
计
报
告
学院:
信息工程学院
学号:
*****1478
班级:
电子1401班
******
设计名称:
8*8*8光立方
2015年5月21日
【摘要】
本设计制作出一个三维立体显示图案的LED光立方。
不仅可以像发光二极管点阵一样显示平面的静态或动态画面,还可以显示立体的静态或动态画面,打破了传统的平面显示方案。
同时又增加了显示的花样和立体图案显示效果,可以广泛用于传媒信息显示和各种装饰显示,为将来显示技术的进步和发展指导了方向,光立方显示比发光二极管点阵更具有视觉效果,而且画面图案更加非富多彩。
本设计是采用STC5A60S2单片机为核心控制器,八D边沿触发器(三态)74LS573扩展I/O口,完成硬件电路设计。
通过软件编程控制数据下载到单片机完成设计图案的显示。
软件采用自上而下的模块化设计思想,使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。
关键词:
STC5A60S2单片机;ULN2803驱动管;74HC573锁存器;8*8*8LED显示;;
1、设计要求与方案…………………………………………………………………1
1.1设计目的……………………………………………………………………1
1.2设计思路……………………………………………………………………1
2、工作原理…………………………………………………………………………1
2.1模块的简介…………………………………………………………………1
2.23DLED光立方工作原理……………………………………………………1
3、方案选择…………………………………………………………………………3
3.1电源的选择…………………………………………………………………3
3.23D显示核心控制器…………………………………………………………3
3.3I/O口扩展芯片的选择……………………………………………………3
3.4LED发光显示二级管………………………………………………………4
4、硬件整体设计概述及功能分析…………………………………………………4
4.1系统概述…………………………………………………………………4
4.2系列单片机简介……………………………………………………………5
4.3时钟电路设计………………………………………………………………6
4.4复位电路设计……………………………………………………………7
4.574HC573芯片连接电路图与介绍…………………………………………8
5、主程序设计思路………………………………………………………………9
5.1显示程序的设计……………………………………………………………9
5.1.1LED显示屏的数据传送……………………………………………9
5.1.2显示程序的设计……………………………………………………9
6、硬件电路设计…………………………………………………………………10
6.1焊接准备………………………………………………………………10
6.2焊接过程………………………………………………………………10
附 录……………………………………………………………………………11
1、设计要求与方案
1.1设计目的
在当今的信息化社会中,为追求逼真、清晰的3D视频显示,平面的二位显示早已不在是主流,为此制作出一个三维立体显示图案的LED光立方。
该设计方案将打破了传统的平面显示视频的方法,该方案设计的LED显示屏显示画面色彩鲜艳,立体感强,静如油画,可以广泛应用于各种工场合的多种用途。
1.2设计思路
本设计根据二极管点阵的原理由单片机I/O口控制点亮不同的二极管从而组成出不同的画面,根据人眼的视觉暂留现象即当物体移去时视觉神经对物体的印象不会立即消失而是要延续短暂的时间,来设置每幅画面的延迟时间使连续的一系列画面呈现动态。
每一个层面的二极管阳极接在一起受一路I/O口控制,实际电路中该路I/O口输出的控制信号通过5V继电器的吸合和断开来控制的,再输入发光二极管的阳极使其驱动。
每一个二极管的阴极分别受单片机扩展后的I/O控制。
每个灯都是由片选端口和控制端口共同决定亮或灭。
因此,我们可以随意的来点亮立方体中任意一处的灯,来构建多种多样的图案。
2、工作原理
2.1模块的简介
有8个8*8点阵,再用8个引脚来当充当各个8*8点阵的“开关”。
只要将64个灯阳极连在一起,在连到这个引脚上。
采用了HC573暂存的方法,来分别把64个灯的亮灭信息存到这个上面,然后再一起输出到灯上,74HC573锁存器的64个输出引脚控制前面所述每一个面的64个灯;而每层灯的阴极全连接在一起接入单片机,由单片机控制的每一个层灯。
通过单片机主控芯片STC5A60S2来控制所有灯的亮灭,从而控制P0、P1、P2实现控制X、Y、Z空间立体控制来显示我们所需要显示的现象。
整个设计主要分为三个模块分别是主控模块、驱动模块、显示模块.。
2.23DLED光立方工作原理
本设计介绍一个3DLED光立方显示屏的制作,在单片机的P0口输出显示代码,然后把扫描片选择锁存器送入74HC573,通过片选哪一列对应的芯片就可以把显示的内容送到显示屏显示。
考虑到P0口必需设置上拉电阻,我们采用4.7kΩ排电阻作为上拉电阻。
设计原理:
利用单片控制LED点阵显示的原理和控制技术,来制作控制光立方显示。
通过编写程序控制不同LED的显示,显示所要显示的内容。
根据人眼的视觉暂留效应,设置每幅画面的延迟时间使连续的一系列画面呈现动态。
最终达到所要显示的内容。
每个灯都是由层控制端和列控制端共同决定亮或灭。
图一 单片机控制流程图
在三维光立方中采用动态扫描显示,这种显示方式巧妙地利用了人眼的视觉暂留特性。
将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。
最典型的例子就是电影放映机。
在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。
3、方案选择
3.1电源的选择
方案一:
采用普通干电池作为LED系统的电源,由于点阵系统耗电量较大,点阵系统一般悬挂在高处上,一直不停的工作。
使用干电池需经常换电池,不符合节约型社会的要求。
方案二:
采用一块LM7805三端集成稳压器。
把市电经变压器降压输入电路,而后整流送到LM7805三端稳压器稳压输出作为工作电压。
不仅功率上可以满足系统需要,不需要更换电源,并且比较轻便,使用更加安全可靠。
方案三:
采用5V变压器,在通过USB直接供电。
经过分析,方案一电池电压不稳定,而且不能直接供5v电压,方案二有耗费资源,决定采用5V变压器,在通过USB直接供电。
3.23D显示核心控制芯片
控制部分是整个系统的核心部分,其功能可以实现与上位机通信接收上位机发送的数据和控制指令经处理过后控制显示屏显示内容。
我们常用的电子设计方法是单片机。
考虑到经费问题,加上自己对单片机的掌握情况,以及程序对单片机的储存要求,我采用的是STC5A60S2单片机。
单片机:
单片机是集成了CPU,ROM,RAM和I/O口的微型计算机。
它有很强的接口性能,非常适合于工业控制,因此又叫微控制器(MCU)。
单片机品种齐全,型号多样CPU从8,16,32到64位,多采用RISC技术,片上I/O非常丰富,有的单片机集成有A/D,“看门狗”,PWM,显示驱动,函数发生器,键盘控制等。
它们的价格也高低不等,这样极大地满足了开发者的选择自由。
除此之外单片机还具有低电压和低功耗的特点。
随着超大规模集成电路的发展,单片机在便携式产品中大有用武之地。
3.3I/O口扩展芯片的选择
方案一:
选取串口输入并口输出芯片74LS164,虽然I/O口使用较少,由于本次设计共需要72路I/O口,列驱动电路就需要8块74LS164。
显示数据是先后顺序给送去的,显示会有延迟,而LED动态显示的刷新的时间控制大约10ms,实时性差,效果不好。
方案二:
74HC573跟74LS573的管脚一样。
器件的输入是和标准CMOS输出兼容的;加上拉电阻,他们能和HC/ALSTTL输出兼容。
当锁存使能端为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。
当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。
8块74HC573共用64个I/O口,数据可以并行写入芯片,延迟时间少,满足设计要求。
综合以上比较,决定选取74HC573作为列线驱动I\O口扩展芯片。
3.4LED发光显示二级管
经过我的经验以及收集到的资料来看,对LED发光二极管的选择我选择了3mm的蓝色方形LED。
选择蓝色是因为颜色分辨率高,选择方形的原因就是易于我焊接LED方阵的时候对齐,从而更美观。
4、硬件整体设计概述及功能分析
4.1系统概述
3DLED光立方总体框图如图2-1所示。
电路大体上可以分成核心控制电路、显示驱动电路、串信通信电路三部分。
核心控制电路部分包括一个STC5A60S2系统CUP和一些外围电路。
在整个电路当中此电路部分可以相当于一个上位机,它负责控制整个电路以及相应的程序的运行、与PC机的串行通讯、以及给显示屏部分发送命令。
单片机根据编写好的内容和指令通过I/O口扩展后驱动8*8*8LED光立方显示屏。
本次设计将以此方案为指导思想展开具体的硬件电路设计。
显示电路采用动态扫描方式进行显示时,每列有一个列驱动器,各列的同名行共用一个行驱动器。
由单片机给出的行选通信号,从第一列开始,按顺序依次对各列进行扫描选通,根据锁存器的特性可以把数据锁存输出。
这样就可以把八列的数据输出显示,完成列线数据的传送。
另一方而,根据各列层面要显示的数据,通过三极管驱动继电器来控制相应层面的电平,列与层面的数据结合共同来显示图案。
图二 3DLED光立方总体框图
4.2系列单片机简介
单片机是在一块硅片上集成了各种部件的微型机,这些部件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器和多种I/O接口电路。
单片机最小系统包括时钟电路和复位电路。
时钟电路用于产生STC5A60S2单片机工作时必需的控制信号。
单片机的内部电路正是在时钟信号的控制下,严格地按照时序执行指令进行工作。
复位电路是为单片机初始化操作准备的。
只要单片机的复位引脚RST上的复位信号要持续两个机器周期(24个时钟周期)以上,就可以使STC5A60S2单片机复位。
图三 STC5A60S2单片机引脚图
4.3时钟电路设计
STC5A60S2单片机各功能部件的运行都以时钟信号为基准,有条不紊、一拍一拍地工作。
因此时钟频率直接影响单片机的处理速度,时钟电路的质量也是直接影响单片机系统的稳定性。
常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。
本次采用外部时钟方式。
STC5A60S2单片机芯片内部设有一个由反向放大器构成的振荡器,X1和X2分别为振荡电路的的输入端和输出端,时钟可有内部或外部生成,在X1和X2引脚上外接定时元件,内部振荡电路就会产生自激振荡。
系统采用的定时元件为石英晶体和电容组成的并联谐振回路。
时钟频率fosc采用12MHZ,C1、C2的电容值取30pF,电容的大小起频率微测的作用。
如四图所示。
图四 时钟电路
4.4复位电路设计
STC5A60S2单片机在启动运行时或者出现死机时需要复位,使CPU以及其他功能部件处于一个确定的初始状态,PC初始化为0000H。
单片机从这个状态开始执行程序。
除了进入系统的正常初始化之外,当程序行出错(如程序“跑飞”)或操作错误使系统处于“死锁”状态时,也需要按复位键即RST脚为高电平,使STC5A60S2摆脱“跑飞”“死锁”状态而重新启动程序。
单片机有多种复位方式,常用的复位操作有上电复位和手动按键电平复位方式。
本设计采用手动按键电平复位方式,电路搭建图见图五。
上电复位是通过外部复位电路的电容充电来实现的,复位电路产生的复位信号(高电平有效)由RST通过复位电路相连,手动输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号对STC5A60S2单片机进行复位。
当上电时,C相当于短路,有时碰到干扰时会造成错误复位,可在复位端加个去耦电容,可以复位电路更加可靠。
图五 复位电路
4.574HC573芯片连接电路图与介绍
图六 74HC573芯片分辨连接电路图
图七 74HC573芯片引脚图
74HC573功能表
INPUTS输入
Outputs输出
OE
LE
D
Q(HC573)
H
X
X
Z
L
L
X
NOCHANGE*
L
H
L
L
L
H
H
H
表一 74HC573功能表
5、主程序设计思路
5.1显示程序的设计
5.1.1LED显示屏的数据传送
动态扫描显示是把整个LED屏幕分成若干部分,每一幅画面显示过程是显示完一部分后,又显示第二部分……直到显示完最后一部分又重新开始显示第一部分,重复循环进行。
在重复扫描速度足够快的情况下,只要扫描速度1S超过25次,我们看到的就是一幅稳定的静态画面。
也就是说采用动态扫描显示需要不断进行画面的刷新。
动态扫描分为行扫描和列扫描,两种方式区别在于选通端和数据输入端分别是行还是列。
先选通列然后再从行送入对应列的数据,这样从第1列到第8列循环往复,只要切换的速度足够的快利用人眼的延时特性就可以看见一幅稳定的画面。
5.1.2显示程序的设计
显示采用的是扫描显示方式,选通一列后按照列对应的数据表的数据第i列对应的列数据为数组中的第i和第i+7个元素。
将对应数据由低至高位依次从控制端口输出显示。
向右逻辑移位所得结果通过单片机端口输出到锁存器,通过片选需要显示对应的锁存器在输出显示。
如此依次循环选通各列来显示所需画面。
把显示的数据送到P0口,相应的锁存器接收数据,再把片选锁存器的数据送到端口,相应锁存器接收数据并锁存输出显示,接着把下一组数据送到P0口,改变片选锁存器的数据,送到相应锁存器输出显示,直到把所有的数据局输出传送完毕后,显示完成后,退出显示程序,等待指令。
输出形式多种多样,可以静态输出图案,也可以动态、左移、右移、循环等花样显示。
6、硬件电路设计
6.1焊接准备
准备好烙铁、焊锡丝、钳子等工具,以及LED。
LED的正负极很好判别,长的引脚为+,短的为-。
LED最好选用直径3mm的LED,推荐选蓝色。
长脚的LED可以省很多工作量。
实际测量长脚是29mm,短脚为27mm,由于LED光立方板子灯的间距决定了,每个LED的间距是20mm。
这样长短引脚都符合这个尺寸。
由于所有LED框架焊接好后,一旦有LED损坏更换难度很大,所以焊接前要测试所有LED,用一般数字显示万用表打到二极管量程,用万用表红表笔接长引脚,黑的接短引脚。
LED正常发光并且亮度基本一致,这样的LED就是好的,否则是坏灯。
如果为了确保可靠也可以焊接好一排和一行后测试LED是否能点亮。
6.2焊接过程
为了方便焊接,加上焊接的美观性,我将LED引脚折成如图八所示。
图八每个LED引脚折法
图九焊接方法
【
附录】整体实物图
图十LED焊接结果示意图
图十一 光立方布线图
图十二 光立方全景
图十三 光立方效果图