(完整版)基于单片机的红外报警器的设计

(完整版)基于单片机的红外报警器的设计
(完整版)基于单片机的红外报警器的设计

微机原理与单片机系统课程设计

专业:

兰州交通大学自动化与电气工程学院

2014 年12 月31 日

基于51 单片机的红外防盗报警器的设计

1设计说明

1.1设计目的

该设计以单片机AT89C51 芯片为核心,加上必要的外围电路,构成了一个基于单片机的红外线防盗报警器。功能主要通过软件编程来实现,降低了硬件电路的复杂性和制作成本。此外,设计中所采用的红外线是不可见光,有很强的隐蔽性和保密性,以满足现代人们住宅防盗的需要。

1.2设计要求

该设计要求当热释电红外线传感器探测到人体辐射的红外线时,单片机控制电路启动声光报警并显示报警次数。此外,用户还可以设定报警时间并手动解除报警。

1.3设计方法

该设计以AT89C51 单片机为核心,由时钟电路、复位电路、外部触发电路、报警时间选择电路、声光报警电路、报警次数显示电路和中断报警电路共同组成报警系统。系统具有显示报警次数,设定报警时间,手动解除报警的功能。

2设计方案及原理

2.1设计方案简述

该设计使用AT89C51 单片机芯片控制电路,通过热释电红外传感器采集外部触发信号,采用7段LED 数码管显示报警次数,采用蜂鸣器和红色发光二极管实现声光报警,手动解除报警功能由单片机外部中断实现,报警时间由单片机内部定时器实现。

2.2热释电红外传感器简单介绍

热释电红外线(PIR)传感器是80 年代发展起来的一种新型高灵敏度探测元件。是一种能检测人体发射的红外线而输出电信号的传感器,它能组成防入侵报警器或各种自动化节能装置。它能以非接触形式检测出人体辐射的红外线能量的变化,并将其转换成电压信号输出。将这个电压信号加以放大,便可驱动各种控制电路。

2.3P IR 的原理特性

热释电红外线传感器主要是由一种高热电系数制成的探测元件,在每个探测器内装入一个或两个探测元件,并将两个探测元件以反极性串联,以抑制由

于自身温度升高而产生的干扰。由探测元件将探测并接收到的红外辐射转变成微弱的电压信号,经装在探头内的场效应管放大后向外输出。

人体辐射的红外线中心波长为9--10um,而探测元件的波长灵敏度的范围在0.2--20um 范围内几乎稳定不变。在传感器顶端开设了一个装有滤光镜片的窗口,这个滤光片可通过光的波长范围为7--10um,正好适合于人体红外辐射的探测,而对其它波长的红外线由滤光片予以吸收,这样便形成了一种专门用作探测人体辐射的红外线传感器。一旦人侵入探测区域内,人体红外辐射通过部分镜面聚焦,并被热释电元接收,但是两片热释电元接收到的热量不同,热释电也不同不能抵消,经信号处理而输出电压信号。

2.4系统组成框图

从设计的要求来分析该设计须包含如下结构:热释电红外传感探头电路、报警电路、单片机、复位电路及相关的控制管理软件组成;它们之间的构成框图如图1 总体设计框图所示:

图1 总体设计框图

处理器采用51 系列单片机AT89C51。整个系统是在系统软件控制下工作的。设置在监测点上的红外探头将人体辐射的红外光谱变换成电信号,送至门限开关,打开门限阀门送出TTL 电平至AT89C51 单片机。在单片机内,经软件查询、识别判决等环节实时发出入侵报警状态控制信号。驱动电路将控制信号放大并推动声光报警设备完成相应动作。声光报警10s 钟后由定时器实现自动消除报警, 也可手动解除报警。

3硬件设计

3.1 总体设计思路

本设计包括硬件和软件设计两个部分。模块划分为数据采集、键盘控制、报警等子模块。电路结构可划分为:热释电红外传感器、报警器、单片机

控制电路、

LED 控制电路及相关的控制管理软件组成。用户终端完成信息采集、处理、数据传送、功能设定、本地报警等功能。

就此设计的核心模块来说,单片机就是设计的中心单元,所以此系统也是单片机应用系统的一种应用。单片机应用系统也是有硬件和软件组成。

硬件包括单片机、输入/ 输出设备、以及外围应用电路等组成的系统,软件是各种工作程序的总称。单片机应用系统的研制过程包括总体设计、硬件设计、软件设计等几个阶段。

3.2系统硬件电路的选择及说明

在本设计中用到如下器件:AT89C51 芯片、热释电红外线传感器、LED 数码管、发光二极管、按键、开关、蜂鸣器等。其中D6是正常工作指示灯,D1—D5 起报警指示作用,当RXD 引脚置低电平时,D1—D5 亮红灯开始报警,同样,TXD 引脚置高电平时蜂鸣器开始工作。电路设有2个按键,S1键作为手动解除报警键, S2键作为电路复位键。K1 作为报警时间选择开关。

4软件设计

4.1 软件分析

报警计时是报警器系统设计的核心,用来完成报警时间的设定功能。在设计中,采用AT89C51的内部定时器与软件计数器相结合的方法。用外部中断0 实现手动解除报警功能。内部定时器T0 定时时间设为50ms,循环20 次获得1s 的基准时间,然后通过改变循环次数设定不同的报警时间。4.2程序流程图

红外线防盗报警器的中断服务程序流程图如图2 所示。

图2 中断服务程序流程图

主程序流程图如图3 所示。

4.3源程序

基于单片机的红外线防盗报警器设计的源程序如附录所示

5系统仿真及实际调试

在proteus 中,找到各个元件,画出仿真电路,并用Keil uVision3

软件生成.hex 文件,把该文件导入51单片机中,然后进行仿真。其仿真图如图4、图5所示。

图4 仿真运行截图

图5 报警时的仿真截图

6总结

这次课设最大的收获是学会使用Keil uVision3 和Proteus软件。使用Proteus 感到很新奇,但在真正绘制电路图时才发现自己平时积累太少,根本无法找到所需要电子元器件。本次单片机课程,将所学的单片机知识运用到实践当中,进一步加深了知识的理解。此外,借本次课程设计的机会,我还了解了热释电传感器,丰富了自己的知识。在设计的过程中,也遇到了许多问题,但是通过查资料,向别人请教,最后得以解。归结到一点就是我们要有足够的耐心,足够的细心,足够的分析问题、解决问题的能力,才能不断地进取,不断地创新,不断地充实。用汇编语言编写的程序另存为时应保存成.asm 文件,用C 语言编写的程序另存为时应保存成.c 文件。初次使用Proteus感到有点无从下手,所以在绘制电路图时才发现无法找到所需要电子元器件,最后在网上搜到电子元器件的中英文对照表后才得以顺利进行。

参考文献

[1]王思明,张金敏,张鑫等单片机原理及应用系统设计[M]. 北京:科学出版社,2012.5

[2]李广弟.单片机基础[M]. 北京航空航天大学出版社,2001.08.

[3]王毓银,数字电路逻辑设计[M], 高等教育出版社,2004.

附录

源程序

ORG 0000H

LJMP MAIN

ORG 0003H

LJMP DINT0

ORG 0200H

1.主程序

MAIN :MOV R0,#00H

MOV IE,#81H ;CPU 开放中断,INT0 允许中断

SETB IT0 ;外部中断为边沿触发方式MOV SP,#30H ;指针入口地址

SETB P3.0 ; 红灯不亮

CLR P3.1 ; 喇叭不响

MOV P1,#0FFH ;使P1 口全部置1

MOV P2,#00H ;P2 口清零

MOV A,#3FH

MOV P2,A; 数码管初始化显示0

CLR P1.2 ;绿灯亮

JCE: JNB P1.0,FD ;检测外部触发信号

FD: ACALL DELAY ; 延时消抖

JNB P1.0,BAOJING ; 再次检测外部触发信号,若有就转入报警子程

序AJMP JCE

2.消抖延时子程序DELAY: MOV R1,#0AAH

LOD2: MOV R2,#0BBH

LOD1: NOP

DJNZ R2,LOD1

DJNZ R1,LOD2

RET

3.声光报警子程序

BAOJING:SETB P1.2 ; 开始声光报警使正常工作指示灯熄灭

MOV A,#00H

INC R0

CJNE R0,#10,LOP

MOV R0,#00H

LOP: MOV A,R0

MOV DPTR,#TAB

MOVC A,@A+DPTR; 查段码表

MOV P2,A;送P2口显示

TAB: DB 3FH,06H; 数码管段码表

DB 5BH,4FH

DB 66H,6DH

DB 7DH,07H

DB 7FH,6FH

MOV 50H,#14H ;1S 循环次数

JNB P1.3,L7

JNB P1.4,L8

L7: MOV 51H,#05H

AJMP L9

L8: MOV 51H,#0AH;10 秒循环次数

L9: MOV TMOD,#01H ; 定时器T0,工作方式1

MOV TL0,#0B0H ; 置50ms 定时初值

MOV TH0,#3CH

SETB TR0 ;启动定时器T0

L2: JBC TF0,L1 ;查询记数溢出

SJMP L2

L1: CPL P3.0 ; 红灯亮

CPL P3.1 ;喇叭响

MOV TL0 ,#0B0H

MOV TH0, #3CH

JNB P3.2,L10

DJNZ 50H,L2

CPL P3.0

CPL P3.1

MOV 50H,#14H

DJNZ 51H,L2 ;未到10S 继续循环

CLR P1.2 ;报警结束,正常工作绿指示灯亮

L10: SETB P3.0 ;10s 到关闭报警

CLR P3.1 ; 关喇叭

LJMP JCE ;循环,继续工作

4.外部中断DINT0 服务程序

DINT0: CLR EX0 ;外部中断0服务程序开始,屏蔽外部中断PUSH PSW PUSH ACC

SETB P3.0

CLR P3.1

CLR P1.2 ;使报警结束,绿指示灯亮

POP ACC

POP PSW

SETB EX0 ;开放外部中断0

RETI;中断返回

END

相关主题
相关文档
最新文档