单片机的光立方体的设计与制作
目 录
前言 1
(一)课题背景 1
(二)课题意义 1
一、方案设计 2
(一)设计原理 2
(二)工作原理 2
二、光立方的硬件设计 4
(一)芯片资料 4
1、STC12C5A60S2 4
2、74HC573 4
3、ULN2803 5
三、各个模块电路的设计 6
(一)单片机主控模块的设计 6
(二)驱动模块的设计 7
(三)按键电路的设计 8
四、系统软件的设计 9
(一)程序设计 9
1、初始化的部分 9
2、显示部分 9
3、中断部分 9
4、循环 9
(二)主程序的设计框图 10
(三)显示程序的设计 11
(四)按键子程序的设计 11
五、光立方体的制作 13
(一)材料准备 13
(二)LED的焊接方法 13
(三)整体连接 16
六、系统调试 17
(一)软件调试 17
1、ISP软件程序下载 17
2、上位机程序 18
3、软件调试 18
(二)硬件调试 19
(三)光立方效果展示 19
总结 21
致谢 22
参考文献 23
附录: 24
1、实物图 24
2、系统PCB图 25
3、程序 26
4、元件清单 52
前言
( *好棒文|www.hbsrm.com +Q: ¥3^5`1^9`1^6^0`7^2$
一)课题背景
光立方是一种由一定数量的LED灯组成并且由单片机芯片控制LED灯的亮灭来显示立体或者平面的画面的立方体。它是在平面LED基础上发展起来的新型显示技术,通过复杂的程序控制,在三维空间能够显示具有立体感的图形、动画等。
“光立方”最早出现在2009年10月1日的国庆联欢晚会上,它以其恢弘的气势,绚丽的色彩和强烈的视觉冲击力而受到广泛的好评。包括总导演张艺谋、执行总导演甲丁在内的导演组对“光立方”给予高度评价。国庆晚会结束之后,一个全新的名词“光立方”就此走进了人们的视野。人们在原有的基础上不断增加难度,变化出新的花样,试图创新,求变,追求更为完美的视觉效果。
光立方作为一种特殊的显示资源,已用于一些广告行业、家庭、娱乐厅、会议室、大型演唱会、城市地标广场等场所的布置和装饰,还可以用于更广泛方面,具有广阔的应用前景。光立方的研究极具创意和启发,而且可以低成本、高效益的研究未来的3D技术。
(二)课题意义
每一个见到过光立方的人都会被它酷炫的平面和立体的显示效果而震撼。然而,光立方也不是这么容易制作的,各个版本的光立方制作还是非常的难而且比较繁琐,不单单要组装焊接大量的LED灯,此外还需要有足够的耐心和知识来设计一大堆芯片程序、控制程序以及显示程序,最后还要进行软件、硬件的调试和实物联调。所以制作简单、廉价和强大的光立方成为了电子爱好者的追求。本篇论文就是这样的设计理念,来设计出一个制作简单、价格低廉且功能强大的光立方。
本课题设计一个8层,每层由8行8列的LED灯组成的光立方体组成的光立方。采用STC125A60S2芯片作为光立方的主控芯片,该芯片自带A/D转换模块。使用74HC573锁存器和ULN2803锁存器作为两个驱动芯片,显示部分由512个蓝色LED灯组成,更加美观。在制作过程中锻炼学习动手焊接能力,并以低成本,智能化产品对实现经济利益、商业价值的形成具有积极的推动作用。?
一、方案设计
(一)设计原理
图1-1 8×8点阵屏内部结构图
本课题所设计的光立方体由8层8×8的LED点阵显示屏所构成,每个点阵屏由64个二极管组成。如图1-1所示的是8×8点阵屏内部结构图,一共8行8列共64个二极管。每一行LED的阳极接在一起,共引出X0 ~X7 8根行线,每一列LED的阴极接在一起,共引出Y0 ~Y7 8根列线。每一行和每一列线的交叉点上都有着一个工作中的二极管,当对应行置“1”是高电平,而对应列置“0”是低电平的同时,这时对应交叉点上的发光二极管就会工作。例如,如果你想点亮第一个点,那么就将要让X0脚置“1”,同时Y0脚置“0”,在这两个条件都符合的情况下,第一个点将会工作;如果你想让第一行的二极管点亮,就需要将X0脚置“1”,而Y0、Y1、Y2、Y3、Y4、Y5、Y6、Y7引脚置“0”,在这种情况下,第一行二极管将会工作;而如果想要使二极管的第一列发光,你需要低电平连接在Y0脚上,而X0、X1、X2、X3、X4、X5、X6、X7脚连接高电平上,才会使第一列二极管工作。
(二)工作原理
8个8×8的点阵共有256个发光二极管,显然单片机没有这么多端口,如果采用锁存器来扩展端口,按8位的锁存器来计算,8个8×8的点阵需要256/8=32个锁存器。这个数字很大,这样在锁存器上花的成本将是一个很大的数字。因此在本设计中采用动态扫描显示方法。
具体就一个8×8的点阵来说,我们把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起,先送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其点亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其点亮相同的时间,然后熄灭; 第八行之后又重新点亮第一行,这样反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留效应,我们就能看到显示屏上稳定的图形了。
图1-2 总体设计方案
本设计的核心分为三个部分:控制系统,驱动电路和显示部分,采用STC125A60S2单片机做控制芯片的,采用ULN2008,74HC573作为驱动芯片,采用256个蓝色LED灯,一共八层,每层八行八列。总体设计方案如图1-2所示。
8层8×8的LED点阵的每一层都是由一个锁存器锁存端来控制,一共需要8个锁存器,由单片机上的P2口来控制8个锁存器的锁存端,以此决定数据的输入和锁存。单片机的P0口8个引脚对应锁存器上的8路输入,每个锁存器的8个输出端连接至每一个8×8LED点阵的行线,这样一个8×8的LED点阵面上64个阳极控制就设计完成了。单片机的P1口的8个引脚则负责8层LED的负极控制,通过ULN2008。这样512个LED每一个都有单独的位置编码,灯的亮灭可以由自由控制。
二、光立方的硬件设计
(一)芯片资料
1、STC12C5A60S2
STC12C5A60S2是由宏晶科技生产的,其机器周期为1T,高速、低功耗、超强抗干扰这三个优点让它在单片机中名列前茅,成为了新一代的8051单片机。它的指令代码与传统的8051单片机能够完全兼容,而且它的运算速度更快,大概比传统的8051单片机快8-12倍。它内部具有高集成MAX810的专用复位电路,2路PWM,8路高速10位A/D转换,转换速度可以达到250K/S也就是每秒25万次。如下图2-1所示。
(一)程序设计
前言 1
(一)课题背景 1
(二)课题意义 1
一、方案设计 2
(一)设计原理 2
(二)工作原理 2
二、光立方的硬件设计 4
(一)芯片资料 4
1、STC12C5A60S2 4
2、74HC573 4
3、ULN2803 5
三、各个模块电路的设计 6
(一)单片机主控模块的设计 6
(二)驱动模块的设计 7
(三)按键电路的设计 8
四、系统软件的设计 9
(一)程序设计 9
1、初始化的部分 9
2、显示部分 9
3、中断部分 9
4、循环 9
(二)主程序的设计框图 10
(三)显示程序的设计 11
(四)按键子程序的设计 11
五、光立方体的制作 13
(一)材料准备 13
(二)LED的焊接方法 13
(三)整体连接 16
六、系统调试 17
(一)软件调试 17
1、ISP软件程序下载 17
2、上位机程序 18
3、软件调试 18
(二)硬件调试 19
(三)光立方效果展示 19
总结 21
致谢 22
参考文献 23
附录: 24
1、实物图 24
2、系统PCB图 25
3、程序 26
4、元件清单 52
前言
( *好棒文|www.hbsrm.com +Q: ¥3^5`1^9`1^6^0`7^2$
一)课题背景
光立方是一种由一定数量的LED灯组成并且由单片机芯片控制LED灯的亮灭来显示立体或者平面的画面的立方体。它是在平面LED基础上发展起来的新型显示技术,通过复杂的程序控制,在三维空间能够显示具有立体感的图形、动画等。
“光立方”最早出现在2009年10月1日的国庆联欢晚会上,它以其恢弘的气势,绚丽的色彩和强烈的视觉冲击力而受到广泛的好评。包括总导演张艺谋、执行总导演甲丁在内的导演组对“光立方”给予高度评价。国庆晚会结束之后,一个全新的名词“光立方”就此走进了人们的视野。人们在原有的基础上不断增加难度,变化出新的花样,试图创新,求变,追求更为完美的视觉效果。
光立方作为一种特殊的显示资源,已用于一些广告行业、家庭、娱乐厅、会议室、大型演唱会、城市地标广场等场所的布置和装饰,还可以用于更广泛方面,具有广阔的应用前景。光立方的研究极具创意和启发,而且可以低成本、高效益的研究未来的3D技术。
(二)课题意义
每一个见到过光立方的人都会被它酷炫的平面和立体的显示效果而震撼。然而,光立方也不是这么容易制作的,各个版本的光立方制作还是非常的难而且比较繁琐,不单单要组装焊接大量的LED灯,此外还需要有足够的耐心和知识来设计一大堆芯片程序、控制程序以及显示程序,最后还要进行软件、硬件的调试和实物联调。所以制作简单、廉价和强大的光立方成为了电子爱好者的追求。本篇论文就是这样的设计理念,来设计出一个制作简单、价格低廉且功能强大的光立方。
本课题设计一个8层,每层由8行8列的LED灯组成的光立方体组成的光立方。采用STC125A60S2芯片作为光立方的主控芯片,该芯片自带A/D转换模块。使用74HC573锁存器和ULN2803锁存器作为两个驱动芯片,显示部分由512个蓝色LED灯组成,更加美观。在制作过程中锻炼学习动手焊接能力,并以低成本,智能化产品对实现经济利益、商业价值的形成具有积极的推动作用。?
一、方案设计
(一)设计原理
图1-1 8×8点阵屏内部结构图
本课题所设计的光立方体由8层8×8的LED点阵显示屏所构成,每个点阵屏由64个二极管组成。如图1-1所示的是8×8点阵屏内部结构图,一共8行8列共64个二极管。每一行LED的阳极接在一起,共引出X0 ~X7 8根行线,每一列LED的阴极接在一起,共引出Y0 ~Y7 8根列线。每一行和每一列线的交叉点上都有着一个工作中的二极管,当对应行置“1”是高电平,而对应列置“0”是低电平的同时,这时对应交叉点上的发光二极管就会工作。例如,如果你想点亮第一个点,那么就将要让X0脚置“1”,同时Y0脚置“0”,在这两个条件都符合的情况下,第一个点将会工作;如果你想让第一行的二极管点亮,就需要将X0脚置“1”,而Y0、Y1、Y2、Y3、Y4、Y5、Y6、Y7引脚置“0”,在这种情况下,第一行二极管将会工作;而如果想要使二极管的第一列发光,你需要低电平连接在Y0脚上,而X0、X1、X2、X3、X4、X5、X6、X7脚连接高电平上,才会使第一列二极管工作。
(二)工作原理
8个8×8的点阵共有256个发光二极管,显然单片机没有这么多端口,如果采用锁存器来扩展端口,按8位的锁存器来计算,8个8×8的点阵需要256/8=32个锁存器。这个数字很大,这样在锁存器上花的成本将是一个很大的数字。因此在本设计中采用动态扫描显示方法。
具体就一个8×8的点阵来说,我们把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起,先送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其点亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其点亮相同的时间,然后熄灭; 第八行之后又重新点亮第一行,这样反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留效应,我们就能看到显示屏上稳定的图形了。
图1-2 总体设计方案
本设计的核心分为三个部分:控制系统,驱动电路和显示部分,采用STC125A60S2单片机做控制芯片的,采用ULN2008,74HC573作为驱动芯片,采用256个蓝色LED灯,一共八层,每层八行八列。总体设计方案如图1-2所示。
8层8×8的LED点阵的每一层都是由一个锁存器锁存端来控制,一共需要8个锁存器,由单片机上的P2口来控制8个锁存器的锁存端,以此决定数据的输入和锁存。单片机的P0口8个引脚对应锁存器上的8路输入,每个锁存器的8个输出端连接至每一个8×8LED点阵的行线,这样一个8×8的LED点阵面上64个阳极控制就设计完成了。单片机的P1口的8个引脚则负责8层LED的负极控制,通过ULN2008。这样512个LED每一个都有单独的位置编码,灯的亮灭可以由自由控制。
二、光立方的硬件设计
(一)芯片资料
1、STC12C5A60S2
STC12C5A60S2是由宏晶科技生产的,其机器周期为1T,高速、低功耗、超强抗干扰这三个优点让它在单片机中名列前茅,成为了新一代的8051单片机。它的指令代码与传统的8051单片机能够完全兼容,而且它的运算速度更快,大概比传统的8051单片机快8-12倍。它内部具有高集成MAX810的专用复位电路,2路PWM,8路高速10位A/D转换,转换速度可以达到250K/S也就是每秒25万次。如下图2-1所示。
(一)程序设计
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/txgc/1748.html