您的位置首页  散文评论

光立方制作(光立方制作原理)一看就会

本文介绍一款基于STC12C5A60S2 单片机光立方的设计并阐述了整体设计思路,介绍了系统软硬件设计的主要

光立方制作(光立方制作原理)一看就会

 

本文介绍一款基于STC12C5A60S2 单片机光立方的设计并阐述了整体设计思路,介绍了系统软硬件设计的主要方法采用512个LED灯构成8*8*8的三维发光二极管立方显示体,距离为15cm*18cm*25cm(长.宽.高);光立方驱动电路采用ULN2803芯片, 采用STC12C5A60S2 单片机光立方设计与控制及其制作的主要方法;结合人眼的暂留效应(视觉惰性),利用单片机能够通过编写程序来实现对每一个发光二级管的亮灭控制,控制LED灯珠快速的闪烁,显示出多种多样的完整图案!本8*8*8光立方显示模式驱动电路由ULN2803和74HC573集成电路配合,分别控制行、列、层,使8*8*8光立方按照图文运动的特点分为闪烁、平移、旋转、缩放等多种显示模式呈现出美好的立体动画效果。

文章分三大模块向大家介绍8*8*8光立方的控制原理与制作方法一、电路组成原理与芯片选择1、基本思路

光立方一个立方体,采用的是8*8*8的模式,主要分为三个模块:主控模块、驱动模块、LED模块、外壳设计 LED立方体模块,采用引脚式蓝色LED灯,一共八层,每层八行八列驱动电路采用ULN2803和74HC573作为驱动芯片。

端口需要配合LED立方体的引脚设计主控模块采用STC12C5A60S2单片机为核心,采用最小系统配有外围基本电路,40个端口资源和内部资源已经完全够使,电源采用USB数据接口既便于烧录程序也便于供电还可以使用手机充电宝供电,非常便利。

2、如何驱动光立方的阴极层在我们制作的8*8*8光立方中共有8层,如果用CPU的P1口输出直接去驱动8个层的LED灯珠,亮度不够,为此我们选用ULN2803,因为该芯片内有八个NPN达林顿连接晶体管阵系列特别适用于低逻辑电平数字电路(诸如TTL, CMOS或PMOS/NMOS)和较高的电流/电压要求之间的接口,它内部所有器件具有集电极开路输出和续流箱位二极管,用于抑制跃变。

ULN2803的设计与标准TTL系列兼容,适于6至15伏高电平CMOS或PMOS该芯片为反向输出型,即输入低电平电压,输出端才能导通工作,这恰好对应CPU输出的指令电平,通过CPU输出数据指令电平与8*8*8光立方驱动之间接入ULN2803的驱动,可以保障每颗LED灯珠都有较好的稳定驱动电流,保障了每颗LED灯珠的亮度。

3、如何驱动光立方的每行LED的阳极驱动8*8*8光立方的8个行的阳极,我们选用74HC573;74HC573是个8位三态锁存器当锁存器的输入端出现有效信号,输入状态被锁存到输出端,直到下一个锁存信号到来时刷新。

这里的三态,是指它的输出可以是“0”或“1”状态,又可以是高阻状态,高阻态相当于隔断状态,没有逻辑控制功能我们对每一行LED灯珠的阳极驱动都对应一片74HC573,有8行就需要8片74HC573来实现驱动;每一片的第12~19脚输出控制接每一行的阳极。

4、如何驱动光立方的每列LED的阳极由于74HC573就相当于一道门,只有当这道门打开了,锁存才工作,才把信号锁在芯片里74HC573的第?輥?輯?訛脚LE即Load Enable,即载入允许功能,高电平有效。

当LE为1时,数据进入芯片内,到达输出端,当LE为0时,数据被锁存在芯片内,外部数据进不来,芯片数据出不去单片机操作时注意时序问题,先LE置1,然后送数据,再然后马上把LE置0,数据才不会出错这样由CPU的P2口送来操作时序控制每个74HC573的第11脚,以便每个74HC573的第12~19脚输出控制数据电平给每行的阳极。

5、如何存储LED灯珠数据指令选用STC12C5A60S2单片机芯片,其优点是速度快STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。

容量大,因8*8*8光立方的控制程序指令随着变化方式的多样化,需要CPU的内部存储器容量要尽可能大些,而STC12C5A60S2该芯片内部就自带高达60K FLASH ROM,这种工艺的存储器用户可以用电的方式瞬间擦除、改写;可加密。

STC12C5A60S2单片机支持串口程序烧写;写入单片机内的程序还可以进行加密,所以我们选用该芯片作最小单片机控制系统二、8*8*8光立方制作过程1、工具与材料我们要准备好主要的基本材料,详细见下面的列表。

名称数量名称数量方形直插式LED灯珠600个15cm*18cm板2块35W电络铁1把74HC5738个万用表1个STC12C5A60S21个0.1mm漆包线1捆ULN28031个支撑脚8个IC座10个跳线、焊锡

若干长度镊子1把排针座若干可调稳压电源1台2、LED灯珠检测把准备好的600个LED 灯珠逐个检测一遍(如图所示),以便我们需要的512个灯珠都能正常发光,一定要避免由死光和暗光的灯珠出现,以免影响后面的工作。

3、弯LED引脚弯LED灯的针脚,2只引脚空间成90°,注意正负极不要搞错了,一共弯512个,多弯上几个,作为备用的4、准备64根跳线将64根跳线分8*8按照点阵的方式左右上下间隔3cm*3cm的距离放置,并分别上焊锡做标记以便LED灯珠定位。

5、焊接8个面焊接单一一排8个,正极与正极相焊接,中间间隔3cm,一共焊64条64个单条焊好后,用8个单条组成一个面,这时是负极与负极相连,每条之间的间距是3cm,焊接时顺便调整阵脚,不要短路了一共8面。

6、每列行灯珠检测焊好8面以后,就是测试环节了,负极串联起来,给每一行的正极单独供一次电观察有没有短路、没亮、亮度暗等问题的,及时更换。

7、制作64个插座制作插座,将排插剪开只留下中间的铜质圆柱插座,直接焊接在实验板上,横竖各8排,其中间隔3cm,共计64个点8、8面LED灯珠插板将8个面分别插到底座板上并加以固定,焊接时,建议一列一列的焊接,层共阴列共阳这样操作起来比较容易,将横向相邻的正极弯好后直接焊在一起,注意之间的间隔是3cm,使每一层所有灯的正极是串联在一起的,然后每一层单独引出一条线用于连接ULN2803的输出引脚。

在插接每一面时从中间开始往俩边扩展,这样可以避免相互影响固定焊接

9、焊接主控制板并连接控制线按照主控制原理图进行手工焊接,8片74HC573的输入数据信号都是并接在STC12C5A60S2 单片机的P0口,并且注意P0口的P0.0接每片74HC573的第2脚依此类推,P0口的P0.7接每片74HC573的第9脚;注意STC12C5A60S2 单片机的P1口接ULN2803的第1~8脚;并检查各个焊点与各个电气线路连接性能,然后将单片机主控板与8*8*8LED显示板连接起来,采用0.1mm的漆包线进行连接,这样可以避免影响8*8*8光立方的显示效果。

在连接过程中一定要分清楚行列层的控制线切勿搞错,为防止弄错可以自己给它们编号,接好以后再去掉切记:装接完后切记要记得检测是否有LED灯在焊接过程中损坏,检测方法如下:层接地,即阴极接地,用一个串有1kΩ限流电阻的导线接5V,然后依次接LED灯阳极。

10、总装检查及烧录程序与调试为保证连接正确,采用万用表将ULN2803的第11~18脚与光立方的每层进行连通检查,避免出现开路现象;然后检查每片74HC573的第12~19脚与光立方的每行每列共64个座焊接脚之间是否连通,最后将烧录有显示方式控制指令的STC12C5A60S2 单片机插入主控板,并通电调试,最后的效果图如图所示。

三、控制程序编写程序函数运行流程框图如图所示。

首先,将系统所需要的文件的宏定义文件包含进来定义:74hc573控制输入模块 P0口;uln2803驱动模块 P1;74hc573控制LE输出模块 P2口初始化定时器0,延时5us,开中断,使其处于等待中断状态。

接着,初始化光立方体,驱动光立方,利用扫描形式使光立方体的LED灯逐个点亮形成动画编者注:由于版幅原因,如需本文电路及源程序,请与本报联系!◇广东 黄 力

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186