8x8x8-光立方设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
摘要............................................................................. .. (1)
Abstract....................................................................... (1)
第一章绪论............................................................................. (2)
光立方的意义: (5)
目的 (5)
%
章节安排............................................................................. .. (5)
第二章基础软件技术介绍............................................................................. (6)
proteus软件简介 (6)
Protel Dxp技术简介 (6)
Protel Dxp软件介绍 (6)
Protel Dxp基本技术 (6)
keil_μVision4软件 (7)
章节小结 (7)
】
第三章设计方案............................................................................. . (8)
总体设计方案 (8)
元件的选择 (9)
本章小结 (10)
第四章基础硬件设计............................................................................. (11)
74HC573芯片 (11)
STC12C5A60S2 (11)
ULN2803
........................................................................... .. (13)
!
本章小结 (13)
第五章软件设计 (14)
软件简介 (14)
程序流程图 (14)
主函数 (14)
本章小结 (14)
第六章系统调试与测试............................................................................. .. (15)
第七章检测结果与分析............................................................................. .. (16)
?
第八章总结与展望 (16)
第九章谢辞 (17)
参考文献............................................................................. . (17)
附录............................................................................. (18)
摘要
随着电子行业的不断发展,单片机的应用从根本上改变了传统的控制系统设计思想和设计方法,已广泛的应用在工业自动化、通信、自动检测、信息家电、电力电子航空航天等各个方面。
成为现代生产和生活中不可缺少的一部分。
此次我们正是利用单片机的知识,制作光立方,同时利用C语言进行编程,制作出自己想要的动画效果,并通过LED灯显示出我们编程的效果。
本次作品采用的是8*8*8的模式,大概的距离是14cm*14cm*20cm(长.宽.高),主要分为三个模块:主控模块、驱动模块、显示模块;结合单片机和C 语言的学习,我们采用的主控芯片60K STC12C5A60S2芯片,驱动电路是采用我们常用的74HC573数字芯片。
通过这次光立方的制作,我学习了许多单片机知识,进一步加强了protues、protel dxp软件学习。
此外,对C语言的掌握也进一步提高。
由于此次采取小组合作完成作品,在团队学习和集体协作方面上体会更为深刻了。
也让我得到进一步的锻炼。
关键字:光立方 74HC573 STC12C5A60S2 ULN2803
Abstract
With the development of electronic industry, the application of SCM change control system design idea and method of the traditional fundamentally, have been widely used in various industrial automation, communications, automatic detection, information household appliances, power electronics fields of Aeronautics and astronautics. Become an indispensable part of modern production and living.
The US is the use of SCM knowledge, build the cube, and the use of C language programming, making their own to animation, and through the LED lamp shows our programming effect.
With this work is the 8*8*8 model, the distance is about 14cm*14cm*20cm (long. Wide. High), mainly divided into three modules: the main control module, a driving module, display module; based on MCU and C language learning, the main control chip 60K STC12C5A60S2 chip we used, drive circuit is used in our common the 74HC573 digital chip.
Through the production of light cube, I learn a lot of knowledge of SCM, and further strengthen the Protues, PROTEL DXP software learning. In addition, also further improve the C language learning. Because of the team to take work to complete, in team learning and teamwork experience more profound. Let me get the further exercise.
Keywords: optical cubic 74HC573 STC12C5A60S2 ULN2803
第一章绪论
光立方的意义:
3Dcube8(光立方)是一个由LED组成的3D显示器,是一个集实际型、经济型、性价比高的艺术品。
它最早在2009年10月1日天安门广场举行的国庆联欢晚会上面世,这是新中国成立六十周年国庆晚会最具创意的三大法宝之首,自从国庆60周年联欢晚会开始演练后,一个全新的名词“光立方”,吸引了全国人民的关注。
国庆联欢晚会三样法宝,光立方为最,“光立方”在气势和整体感觉上,融合了北京奥运会开幕式“击缶而歌”和“活字印刷”的风格,而各种图案则与贯穿奥运会开幕式的“画卷”有异曲同工之妙。
“光立方”可以根据爱国歌曲的不同内容,展示不同的造型和图案,具有丰富的视觉效果。
它不仅仅局限于装饰,更是能够帮助更好的学习 c语言实际应用、满足单片机爱好者对单片机的研究的个好工具。
目的
(1)学习的单片机知识。
(2)熟悉光立方显示的原理及其相关的线路连接。
(3)学习C语言,进一步加强自己的编程能力。
(4)通过此次的电路焊接和调试提高自己的动手及其分析问题的能力。
章节安排
本次光立方论文先介绍本次实践所涉及的基础技术,包括proteus软件、protel软件以及keil_μVision4软件。
其次讲解的是流水灯制作的总体方案设计,再细述其有关的硬件设计和软件设计。
接下来便是系统的调试与测试以及其检测结果和分析。
最后对这次实践制作进行总结及展望。
第二章基础软件技术介绍
proteus软件简介
Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MATLAB等多种编译器。
其操作相对简单,打开软件,新建一个New Design,选左边工具栏第二个图标,点P,选元件,放置元件,连接起来。
连接好电路图后,进行仿真操作。
Protel Dxp技术简介
Protel Dxp软件介绍
Protel是Altium公司在80年代末推出的EDA软件,是第一个将所有设计工具集于一身的板级设计系统,电子设计者从最初的项目模块规划到最终形成生产数据都可以按照自己的设计方式实现。
Protel DXP运行在优化的设计浏览器平台上,并且具备当今所有先进的设计特点,能够处理各种复杂的PCB设计过程。
通过设计输入仿真、PCB绘制编辑、拓扑自动布线、信号完整性分析和设计输出等技术融合,Protel DXP提供了全面的设计解决方案。
Protel Dxp基本技术
在流水灯论文中对此技术已经做了介绍,此次介绍在画pcb图的过程中注意事项:
(1)印制导线的最小宽度:主要由导线与绝缘基板间的粘附强度和流过它们的电流值决定。
PCB的电源线和接地线因电流量较大,设计时要适当加宽,一般不要小于1mm,对于安装密度不大的PCB,印制导线宽度最好不小于0.5mm,手工制板应不小于。
(2)元器件的引脚间距:元器件不同,其引脚间距也不相同。
但对于各种各样的元器件的引脚间距大多都是:100mil(英制)的整数倍(1mil=l×10(-3立
方)in=25.4×10(-6次方)m),常将100mil作为1间距。
(3)尽量加宽电源、地线宽度:最好是地线比电源线宽,它们的关系是:地线>电源线>信号线,通常信号线宽为:~,最经细宽度可达~,电源线为~ mm。
(4)元器件布局原则:
1)排列方位尽可能与原理图一致,布线方向最好与电路图走线方向一致; 2)PCB四周留有5-10mm空隙不布器件;布局的元器件应有利于发热元器件散热;高频时,要考虑元器件之间的分布参数,一般电路应尽可能使元器件平行排列;
3)高、低压之间要隔离,隔离距离与承受的耐压有关。
对于单面PCB,每个元器件引脚独占用一个焊盘,且元器件不可上下交叉,相邻两元器件之间要保持一定间距,不得过小或碰接。
4)元器件布局顺序是先放置占用面积较大的元器件;先集成后分立;先主后次,多块集成电路时先放置主电路。
(5)布线基本原则:
1)印制线的走向——尽可能取直,以短为佳,不要绕远。
2)印制线的弯折——走线平滑自然,连接处用圆角,避免用直角。
3)双面板上的印制线——两面的导线应避免相互平行;作为电路输人与输出用的印制导线应尽量避免相互平行,且在这些导线之间最好加接地线。
4)印制线作地线——尽可能多地保留铜箔作公共地线,且布置在PCB的边缘。
5)大面积铜箔的使用——使用时最好镂空成栅格,有利于排除铜箔与基板间粘合剂受热产生的挥发性气体;导线宽度超过3mm时中间留槽,以利于焊接。
keil_μVision4软件
该软件是将高级语言转化成单片机语言,通过编程语言,达到光立方的闪烁效果。
使用汇编语言或C语言要使用编译器,以便把写好的程序编译为机器码,才能把HEX可执行文件写入单片机内。
KEIL uVISION是众多单片机应用开发软件中最优秀的软件之一,它支持众多不同公司的MCS-51架构的芯片,甚至ARM,它集编辑,编译,仿真等于一体,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。
通过这款编程软件以及所学习的C语言单片机知识设计出光立方各种动画代码。
章节小结
本章主要介绍光立方制作所需要的几款软件,让大家更清晰的了解光立方制作的整个流程。
本章的基础设计也是本次制作的关键之一,尤其在dxp 画图过程中需要注意许多。
在编程上,需要好好掌握keil_μVision4软件的使用方法,最重要的是学习C 语言以及单片机编程语言。
第三章 设计方案
总体设计方案
电路设计如图3-1所示 :
8*8*8光立方制 作结构LED 灯显示模块
74HC573设计的驱
动模块STC12C5A60S2设
计的主控模块
图3-1 总设计方案图 电路设计
主要分为三个模块分别是主控模块 驱动模块 显示模块
(1)单片机模块,如图3-2所示:
图3-2 单片机电路
(2)控制电路如图3-3所示:
图3-3 控制电路
在控制电路上,每个锁存芯片的电源端都加了一个瓷片电容,主要的作用是防止高频干扰。
(3)显示电路
所有的灯的负端都是接在一起的,下面的每一组都是控制光立方的一个面,控制的是光立方的竖起来的面,而横着的面由图3-4的U10控制。
图3-4 显示电路
元件的选择
(1)由于光立方的程序量比较大,而且要求相对比较高,因此经过考虑之后我们决定用51系列的增强型芯片STC12C5A60S2,选择的理由:
a.无法解密,采用第六代加密技术;
b.超强抗干扰;
c.内部集成高可靠复位电路,外部复位可用可不用;
d.速度快,比8051快8-12倍;
(2)由于灯的个数比较多,因此所需要的电流相对也比较大,所以选择ULN2803,ULN2803是八重达林顿,1 至 8脚为8路输入,18 到 11脚为8路输
出。
驱动能力 500MA \50V。
应用时9脚接地,要是驱动感性负载,10脚接负载电源V+。
输入的电平信号为0,或5V。
输入0是,输出达林顿管截止。
输入为5V电平时,输出达林顿饱和。
输出负载加在电源V+和输出口上,当输入为高电平时,输出负载工作;
(3)由于在刚刚接触锁存器的时候,就接触了74HC573,对它的使用也比较成熟,因此在驱动部分使用了熟悉的74HC573,其优点有:
a.高阻态;就是输出既不是高电平,也不是低电平,而是高阻抗的状态;在这种状态下,可以多个芯片并联输出;
b.数据锁存;当输入的数据消失时,在芯片的输出端,数据仍然保持;
c.数据缓冲; 加强驱动能力。
(4)LED灯的选择:出于外观和整体的形状美观,我们放弃我们经常用的草帽型LED,采用的是圆形高亮雾状的LED灯,具有聚光效果,非常漂亮。
本章小结
本章是此次光立方制作的最关键的一步——设计电路原理图。
结合所学知识以及单片机的相关内容结合,加上个人创新,更重要的是这次涉及到C语言的编程,就更加难了。
在网上查找了相关资料,最后进行拓展创新完成自己的电路原理图,进行仿真测试。
由于线路较为复杂,在画图时相当麻烦。
在设计原理图的过程中,个人觉得是最难的,毕竟这里面涉及了太多的内容,尤其是C语言编程,的确让人痛苦,再加上创新,基于这些,在这方面下的功夫最多。
最后,通过自己和同伴的共同努力完成。
第四章基础硬件设计
74HC573芯片
74HC573芯片的引脚图如图4-1所示,图4-2则是各引脚功能的说明表。
图4-1 74HC573引脚图图4-2 74HC573引脚功能说明表74HC573是八进制 3 态非反转透明锁存器。
器件的输入是和标准 CMOS 输出兼容的;加上拉电阻,他们能和LS/ALSTTL输出兼容。
当锁存使能端为高时,这些器件的锁存对于数据是透明的3(也就是说输出同步)。
当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。
输出既不是高电平,也不是低电平,而是高阻抗的状态;在这种状态下,可以多个芯片并联输出,当输入的数据消失时,在芯片的输出端,数据仍然保持。
STC12C5A60S2
STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。
我们的作品运用的是STC12C5A60S2单片机。
各引脚功能简单介绍如下
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTLVCC:供电电压;
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。
当P1口的管脚写“1”时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此门电流。
P1口管脚写入“1”后,电位被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚电位被内部上拉电阻拉高,且作为输入。
作为输入时,P2口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口: RXD(串行输入口) TXD(串行输出口) INT0(外部中断0) INT1(外部中断1) T0(记时器0外部输入) T1(记时器1外部输入) WR (外部数据存储器写选通) RD (外部数据存储器读选通)同时P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高平时间。
ALE / PROG :当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:外部程序存储器的选通信号。
在由外部程序存储器取址期间,每个机器周期PSEN两次有效。
但在访问内部部数据存储器时,这两次有效的PSEN信号将不出现。
EA/VPP:当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
ULN2803
ULN2802 ULN2803 ULN2804A 8 个 NPN 达林顿晶体管,连接在阵列非常适合逻辑接口电平数字电路(例如 TTL,CMOS 或 PMOS 上/ NMOS)和较高的电流/电压,如电灯,电磁阀,继电器,打印锤或其他类似的负载,所有设备功能由集电极输出和钳位二极管瞬态抑制。
该 ULN2803 是专为符合标准 TTL,而制造ULN2804 适合 6 至15V 的高级别 CMOS 或 PMOS 上。
该电路为反向输出型,即输入低电平电压,输出端才能导通工作。
其引脚图如图4-4所示:
图4-4 ULN2803引脚图
各引脚功能如下:
1-8引脚:输入端
11-18引脚:输出端
9引脚:地端
10(COM)引脚:电源+COM脚的作用是当你使用 ULN2803(2003)来驱动继电器时,可以将COM脚接到继电器的VCC端,ULN2803(2003)内部的反向二极管作保护继电器,消除继电器闭合时产生的感应电压。
本章小结
本章主要介绍光立方所用到的芯片,在熟悉和掌握各个芯片管脚及功能后,进行连接设计,同时为后面编写程序提供程序思路。
在创新思路上,也是有着很大帮助的。
第五章软件设计
软件简介
软件设计包括按键程序、主程序、显示程序三大部分。
主程序通过调用按键查询程序来判断待显示的图案及花样,再通过调用相应的显示程序送到控制端口。
软件编程采用的是C语言编程。
C语言是一门低级计算机编程语言,设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
程序流程图
5-2 光立方流程图
主函数
/*************主函数******************/
void main()
{
int i,j,cyc;
char go;
delay(800);
init(); 数字电子技术基础第四版[M].北京:高等教育出版社,
[2] 张瑞玲.单片机原理与应用西北工业大学出版社
[3]肖洪兵.跟我学用单片机[M].北京航空航天大学出版社,2002
[4]王东峰等.单片机C语言应用100例[M].电子工业出版社,2009
附件
(1)光立方仿真图
图9-1 光立方仿真图
(2)光立方原理图
图9-2 光立方原理图(3)光立方PCB图
图9-3光立方PCB图(4)效果展示图:
图9-4 光立方效果展示图、。