单片机.docx
《单片机.docx》由会员分享,可在线阅读,更多相关《单片机.docx(15页珍藏版)》请在冰豆网上搜索。
单片机
河南机电高等专科学校电气工程系
微控制器技术课程
设计报告
设计题目:
声光报警器
专业:
电力系统自动化技术
班级:
电力111
学号:
1103131**
姓名:
******
指导教师:
******
设计时间:
2013.10.21---2013.10.27
微控制器技术课程设计任务书
设计题目:
声光报警器
设计时间:
2013.10.21---2013.10.27
设计任务:
在Proteus中画出原理图或使用实物,编制程序,实现以下功能:
1、理解报警器工作原理,不同频率声音的实现方案。
2、可设置报警声音的长短。
3、至少2种以上报警方案,每种方案至少由2种不同频率的声音合成。
发光的强弱跟随报警声音的频率高低变化。
背景资料:
1、单片机原理与应用
2、检测技术
3、计算机原理与接口技术
进度安排:
1、第一天,领取题目,熟悉设计内容,分解设计步骤和任务;
2、第2天,规划设计软硬件,编制程序流程、绘制硬件电路。
3、第3天,动手制作硬件电路,或编写软件,并调试。
4、第4天,中期检查,书写设计报告。
5、第5天,提交设计报告,整理设计实物,等待答辩。
6、第6天,设计答辩。
题目:
声光报警器
一、设计目的
熟悉可编程并行接口芯片AT89C51的使用,学习开关、扬声器、LED等I/O设备的控制方法,并进一步掌握简单的微机接口应用系统的设计。
另外还要掌握电路原理和分析电路设计流程,每个电路的设计都要有完整的设计流程。
这样才能在分析电路是有良好的思路,便于查找出错的原因。
二、设计要求
设计一个声光报警器的硬件电路和控制程序。
一旦按下SW3按钮开关,发光二级管按规律闪烁,同时扬声器发出声音;当按下SW2按钮开关,发光二级管停止闪烁,声音停止。
针对设计内容,提出两种设计方案,要求分别采用查询方式和中断方式接受SW3的开关信号。
(采用中断方式时,使用IRQ10接受中断信号。
)
针对每种设计方案进行硬件设计和软件设计:
画出每种设计方案的硬件连接图;并按照硬件连接设计相应的控制程序。
在MIFID微机实验箱上调试,并通过验收。
撰写课程设计报告。
三、设计思路
从设计的要求来分析该设计须包含如下结构:
热释电红外传感探头电路、报警电路、单片机、复位电路及相关的控制管理软件组成;它们之间的构成框图如图1总体设计框图所示:
图1总体设计框图
处理器采用51系列单片机AT89C51。
整个系统是在系统软件控制下工作的。
当红外检测装置检测到有人时,信号经放大电路和非门将相应的电平送至单片机的p1.0端口,在单片机内,经软件查询、识别判决等环节实时发出入侵报警状态控制信号。
驱动电路将控制信号放大并推动声光报警设备完成相应动作。
当报警延迟10s一段时间后自动解除,也可人工手动解除报警信号,当警情消除后复位电路使系统复位,或者是在声光报警10s钟后有定时器实现自动消除报警。
四、设计步骤
1、AT89C51单片机简述及结构引脚说明
AT89C51单片机是美国Atmel公司生产低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的只读程序存储器(EPROM)和128bytes的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存取技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。
AT89C51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。
图2为AT89C51单片机的基本组成功能方块图。
由图可见,在这一块芯片上,集成了一台微型计算机的主要组成部分,其中包括CPU、存储器、可编程I/O口、定时器/计数器、串行口等,各部分通过内部总线相连。
下面介绍几个主要部分。
外时钟源外部事件计数外部中断控制并行口串行通信
图2AT89C51功能方块图
AT89C51管脚说明
ATMEL公司的AT89C51是一种高效微控制器。
采用40引脚双列直插封装形式。
AT89C51单片机是高性能单片机,因为受引脚数目的限制,所以有不少引脚具有第二功能。
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口将输出电流。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
P3口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2INT0(外部中断0)
P3.3INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6
(外部数据存储器写选通)
P3.7
(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/
:
当访问外部存储器时,地址锁存允许端的输出电平用于锁存地址的地址字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
PSEN:
外部程序存储器的选通信号端。
在由外部程序存储器取指期间,每个机器周期两次PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/VP:
当
保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,
将内部锁定为RESET;当
端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
反向振荡器的输出,如采用外部时钟源驱动器件,应不接.
2、时钟电路的设计
TAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频率为12MHZ,一个振荡周期为1/12us,故而一个机器周期为1us。
如图3所示为时钟电路。
图3时钟电路图
3、复位电路的设计
复位方法一般有上电自动复位和外部按键手动复位,单片机在时钟电路工作以后,在RESET端持续给出2个机器周期的高电平时就可以完成复位操作[6]。
例如使用晶振频率为12MHz时,则复位信号持续时间应不小于2us[7]。
本设计采用的是外部手动按键复位电路。
如图4示为复位电路。
图4复位电路图
4、发光二极管报警电路的设计
由4个发光二极管接上电阻后连上单片的RXD的引脚,外接VCC,当单片机的RXD引脚被置低电平后,发光二极管被点亮,起到报警作用。
图5所示为发光二极管报警电路。
图5发光二极管报警电路图
5、声音报警电路的设计
此声音报警电路用555多谐振荡器构成模拟声响电路,当单片机响应报警时p3.1引脚输出高电平,555定时器的复位端4脚输入高电平,电路开始振荡发出报警声,当10s计时结束或人工复位时,p3.1输出低电平,555振荡器的4引脚接收到低电平,振荡器停止震荡,报警停止。
报警电路如下:
6、软件的程序流程图及程序
按上述工作原理和硬件结构分析可知系统主程序工作流程图如下图所示:
中断服务程序工作流程图
本主程序实现的功能是:
当单片机检测到外部热释电传感器送来的脉冲信号后,表示有人闯入监控区,从而经过单片机内部程序处理后,驱动声光报警电路开始报警,报警持续10秒钟后自动停止报警,然后程序开始循环工作,检测是否还有下次触发信号,等待报警从而使报警器进入连续工作状态。
同时,利用中断方式可以实现报警持续时间未到10秒时,用手工按键停止的声光报警的作用。
手工按键停止报警中断服务程序工作流程图,如下图所示:
整个设计的源程序如下:
ORG0000H
LJMPMAIN
ORG0003H
LJMPPINT0
ORG0200H
MAIN:
MOVIE,#81H;CPU开放中断,INT0允许中断
SETBIT0;外部中断为边沿触发方式
MOVSP,#30H;指针入口地址
SETBP3.0
CLRP3.1
MOVP1,#0FFH;使P1口全部置1
MOVP2,#00H;P2口清零
CLRP1.2
LP:
JNBP1.0,LA;监测输入信号,是否有输入信号
LA:
ACALLDELAY;延时消抖
JNBP1.0,ALARM;再次监测输入信号,若有输入信号转入报警子程序
AJMPLP
DELAY:
MOVR1,0AAH
LD2:
MOVR2,0BBH
LD1:
NOP
DJNZR2,LD1
DJNZR1,LD2
RET
ALARM:
SETBP1.2;开始报警使运行正常绿指示灯熄灭,红灯和声报警启动
CPLP3.0
CPLP3.1
;10S钟定时:
MOV51H,#0C8H;10S循环次数
MOVTMOD,#01H;定时器T0定时方式1
MOVTL0,#0B0H;置50ms定时初值
MOVTH0,#3CH
SETBTR0;启动T0
L2:
JBCTF0,L1;查询记数溢出
SJMPL2
L1:
MOVTL0,#0B0H
MOVTH0,#3CH
DJNZ51H,L2;未到10S继续循环
SETBP3.0;10s到关闭报警
CLRP3.1
CLRP1.2;报警结束,正常运行绿指示灯亮
LJMPLP;循环,继续工作
PINT0:
CLREX0;外部中断0服务程序开始,屏蔽外部中断
PUSHPSW
PUSHACC
JNBP3.2,LN;监测是否有中断输入
LN:
LCALLDELAY;延时消抖
JNBP3.2,LN1
AJMPLN2;无中断输入,中断返回
LN1:
SETBP3.0
CLRP3.1
CLRP1.2;使报警结束,绿指示灯亮
POPACC
POPPSW
SETBEX0;开放外部中断0
LCALLLP;在中断继续检测是否有输入信号
LN2:
RETI
END
●总原理图
五、调试结果
1、程序运行结果
首先调试运行基于查询方式的声光报警器的调试。
执行程序,按下SW3键,发出报警声,以及LED灯按规律闪烁。
从一边开始,第一次有一个登闪烁,每闪烁一次,增加一个灯闪烁,待八个灯一起闪烁后,重复该过程,一直到按下SW2程序结束运行为止。
然后调试运行基于中断方式的声光报警器,运行结果同上。
2、程序调试过程中遇到的问题
刚开始的时候,运用PA口来查询SW3是否按下,遇到了没有按下SW3而就进行发出报警声以及LED灯闪烁。
而按下SW2终止程序没有问题。
后经过查询得知PA0的初始值就为低电平,而SW3键的按下同时产生一个低电平因此即使不按下SW3键也会产生低电平,因此会造成不能正确的接受SW3信号。
后改为PC4查询SW3键的按下,程序运行正确。
六、设计心得
在这次试验中学到了不少以前不懂的知识,最重要映像最深的是中断不是由电平控制的,而是你给它先设置一个地电位。
当中断条件满足时就把它置为高电位,由低到高的脉冲就触发了中断,这时候就调用了发声子程序,发声想起。
刚开始设计的时候有很大的困难,比如怎么样让音乐循环的发声,怎样让LED花样闪烁,还有中断时怎么样触发的,每次触发中断后如何控制发声等等,后来想到了各种办法,一一解决。
七、心得体会
这次课程设计,使我对学过的知识有了更深的了解,对书本中的知识掌握的更扎实了,真正的做到了学以致用,也使自己对于如何根据人们的需要设计产品,有了一定了解,设计的过程中出现了不少问题,在大家伙的共同努力下,最终都得以解决,这锻炼我们发现问题,解决问题的能力,这次课程设计也在一定程度上锻炼了我的团队协作能力,我相信这对于我今后走上社会工作时一定会有所帮助。
八、参考文献
[1]《现代电子学及应用》,童诗白、徐振英编,高等教育出版社,1994年
[2]《电子系统设计》,何小艇等编,浙江大学出版社,2000年
[3]《集成电子基础教程》,郑家龙、王小海、章安元编,高教出版社,2002年5月
[4]《电子技术课程设计指导》彭介华编,高等教育出版社,1997年10月
[5]《数字电子技术》童诗白编著高等教育出版社2001年
[6]XX网站
[7]电子芯片质料网
[8]李朝青.单片机原理及接口技术,北京:
北京航空航天大学出版社,2006.
[9]余孟尝.数字电子技术基础简明教程,北京高等教育出版社,2006