当前位置:文档之家› 光立方设计

光立方设计

毕业设计题目:学院:专业:届别:学号:姓名:指导教师:填写日期:2012-12-28【摘要】本设计立体点阵系统,具有3D的显示效果,系统STC60S2单片机作为控制核心对灯的亮暗进行控制。

采用74HC138和74HC595分别对每个灯进行控制,使8*8*8立体点阵显示出不同的花样,给人立体效果的展示。

系统初始设定显示一种模式,当遥控的切换键按下时,可以切换不同花样。

本系统还可以用遥控来对灯的亮度进行控制。

【关键词】立体点阵 STC60S2单片机 74HC138 74HC595 遥控器第1章引言随着人们生活水平的不断提高, 3D效果的欣赏已经成了人们的追求,美轮美奂的观赏让人醉心不已,给人带来无比宽松舒适的美感。

3D技术的将来必有广泛应用。

仅3D打印技术这一还处在萌芽阶段的技术就已经在世界掀起了巨大波澜。

就现有来看3D技术已经应用于军工、航空航天、水下作业、模拟分析等高端领域。

随着科技发展3D技术的成本也会越来越低,相信3D电视将来也会像液晶电视一样走入普通家庭。

3D技术在未来还可以应用于教学,医学,地下采矿,空中导航等领域。

但就目前的发展,3D还不能够普及到人们的生活中,这也就萌发了人们对于3D的设计。

因此,本课题以发光二极管的搭建的8*8*8立体点阵,是一个长、宽、高由8×8×8个LED 灯组成的真实3D立方体显示器。

采用单片机STC60S2为核心编程技术,对发光二极管进行控制,使其显示出不同的花样,带给人未来3D技术的科技体验。

第2章设计任务及要求2.1 设计任务设计一个8×8×8的LED立体点阵,可以用红外遥控器进行花样的切换,能够进行亮度的调节。

2.2设计要求(1)用红外遥控器进行控制。

(2)有多种的花样可以相互切换。

(3)可以对亮度进行调节。

第3章硬件系统总体设计3.1 系统结构框图设计经过分析,本系统主要是由电源模块、单片机主控模块、74HC595列驱动模块、74HC138行驱动模块、LED点阵显示模块,给出了系统电路原理框图如图所示。

单片机选用STC12C5A60S2芯片之制造,它可提供多种模式。

512个灯只需要单片机10端口控制,P1.3:脉宽输出,控制灯的亮暗。

LED 灯用16只驱动管驱动,提供足够大的电流,每个LED 灯需要20mA 的电流,需要的电流是1.5A,用驱动管来驱动LED 灯,74HC595控制LED 的8位移位寄存,74HC138是3位8出的译码器,用来信号的输出。

第4章 主要电路模块的实现方案比较及选择4.1 LED 的选择本次项目选用高亮度透明红光LED ,在不亮的时候是透明的,这样就确保了每个点都能显示自己的位置。

4.2 单片机的选择方案一:52系列单片机方案二:STC12C5A60S2芯片52系列单片机的ROM 为8K ,对我们设计系统不能提供充足的空间进行功能的扩展。

由于光立方的程序量比较大,而且要求相对比较高,因此经过考虑之后我们决定用51系列的增强型芯片STC12C5A60S2。

STC12C5A60S2具有超强抗干扰、内部集成高可靠复位电路,外部复位可用可不用、速度快,比8051快8-12倍。

再有STC12C5A60S2芯片与52 系列的单片机价格差不多。

因此,我们选择STC12C5A60S2芯片。

在实际调试中,用STC89C52RC 在高电平的时候还是有一点点漏电流,对与8050PNP 电源模块 行驱动模块LED 点阵显示模块列驱动模块 单片机主控模块三极管来说,这放大的电流足够使本不应该点亮的LED点亮。

所以必需把这漏电流给消除。

在更换芯片时,我们发现,用STC12C5A60S2单片机刚好满足要求,免去了复杂的硬件修改。

4.3 LED灯的选择方案一:草帽型LED方案二:方形高亮的LED灯由于草帽的光发散比较厉害,容易影响视角效果,而方形的比较聚光,在不亮的时候是透明的,这样就确保了每个点都能显示自己的位置。

出于外观和整体的形状美观,我们放弃我们经常用的草帽型LED,采用的是方形高亮的LED灯。

4.4 LED的驱动方式的选择方案一:74HC593和74LS138组成的驱动电路。

LED灯用16只驱动管驱动,提供足够大的电流,每个LED灯需要20mA的电流,需要的电流是1.5A,用驱动管来驱动LED灯,74hc595控制LED的8位移位寄存,74hc138是3位8出的译码器,用来信号的输出。

方案二:SM16126和74HC138组成的驱动电路。

SM16126具有亮度调整功能,通过调节R_EXT端的电阻大小或者PWM,就可轻松做到亮度可控。

4片SM16126构成了64位的静态显示,可显示一层的图像也就是一个二维画面。

层切换是通过3-8线译码器74HC138,对控制器输出的层信号译码,然后通过P沟道MOS管4953放大后驱动LED光立方一层的二极管阳极,此时对应SM16126移位后的并行数据就被显示出来了。

然后通过协调层的数据和层的选通,动态显示后就能做到立体控制与显示。

方案三:74HC573和ULN2008组成的驱动电路。

采用74HC573暂存的方法,来分别把8个灯的亮灭信息储存,74HC573的64个输出引脚控制前面所述每一个面的8个灯。

而ULN2008控制灯的每一个层,每个573输出的引脚对应的按顺序的X轴的8个引脚。

由于我们对于方案一的驱动方式比较熟悉,而且其组成的电路较简单,所以我们最后采用方案一的驱动方式。

第5章系统硬件设计5.1 系统硬件设计硬件电路大致上可以分成单片机系统及外围电路、列驱动电路和行驱动电路三部分。

5.1.1 单片机电路我们是用STC60S2芯片来制作单片机电路。

我们把STC60S2芯片的P0口用来控制74HC595的时序以及74LS138的时序,用P3.2口接收红外遥控器发出的信号,用P2口来控制液晶的启动显示,再分别用P1.3来控制LED灯亮度的变化。

5.1.2 行驱动电路单片机P0口低5位输出的行号经两片74LS138译码后生成16条行选通信号线,以低电平译出。

一条行线上要带动16列的LED进行显示,按每一LED器件20mA电流计算,32个LED同时发光时,需要640mA电流,选用场效应管TIP127作为驱动管可满足要求。

5.1.3 列驱动电路列驱动器由集成电路74HC595构成。

它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的。

引脚SI为串行数据输入端,与单片机P1.0相连,用来传送数据;引脚SCK为移位寄存器的移位时钟脉冲,与单片机P1.2相连;RCLK是输出寄存器的打入信号,与单片机P1.1口相接。

5.1.4 红外遥控器部分发射部分包括键盘矩阵、编码调制、红外发送器。

使用89C2051芯片将按键信号调制在 38KHz 的载波信号上通过三极管放大后发射出去。

以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms 的组合表示二进制的“1”。

“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。

红外编码为:全码 =引导码+系统码+系统反码+数据码+数据反码。

将发送的数据和P3.0进行逻辑与后,经过40106整形,用三极管驱动红外发射管发射。

5.1.5 遥控信号接收头接收电路可以使用一种集红外线接收和放大于一体的一体化红外线接收器,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。

接收器对外只有3个引脚:Out、GND、Vcc与单片机接口非常方便。

红外接收头的Out接单片机的P3.2。

①脉冲信号输出接,直接接单片机的IO 口。

② GND接系统的地线(0V);③ Vcc接系统的电源正极(+5V);5.2 系统软件设计5.2.1 软件系统总流程及设计思路说明LED立体点阵系统的主要功能是花样变化,通过红外遥控器来进行花样模式的切换。

根据软件分层次设计的原理,可把LED立体点阵显示屏的软件系统分成三大层:第一层是底层的显示驱动程序,第二层是红外遥控器的控制程序,第三层是上层的系统应用程序。

显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其它控制信号,配合完成LED显示屏的扫描显示工作。

显示驱动程序由定时器PCA中断程序实现,红外遥控程序负责对系统已经编写好了的各个花样进行切换,系统应用程序完成系统环境的设置、显示效果处理等工作,由主程序来实现。

5.2.2 显示驱动程序显示驱动程序在进入中断后首先要对定时器PCA重新赋初值,以保证显示屏刷新率的稳定,然后显示驱动程序查询当前燃亮的行号,从显示缓寸区内读取下一行的显示数据,并通过串口发送给移位寄存器。

为消除在切换行显示数据的时候产生的拖尾现象,驱动程序先要关闭显示屏,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。

图2是显示驱动程序的流程图。

进去中断定时器赋初值读取行号并增1送新行显示数据消隐切换显示数据送新行号、打开显示退出中断5.2.3 LED立体点阵驱动显示方案LED立体点阵是一种新萌发的具有3D效果的。

LED立体点阵系统可以显示文字,数字,图形等生动逼真,立体感强。

用单片机驱动LED灯有很多方法,按显示方式分,有静态显示和动态(扫描)显示,按译码方式可分硬件译码和软件译码之分。

静态显示就是显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出后就不再起作用,直到下一次显示数据需要更新时再传送一次新数据,显示数据稳定,占用很少的CPU时间。

动态显示需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU时间多。

这两种显示方式各有利弊;静态显示虽然数据稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的硬件较多;动态显示虽然有闪烁感,占用的CPU时间多,但使用的硬件少,能节省线路板空间。

如果用静态显示的方法,LED立体点阵共有512个发光二极管,单片机没有那么多的端口,如果用锁存器来扩展端口,按8位锁存器来计算,也需要64个锁存器。

因此在实际应用都不采用静态显示,而是采用动态扫描的显示方法。

此次设计的要求是立体点阵的花样变化,采用动态显示,扫描电路就可以实现多行的同名列共用一套列驱动器。

LED立体点阵的控制方式和16×64的点阵屏控制方式是一样的。

拿16×64的点阵屏来说,把所有同一行的发光二极管的阳极连在一起,把同一列的发光二极管的阴极连在一起(共阳接法),先送出对应的第一行发光二极管亮灭的数据并锁存,然后选通第1行使其亮灭的时间,然后熄灭;再送对应的第二行的数据,依次下去,直到第16行。

相关主题