您好,欢迎访问三七文档
2014/5/271题目报警器与旋转灯设计专业光伏发电技术及应用学号姓名2014/5/272目录1.单片机基础知识__________________________________________________31.1单片机的定义_________________________________________________31.2单片机的基本组成_____________________________________________31.3单片机的特点_________________________________________________42.课题设计________________________________________________________62.1课题设计内容_________________________________________________62.2系统硬件设计_________________________________________________62.3ATC89C51单片机_____________________________________________72.4旋转灯电路__________________________________________________92.5系统主程序_________________________________________________103.程序调试_______________________________________________________123.1proteus软件仿真___________________________________________123.2原程序调试__________________________________________________132014/5/2731.单片机基础知识1.1单片机的定义所谓的单片机是将计算机的基本部件微型化并集成到一块芯片上,具备独特功能的微型计算机,通常片内都含有CPU、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中断控制、系统时钟及系统总线等。单片机全称为单片微型计算机,又称微控制器或嵌入式控制器。1.2单片机的基本组成单片机与现代微型计算机一样,结构均采用冯诺依曼提出的“存储程序”思想,即程序和数据都被放在内存中,采用二进制代替十进制进行运算和存储程序。一个最简单的单片机由以下五部分组成:(1)中央处理器CPU,包括运算器,控制器和寄存器组;(2)存储器,包括ROM和RAM;(3)输入输出(I/O)接口,它与外部输入输出设备相连;(4)电源和时钟电路。基本结构图如图1.1所示。图1.1单片机的基本结构2014/5/27451系列单片机在功能上有基本型和增强型两类。它具有体积小、功能全、面向控制、开发应用方便等特点,在工业实时控制、智能控制、测控等方面得到广泛应用。以8051为例介绍其功能和结构,它的内部结构由8大部分组成:(1)一个8位中央处理器CPU.CPU的内部结构是由算术逻辑运算单元、累加器、程序状态字寄存器、堆栈指针、寄存器、程序计数器、指令寄存器、暂存器等部件组成,是单片机的核心部件。(2)128个字节的片内数据存储器RAM(3)3KB的片内程序存储器ROM或EPROM(4)18个特殊功能寄存器SFR(5)4个8位并行输入输出I/O接口:P0、P1、P2、P3。(6)1个串行I/O接口,完成单片机与其他微机之间的串行通信。(7)2个16位定时器/计数器T0、T1。(8)具有5个中断源,2个可编程优先级的中断系统,它可以接收外部中断申请,定时器/计数器中断申请,串行接口中断申请。1.3单片机的特点单片机与通用微机相比,具有以下优点:(1)控制功能强(2)抗干扰性强,可靠性高,工作温度范围宽(3)开发周期短,性价比高,易于产品化微型计算机的出现是电子数字计算机广泛应用到人们日常工作、生活领域中去的一个重大的转折点。2014/5/275单片微型计算机简称为单片机。单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:中央处理部件(CPU)、存储器(RAM,ROM)、定时器/计数器、各种输入/输出(I/O)接口(如并行I/O口、串行I/O口和A/D转换器)等,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中。他支持汇编和C的混合编程,同时具备强大的软件仿真和硬件仿真功能。Protues能够很方便的和KEIL、Matlab?IDE等编译模拟软件结合。Proteus提供了大量的元件库有RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件,它可以仿真单片机和周边设备,可以仿真51系列、AVR,PIC等常用的MCU,与keil和MPLAB不同的是它还提供了周边设备的仿真,只要给出电路图就可以仿真。2014/5/2762.课题设计2.1课题设计内容(1)本课题的主要任务是设计采用单片机控制的报警器与旋转灯,要求通过外部中断0控制报警器和旋转灯。(2)报警器与P3.7口接,八个发光二极管分别接P2口。(3)当接外部中断0的开关按下时,报警器响,八个发光二极管顺时针方向旋转;当第二次按下开关时,报警器停止和发光二级管熄灭。2.2系统硬件设计基于单片机的报警器与旋转灯系统的电路原理图如图2-1所示。系统由旋转灯模块、复位模块、开关报警器模块、最小系统LED模块和电源模块五部分组成。P1口P0口RSTATC89C51P3口XTALLP2口电源模块复位模块最小系统LED模块开关和报警器模块旋转灯模块报警器与旋转灯系统的电路原理图2-12014/5/2772.3ATC89C51单片机STC89系列单片机是MCS-51系列单片机的派生产品。它们在指令系统、硬件结构和片内资源上与标准8052单片机完全兼容,DIP40封装系列与8051为pin-to-pin兼容。STC89系列单片机高速(最高时钟频率90MHz),低功耗,在系统/在应用可编程(ISP,IAP),不占用户资源。本设计采用ATC89C51,它提供的功能标准如表2-2。表2-2ATC89C51功能标准兼容MCS51指令系统8K可反复擦写FlashROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能2014/5/278ATC89C51引脚图如图2-3所示图2-3ATC89C51(1)主电源引脚(2根)VCC(Pin40):电源输入,接+5V电源GND(Pin20):接地线(2)外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端(3)控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号2014/5/279PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。(5)可编程输入/输出引脚(32根)ATC89C51单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。P0口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.72.4旋转灯电路在本设计中,旋转灯电路由8个LED发光二极管和8个0.3KΩ的电阻构成。该电路设计比较简单,但是要注意节点的电气连接。其相应的电路图2-4所示。旋转灯电路图2-42014/5/27102.5系统主程序(1)系统主程序主要用于变量及其他部件的初始化,如系统的初始化,以便能够准确的进行相应的操作。同时进行相应的功能键判断,从而实现特殊功能。其相应的流程图2-5所示。图2-5报警器与旋转灯系统主程序流程图2014/5/2711(2)在相应的外部中断和定时器中断程序中,首先响应外部中断,再响应两个定时器中断,读取键值,旋转灯旋转,报警器响,在定时器重置初始值以后,再次外部中断返回。中断程序的相应流程图如2-6所示。图2-6中断程序流程图外部中断0响应定时器0、1重置初值旋转灯、报警器工作中断返回开始初始化参数2014/5/27123.程序调试3.1proteus软件仿真使用proteus原理及仿真电路如图2-7所示。图2-7proteus仿真电路2014/5/27133.2原程序调试#includereg52.h#includeintrins.h#defineuintunsignedint#defineucharunsignedcharsbitSPK=P3^7;ucharFRQ=0x00;voidDelayms(uintms){uchari;while(ms--){for(i=0;i120;i++);}}2014/5/2714voidmain(){P2=0x00;TMOD=0x11;TH0=0x00;TL0=0xff;IT0=1;IE=0x8b;IP=0x01;TR0=0;TR1=0;while(1){FRQ++;Delayms(1);}}voidEX0_INT()interrupt0{TR0=!TR0;TR1=!TR1;if(P2==0x00)P2=0xe0;elseP2=0x00;}voidT0_INT()interrupt1{TH0=0xfe;TL0=FRQ;SPK=~SPK;}voidT1_INT()interrupt3{TH0=-45000/256;TL0=-45000%256;P2=_crol_(P2,1);}2014/5/2715结束语在大学期间,从接触单片机的课程开始,单片机就给我留下了神秘感。不论是对课程的学习,还是心中对课程的看法,直到自己独自完成布置的单片机课程,自己的对单片机才有了实质性的了解。实验任务分配下来后,一开始确实很迷茫。因为完全没有头绪,无从下手。看这网页中搜索的浩瀚的资料,真是一个头两个大,也第一次体会到了长时间对这电脑屏幕痛苦的感觉。之后我静下心来,仔细挖掘这次实验的问题所在。我所作的课题关键在于利用3个中断对LED灯的显示和按键触发的处理。想通这些后我开始查阅相关资料,从芯片组成到C语言程序,开始深入的学习。我一步步去尝试,一次次和同学讨论解决自己存在的问题,最终将单片机课程完成。通过这次实验,我认为学习的不仅仅是知识,更重要的是解决问题时坚毅不拔的精神,人不会被打败,只有被摧毁。在求知的道路上我们不能轻易放弃,不能放纵退缩。只有迎难而上,方能摘取胜利的果实!
本文标题:报警器与旋转灯..
链接地址:https://www.777doc.com/doc-7225507 .html