[4X4X4光立方]_第1页
[4X4X4光立方]_第2页
[4X4X4光立方]_第3页
[4X4X4光立方]_第4页
[4X4X4光立方]_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河南大学物理与电子学院单片机课程设计论文单片机课程设计课程论文成员1: 成员2: 学 院:所学专业: 完成时间: 17目 录0 引言11 系统组成与功能11.1 系统组成11.2 系统功能42 系统原理52.1 系统仿真图53 总体设计方案63.1单片机的资源分配情况63.2复位电路:63.3时钟电路:64 光立方制作过程75 程序流程图116主要程序源代码117 主要原件清单148 结论159 参考文献154*4*4光立方(河南大学物理与电子学院,河南 开封,475004)0 引言LED(Light-Emitting-Diode中文意思为发光二极管)是一种能够将电能转化为光能的半导体,它改变了白炽灯钨丝发光与节能灯三基色粉发光的原理,而采用电场发光。据分析,LED的特点非常明 显,寿命长、光效高、低辐射与低功耗。随着科技的发展,LED应用在生活的各个方面,比如企业招牌、新型的动态户外广告牌、灯光工程、娱乐场所、文化广场标志牌等。本设计作品采用4*4*4的模式,硬件主要分为三个模块:主控模块、驱动模块、显示模块。采用的主控芯片为STC12C5A60S2 芯片,驱动电路采用常用的74HC573数字芯片。本设计采用C语言编程,利用单片机控制LED的亮灭,采用延时控制LED亮灭时间,最终使得整个立体呈现不同的造型和图案,使其变得美轮美奂、绚丽多彩。1 系统组成与功能1.1 系统组成本系统主要有STC12C5A60S2 芯片,74HC573数字芯片,六角自锁开关,LED灯组等元件组成。1.1.1 STC12C5A60S2 芯片本电路是由STC12C5A60S2单片机为控制核心,其和8051指令、管脚完全兼容,而且其片内的具有大容量程序存储器且是FLASH工艺的,具有串口烧写编程功能,低功耗1;时钟源电路有很多种,比如阻容低速时钟源、普通晶体时钟源、带缓冲放大的晶体时钟源等等,考虑到电路稳定及材料选购等方面,决定采用普通晶体时钟源,其中晶体用12MHZ的石英晶振12。显示部份由显示部份由64个雾面LED灯组成来进行显示。STC12C5A60S2是8051系列单片机,与普通51单片机相比有以下特点:1、同样晶振的情况下,速度是普通51的812倍2、有8路10位AD3、多了两个定时器,带PWM功能4、有SPI接口5、有EEPROM6、有1K内部扩展RAM7、有WATCH_DOG8、多一个串口9、IO口可以定义,有四种状态10、中断优先级有四种状态可定义STC12C5A60S2引脚功能说明:VCC:供电电压;GND:接地;P0口:P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。当P1口的管脚写“1”时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高;P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。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的一些特殊功能口:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INT0(外部中断0)P3.3 INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 WR (外部数据存储器写选通)P3.7 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:来自反向振荡器的输出 1.1.2 74HC573芯片74HC573是拥有八路输出的透明锁存器,输出为三态门,是一种高性能硅栅CMOS器件。 SL74HC573跟LS/AL573的管脚一样。器件的输入是和标准CMOS输出兼容的,加上拉电阻他们能和LS/ALSTTL输出兼容。74HC573包含八路3态输出的非反转透明锁存器,是一种高性能硅栅CMOS器件。当使能为低时,输出将锁存在已建立的数据电平上。这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。特别适用于缓冲寄存器,I/O 通道,双向总线驱动器和工作寄存器。1.2 系统功能本设计以STC12C5A60S2单片机为控制核心设计一个由64个蓝色LED灯组成的光立方。系统主要由主控、驱动、显示等模块构成。系统模块框图如下图采用51系列的增强型芯片60KSTC12C5A60S2单片机作为主控芯片,其主要优点1.无法解密,采用第六代加密技术;2.超强抗干扰;3.内部集成高可靠复位电路,外部复位可用可不用;4.速度快,比8051快8-12倍11;因此采用此方案。2 系统原理电路大体上可以分成核心控制电路、显示驱动电路、串信通信电路三部分。核心控制电路部分包括一个51系统CUP和一些外围电路。在整个电路当中此电路部分可以相当于一个上位机,它负责控制整个电路以及相应的程序的运行、与PC机的串行通讯、以及给显示屏部分发送命令。单片机根据编写好的内容和指令通过I/O口扩展后驱动4*4*4LED光立方显示屏。2.1 系统仿真图最基本的仿真图具体见下图所示3 总体设计方案3.1单片机的资源分配情况将4*4*4的LED光立方分层4层,分别由单片机的P2.0,P2.1,P2.2,P2.3,四个口来控制每一层,且给低电平有效,再有P0口和P1的总共16个口来控制16列,给高电平有效,P0和P1口加上位排阻,再给每一列加三极管放大,三极管的基极接单片机的P0和P1口,集电极接5V电源,发射极接每一列。这样就可以通过控制每个口的输出信号来控制每个的亮灭。3.2复位电路:通过某种方式,是单片机内部各类寄存器的值变为出事状态的操作称为复位。单片机的复位是通过外部电路来实现的,复位引脚RET通过一个施密特触发器与复位电路相连接,施密特触发器用作噪声抑制,伟哥机器周期的S5P2时刻,复位电路采样一次施密特输出电平,获得内部复位操作所需要的信号。单片机的时钟电路正常工作后,CPU在RET/VPD引脚上连续采集到两个机器周期的高电平后就可以完成复位操作了,但实际应用时,复位电平的脉冲宽度一般大于1ms。复位电路通常采用上电复位、手动按键复位和看门狗复位三种方式,本次采用的是手动按键复位方式3.3时钟电路:单片机的各个功能部件的运行都是是时钟控制信号为基准,一拍一拍的工作。因此时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的可靠性和稳定性。常用的时钟电路设计为内部时钟方式,单片机内部有一个由反向放大器构成的震荡电路,芯片上的XTAL1和XTAL2分别为震荡电路的输入和输出端。只要在这两个引脚上接一个石英晶体振荡器和两个微调电容就构成内部方式的振荡器电路,有振荡器产生自激振荡,便构成一个完整的震荡信号发生器。一般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电容C1、C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。本系统的C1、C2的值为33pf。单片机在工作时,有内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期。其大小是时钟信号频率的倒数,f表示。图2中的时钟频率为12MHz,即f=12MHz,则时钟周期为1/12us4 光立方制作过程 图1.六脚自锁开关引脚接法六脚自锁开关,按下开关1脚与2脚导通,4脚与5脚导通,引脚如图1所示,使用时任选一组使用即可。图2.发光二极管引脚极性直径3mm,雾面蓝光光二极管,长脚为正极,短脚为负极,如图2所示,使用时注意极性不要接反。小电源插座引脚如图3所示,插孔中心为正极,使用时注意极性。图4. 光立方LED框架模型实物照片:5 程序流程图6主要程序源代码#include#define uint unsigned int#define uchar unsigned char#ifndef _SOUNDPLAY_H_REVISION_FIRST_#define _SOUNDPLAY_H_REVISION_FIRST_#define SYSTEM_OSC 12000000 /定义晶振频率12000000HZ#define SOUND_SPACE 4/5 /定义普通音符演奏的长度分率,/每4分音符间隔uint code FreTab12 = 262,277,294,311,330,349,369,392,415,440,466,494 ; /原始频率表uchar code SignTab7 = 0,2,4,5,7,9,11 ; /17在频率表中的位置uchar code LengthTab7= 1,2,4,8,16,32,64 ; uchar Sound_Temp_TH0,Sound_Temp_TL0; /音符定时器初值暂存 uchar Sound_Temp_TH1,Sound_Temp_TL1; /音长定时器初值暂存uchar shang,slie,slie1,aa,a,kk,n,m; uint x,y,z;void key(); / 按键检测void delay(uint z); /*延时void init(); /*初始化void hangl();/*行外围逐列个亮void ceng();/*1234层循环亮void houqian();/*从后向前void zuoyou();/*从左向右亮void shanshuo(); /*全部以200ms的速度闪烁50次,关闭void rao(); /*环绕void InitialSound(void);/*音乐初始化void Play(uchar *Sound,uchar Signature,unsigned Octachord,uint Speed);void Delay1ms(uint count) unsigned int i,j; for(i=0;icount;i+) for(j=0;j120;j+);uchar code Music_Same= 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x66, 0x18,0x03,0x17,0x02, 0x15,0x02, 0x16,0x01, 0x15,0x02, 0x10,0x02,0x15,0x00, 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x02,0x17,0x03, 0x18,0x03, 0x19,0x02, 0x15,0x02, 0x18,0x66,0x17,0x03, 0x19,0x02, 0x16,0x03, 0x17,0x03, 0x16,0x00,0x17,0x01, 0x19,0x02, 0x1B,0x02, 0x1B,0x70, 0x1A,0x03,0x1A,0x01, 0x19,0x02, 0x19,0x03, 0x1A,0x03, 0x1B,0x02,0x1A,0x0D, 0x19,0x03, 0x17,0x00, 0x18,0x66, 0x18,0x03,0x19,0x02, 0x1A,0x02, 0x19,0x0C, 0x18,0x0D, 0x17,0x03,0x16,0x01, 0x11,0x02, 0x11,0x03, 0x10,0x03, 0x0F,0x0C,0x10,0x02, 0x15,0x00, 0x1F,0x01, 0x1A,0x01, 0x18,0x66,0x19,0x03, 0x1A,0x01, 0x1B,0x02, 0x1B,0x03, 0x1B,0x03,0x1B,0x0C, 0x1A,0x0D, 0x19,0x03, 0x17,0x00, 0x1F,0x01,0x1A,0x01, 0x18,0x66, 0x19,0x03, 0x1A,0x01, 0x10,0x02,0x10,0x03, 0x10,0x03, 0x1A,0x0C, 0x18,0x0D, 0x17,0x03,0x16,0x00, 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x70,0x18,0x03, 0x17,0x02, 0x15,0x03, 0x15,0x03, 0x16,0x66,0x16,0x03, 0x16,0x02, 0x16,0x03, 0x15,0x03, 0x10,0x02,0x10,0x01, 0x11,0x01, 0x11,0x66, 0x10,0x03, 0x0F,0x0C,0x1A,0x02, 0x19,0x02, 0x16,0x03, 0x16,0x03, 0x18,0x66,0x18,0x03, 0x18,0x02, 0x17,0x03, 0x16,0x03, 0x19,0x00,0x00,0x00 ;sbit cai=P33; /高电平点亮sbit yy=P34; /蜂鸣器sbit k1=P35; / 按键 左sbit k2=P36; /按键 中sbit k3=P37; /按键 右/*行选uchar code hang=0x00, /全开0xff,/全关0x7f,/开底层0xbf,/开底二0xdf,/开底三层0xef,/开最高层;/*列选P0uchar code lie=0xff,/全开0x00,/全关;/*列选P1uchar code lie1=0xff,/全开0x00,/全关;/-主程序vo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论