STC12C5A60S2单片机在光立方体的运用

嵌入式设计应用

129人已加入

描述

  8*8*8光立方体是利用二极管焊接成八行八列的八个工作面而构成的一个立方体,利用单片机、行列控制芯片构成相关硬件,利用软件C语言编程,点阵显示原理显示出各种立体的不同形状和字体,从而给人以视觉上的冲击,美的效果。该立方体可以运用到很多场合,作为装饰作品出现在人们眼前。

  STC12C5A60S2

  目前学生运用最多的单片机是89C5152、STC90系列、利用这些芯片可以构成最小系统,做成学习开发板供学生使用也是一种学习途径。学生可以通过焊接调试、编译程序实现功能,让学生在学中做、做中学、从而提高学生动手能力和创新思维以及研发能力,只一综合性的实训科目

  STC12C5A60S2单片机是单时钟机器周期(1T),是具有高速、低功耗、超强抗干扰的新一代增强型8051单片机,指令代码完全兼容传统8051,但速度却快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换250K S),针对电机控制,强干扰场合。

  传统的龙片只会识别和处理数字信号,而在实验中、实际运用中却常有模拟量的信息,因此该芯片自带A D转换器,增强了该芯片处理信息的能力。该芯片的A/D转换功能是具有10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次)

  74HC573

  该芯片是八进制三态非反转D型锁存器,共20个引脚,其中OE引脚为三态输出使能输入,低电平有效,DO到D7为数据输入,Q0到Q7为E态锁存数据输出,LE为锁存使能输入,如果是多片连用,可以作为片选信号使用端,高电平有效。

  ULN2803

  ULN2803是一块高电压、大电流的八达林顿晶体管,且是低逻辑电平数字电路,即电路为反相输出型,输入低电平电压,输出端才有低电平输出信号。

  该芯片共有18个引脚。9脚接地,10脚接电源,芯片第1引脚至8引脚为信号输入,11至18为信号输出。

  ULN2803的驱动负载电流为500mA,驱动电压.50V。

   硬件电路设计与工作原理

  电路原理图

  该电路图主要由单片机、74HC573、ULN2803三种芯片构成,利用Protel软件以及时标网络符号绘制该原理图。下图显示了部分原理图,其中PI、P9分别代表了二极管行、列端口。

  单片机

  工作原理介绍

  该立方体的制作采用STC12C5A60S2单片机,8*8*8 立方体,有8个8*8 二极管工作面,因此采用8块74HC573 (在原理图中分别用U2-U9表示) 作为二极管面的选择。在电路图中用P1-P8显示接[ 1的连接。每块74HC573芯片11引脚作为二极管的八个工作面的片选信号,信号输入端D1-D8连接单片机的P1口,01-08信号输出端连接已片选二极管工作面的行的选择,也即八行二极管的阳极。由于每个工作面采用共阴连接,UL.N2803芯片只需采用一块,引脚B1-B8接到单片机P1口,信号输出端C1-C8连接八面二极管工作面的阴极。具体硬件连接图如下所示

  软件设计

  利用Keil软件通过C语言编程实现功能,还可以利用按键开关扩展功能,使之为音乐频谱

  通过学生亲自设计画图、焊接与调试、编译程序实现功能,学生的理论知识和实践技能会大幅提高,增强了他们的自信心、同时也提高了他们实际动手能力。

  基于STC12C5A60S2单片机的光立方设计

  本次作品是要做出由512个LED灯组成的8*8*8正方体的LED光立方。通过烧入已经编写好的程序来控制LED灯的亮灭,以此显示我们想要的图案。主要也是为了把在学校学到的理论知识运用起来,为了增加眼球,有多重的显示方式:动静态结合。这次光立方的设计用的不是传统的74HC154芯片而是stc12c5a60s2芯片,因为它有一个最小的单片机系统,也具有使系统的强大功能和驱动效果,再者,从静态到动态,从2D到3D的转变,更具震撼力。本次作品主要有512个发光二级管组成,在制作过程中锻炼自己的焊接能力。采用商家做好的PCB板。使设计的线路更加明显。

 

  所需工具与材料:

  光立方印制电路板

  3mm蓝色长脚雾面LED灯

  圆孔插座

  180欧姆1/4w电阻

  贴片74HC573

  贴片ULN2803

  stc12c5a60s2单片机用的插排

  晶振

  微动开关

  自锁开关

  音频输入口

  5mm蓝色雾状LED

  电烙铁、松香、镊子、尖嘴钳、吸管、焊锡等。

  方法与步骤:

  1、首先要把光立方的正文体的架构焊接好。

  2、把元件和电路板通过导线接在一起。

  3、焊接好的基础上测试一下,保证每一个LED灯都能亮。

  4、把接好的电路图与LED正方体进行焊接测试亮不亮。

  5、把想要LED表现效果分别通过烧写做好的程序给烧写进去。

  6、把之前调试好了的程序组合在一起,再进行调试。

  焊灯是个大工程,8*8*8的正文体要焊好久呢,首先我们要把灯准备好。一共需要512个发光二级管,为了减少麻烦,准备了550个发光二级管。

 

  光立方的这些材料都是在淘宝上买的,因为为了以防万一,他们总是喜欢把LED灯多给一些给买家,所以在焊接前一定要测试一下LED灯。如果坏掉的,就把它和好的分开放,以免焊接的时候接错了(焊接到不亮的灯会很麻烦),测试时用电池简单测一下就可以分辨好坏了,然后再进行下一步的焊接。焊接的时候要注意是否虚焊。

 

  下一步就是把测试好的灯的触角折成如图所示的样子

  

  当然触角也不是随便就可以折的,我所采用的方法是“层共阴,束共阳”,是要把LED灯的负极(短的一角)朝一个方向弯曲,弯曲是注意与正极垂直才可,不然容易造成短路。

  然后找来一块木板,打好64个洞,测好距离将灯放在上面进行焊接,一次爆8个灯(为一排),这样来回焊48排,最后进行整体焊接成正文体。

  

  面是LED灯的制作下面我们来说说PC板板部分。PC板上有核心的主控电路、驱动电路和部分的显示电路,分布比较复杂。在焊接的时候要事先在PC板上把各个部分电路的原件放在上面,并做出标明,合理布局。核心部分要与驱动部分有点距离,方便导线的焊接,不能距离太近,要不然会没有焊接的空间。

  下面是完成全部焊接任务的成品图

  

  方法2:

  通过硬件测试和软件测试,先来看看硬件测试:实现所用到的工具有万用表、稳压电源、示波器、逻辑分析仪等。

  在检测光立方时记得接通电源,有用万能表检测一下外部电路,看看有没有漏电短路的地方,然后再开始测试。

  静态检测与测试:断开输入信号,把电源接入电路上,再用万用表的电压档监测看是否有异常。

  动态检测与测试:前面有讲到静态检测,只有静态检测通过了才可以进行这一步的动态检测,而它的测试方法和静态检测的方法是相反的,静态是断开信号源,动态是接入信号源的,通过查看波形、参数和稳定性能否满足制作者的需求的。

  光立方如何显示都是通过主程序的,而主程序又得通过按键的操作来运行的。前面也说过主程序,所以现在讲讲显示是怎么执行的,这里的光立方是8*8*8的所以每一次的动态动画或是静态效果都是要一层一层的显示的,直到所有层都显示完了,这才是一幅完整的画面。

  最后附上效果图

  

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分