光立方设计文档

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8*8*8光立方
摘要本设计制作出一个三维立体显示图案的LED光立方。

不仅可以像发光二极管点阵一样显示平面的静态或动态画面,还可以显示立体的静态或动态画面,打破了传统的平面显示方案。

同时又增加了显示的花样和立体图案显示效果,可以广泛用于传媒信息显示和各种装饰显示,光立方显示比发光二极管点阵更具有视觉效果,而且画面图案更加非富多彩。

本设计是采用STC15W4K58S4单片机为核心控制器,74HC595扩展I/O口,完成硬件电路设计。

通过软件编程控制数据下载到单片机完成设计图案的显示。

软件采用自上而下的模块化设计思想,使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。

关键词STC15W4K58S4单片机; ULN2803驱动管;74HC595。

目录
8*8*8光立方 (1)
1、设计要求与方案 (1)
1.1 设计目的 (1)
1.2 设计思路 (1)
2、工作原理 (1)
2.1模块的简介 (1)
2.2 8*8*8光立方工作原理 (1)
3、方案选择 (2)
3.1电源的选择 (2)
3.23D显示核心控制芯片 (3)
3.3I/O口扩展芯片的选择 (3)
3.4LED发光显示二级管 (3)
4、硬件整体设计概述及功能分析 (3)
4.1系统概述 (4)
4.2系列单片机简介 (5)
4.3时钟电路设计 (5)
4.4 复位电路设计 (5)
4.5 74HC5795芯片连接电路图与介绍 (6)
5、主程序设计思路 (7)
5.1显示程序的设计 (7)
6、硬件电路设计 (8)
6.1焊接准备 (8)
6.2 焊接步骤 (8)
6.3 焊接技巧 (8)
7、收获总结 (9)
1、设计要求与方案
1.1 设计目的
在当今的信息化社会中,为追求逼真、清晰的3D视频显示,平面的二位显示早已不在是主流,为此制作出一个三维立体显示图案的LED光立方。

该设计方案将打破了传统的平面显示视频的方法,该方案设计的LED显示屏显示画面色彩鲜艳,立体感强,可以广泛应用于各种工场合的多种用途。

1.2 设计思路
本设计根据二极管点阵的原理由单片机I/O口控制点亮不同的二极管从而组成出不同的画面,根据人眼的视觉暂留现象即当物体移去时视觉神经对物体的印象不会立即消失而是要延续短暂的时间,来设置每幅画面的延迟时间使连续的一系列画面呈现动态。

每一个层面的二极管阳极接在一起受一路I/O口控制。

每一个二极管的阴极分别受单片机扩展后的I/O控制。

每个灯都是由片选端口和控制端口共同决定亮或灭。

因此,我们可以随意的来点亮立方体中任意一处的灯,来构建多种多样的图案。

2、工作原理
2.1模块的简介
有8个8*8点阵,再用8个引脚来当充当各个8*8点阵的“开关”。

每一列共阳极,通过8个74HC595的数据输出来控制每一列的通与灭。

每层灯的阴极全连接在一起接入单片机,由单片机控制的每一个层灯。

通过单片机主控芯片STC5A60S2来控制所有灯的亮灭,从而实现立体控制来显示我们所需要显示的现象。

整个设计主要分为三个模块分别是主控模块、驱动模块、显示模块.。

2.2 8*8*8光立方工作原理
本设计介绍一个8*8*8 LED光立方显示屏的制作,在单片机的P0口输出显示代码,然后把扫描片选择锁存器送入74HC595。

考虑到P0口必需设置上拉电阻,我们采用1kΩ电阻作为上拉电阻。

设计原理:利用单片控制LED点阵显示的原理和控制技术,来制作控制光立方显示。

通过编写程序控制不同LED的显示,显示所要显示的内容。

根据人眼的视觉暂留效应,设置每幅画面的延迟时间使连续的一系列画面呈现动态。

最终达到所要显示的内容。

每个灯都是由层控制端和列控制端共同决定亮或灭。

单片机控制流程图
在三维光立方中采用动态扫描显示,这种显示方式巧妙地利用了人眼的视觉暂留特性。

将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。

最典型的例子就是电影放映机。

在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。

3、方案选择
3.1电源的选择
方案一:采用普通干电池作为LED系统的电源,由于点阵系统耗电量较大,点阵系统一般悬挂在高处上,一直不停的工作。

使用干电池需经常换电池,不符合节约型社会的要求。

方案二:采用一块LM7805三端集成稳压器。

把市电经变压器降压输入电路,而后整流送到LM7805三端稳压器稳压输出作为工作电压。

不仅功率上可以满足系统需要,不需要更换电源,并且比较轻便,使用更加安全可靠。

方案三:通过USB直接供电。

经过分析,方案一电池电压不稳定,而且不能直接供5v电压,方案二有耗费资源,决定采用通过USB直接供电。

3.23D显示核心控制芯片
控制部分是整个系统的核心部分,其功能可以实现与上位机通信接收上位机发送的数据和控制指令经处理过后控制显示屏显示内容。

我们常用的电子设计方法是单片机。

考虑到经费问题,加上自己对单片机的掌握情况,以及程序对单片机的储存要求,我门采用的是STC15W4K58S4单片机。

单片机:单片机是集成了CPU,ROM,RAM和I/0口的微型计算机。

它有很强的接口性能,非常适合于工业控制,因此又叫微控制器(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,实时性差,效果不好。

方案二:74HC595的输入是和标准CMOS输出兼容的;当锁存使能端为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。

当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。

8块74HC595共用64个I/O口,数据可以并行写入芯片,延迟时间少,满足设计要求。

综合以上比较,决定选取74HC595作为列线驱动I\O口扩展芯片。

3.4LED发光显示二级管
经过对比,我认为2*5*7mm雾状蓝灯显示效果好看,并且价钱便宜。

故该设计我选择了2*5*7mm雾状蓝灯作为LED发光显示二极管。

4、硬件整体设计概述及功能分析
4.1系统概述
3DLED光立方总体框图如图2-1所示。

电路大体上可以分成核心控制电路、显示驱动电路、串信通信电路三部分。

核心控制电路部分包括一个STC15W4K58S4系统CUP和一些外围电路。

在整个电路当中此电路部分可以相当于一个上位机,它负责控制整个电路以及相应的程序的运行、与PC机的串行通讯、以及给显示屏部分发送命令。

单片机根据编写好的内容和指令通过I/O口扩展后驱动8*8*8的LED光立方显示屏。

本次设计将以此方案为指导思想展开具体的硬件电路设计。

显示电路采用动态扫描方式进行显示时,每列有一个列驱动器,各列的同行共用一个行驱动器。

由单片机发出数据给74HC595锁存,然后在来一个脉冲信号,同步输出到各列中,同时P0口控制各行的通与不通,一起控制LED灯的显示效果。

整体的pcb电路图
4.2 系列单片机简介
单片机是在一块硅片上集成了各种部件的微型机,这些部件包括中央处理器CPU 、数据存储器RAM 、程序存储器ROM 、定时器/计数器和多种I/O 接口电路。

单片机最小系统包括时钟电路和复位电路。

时钟电路用于产生STC15W4K58S4单片机工作时必需的控制信号。

单片机的内部电路正是在时钟信号的控制下,严格地按照时序执行指令进行工作。

复位电路是为单片机初始化操作准备的。

只要单片机的复位引脚RST 上的复位信号要持续两个机器周期(24个时钟周期)以上,就可以使STC15W4K58S4单片机复位。

STC15W4K58S4引脚图
4.3 时钟电路设计
STC15W4K58S4单片机各功能部件的运行都以时钟信号为基准,有条不紊、一拍一拍地工作。

因此时钟频率直接影响单片机的处理速度,时钟电路的质量也是直接影响单片机系统的稳定性。

常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。

本次采用内部时钟方式。

4.4 复位电路设计
STC15W4K58S4单片机在启动运行时或者出现死机时需要复位,使CPU 以及其他功能部件处于一个确定的初始状态,PC 初始化为0000H 。

单片机从这个状态开始执行程序。

除了进入系统的正常初始化之外,当程序行出错(如程序“跑飞”
)
或操作错误使系统处于“死锁”状态时,也需要按复位键即RST脚为高电平,使STC5A60S2摆脱“跑飞”“死锁”状态而重新启动程序。

单片机有多种复位方式,常用的复位操作有上电复位和手动按键电平复位方式。

本设计采用手动按键电平复位方式。

上电复位是通过外部复位电路的电容充电来实现的,复位电路产生的复位信号(高电平有效)由RST通过复位电路相连,手动输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号对STC15W4K58S4单片机进行复位。

当上电时,C相当于短路,有时碰到干扰时会造成错误复位,可在复位端加个去耦电容,可以复位电路更加可靠。

4.5 74HC5795芯片连接电路图与介绍
74HC595电路连接图
图四:第一片74HC595连接放大图
74HC595引脚图及功能表
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 可以省很多工作量。

由于所有LED框架焊接好后,一旦有LED损坏更换难度很大,所以焊接前要测试所有LED,用一般数字显示万用表打到二极管量程,用万用表红表笔接长引脚,黑的接短引脚。

LED正常发光并且亮度基本一致,这样的LED 就是好的,否则是坏灯。

如果为了确保可靠也可以焊接好一排和一行后测试LED 是否能点亮。

6.2 焊接步骤
先把8个灯焊成一条,共需64条。

然后每8条焊成一行,每一行会流出来一个引脚,这个引脚就是负极。

然后在把8层层层叠上去。

每一条都需要测试一下灯泡是否损坏,同时,焊接好每一层以后一需要一个一个去测试一下灯泡是否有损坏。

板子的焊接需要从主芯片开始,每焊一个芯片,都要进行一下测试,保证没有问题以后在继续焊接下一个芯片。

这样可以避免很大的问题出现。

最后测试没问题以后把灯焊接到板子上,最终形成一个3D8光立方。

6.3 焊接技巧
对于贴片电子元器件的焊接技巧是先把一面的引脚整体的焊接到焊盘上,保证没有虚焊就可以。

第二步用松香在引脚上面自上而下刮两遍即可分离各个引脚之间的
7、收获总结
这算是我第一次自己一个人独自完成一个小项目,从开始计划做这个东西到现在已经过去了两三个月的时间。

在这一段时间里收获了很多很多,积累了很多实际中的经验。

整体框架把握的挺好的,但是没有真正的实战经验,走了很多弯路,也拆了几次。

总结一下这一段时间的收获,我印象中最深刻的就是完成一个很庞大的任务的时候,一定要分块,逐步完成,一定要在每一步进行调试,确保没有问题了在进行下一步。

在焊接电路板时,因为没有一个芯片一个芯片的测试,直接全部焊接上去,导致最后出现问题而找不到解决的办法,也不清楚哪个部分出现了问题。

然后重新拆掉,又一个一个芯片的测试,最终才找到具体的问题。

虽然走了很多弯路,但是却收获了很多实际做东西中的一些经验教训,我觉得很值得。

相关文档
最新文档