防盗报警器的设计.docx

上传人:b****3 文档编号:24888085 上传时间:2023-06-02 格式:DOCX 页数:36 大小:204.95KB
下载 相关 举报
防盗报警器的设计.docx_第1页
第1页 / 共36页
防盗报警器的设计.docx_第2页
第2页 / 共36页
防盗报警器的设计.docx_第3页
第3页 / 共36页
防盗报警器的设计.docx_第4页
第4页 / 共36页
防盗报警器的设计.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

防盗报警器的设计.docx

《防盗报警器的设计.docx》由会员分享,可在线阅读,更多相关《防盗报警器的设计.docx(36页珍藏版)》请在冰豆网上搜索。

防盗报警器的设计.docx

防盗报警器的设计

 

一、引言

 

在当今社会,经济迅速的发展着,人们的生活水平和自身素质也在不断的提高。

在这样一个快的时代,自动化系统能带给人们很大的帮助。

人们不断去尝试各种新兴产品,希望能够进一步简化我们的生活模式。

即使安全问题一直在被改善,仍然还有不少不法分子存在。

许多小区不但有专门的治安管理团队,更是引进了自动化报警器进行多重防护。

可是在市场上我们看到,大部分报警装置都有着昂贵的价格,像是专门适用于一些高档场所,但是家家户户都需要保证自身及财产安全,若是能设计出一种针对普通家庭用户,并且性能优、适用简易、持久耐用的报警器,一定会是全社会的福音。

因为人的

肉眼是看不见红外线光的,安装在一个隐蔽的地方,秘密进行工作,该设备就可以在不法分子不发觉的情况下完成检测报警。

 

二、设计任务分析

 

1.完成单片机的硬件和软件设计、红外线发射与数据的采集设计。

2.完成控制电路的按键设计并实现其功能。

3.完成报警电路的设计,报警电路由热释电红外传感器、蜂鸣器、LED灯等元器件结组合而成。

 

三、技术方案的设计

 

(1)硬件电路的设计方案

 

红外感应

LED指示灯

STC89

复位电路C52

单片机

按键控制

报警电路

电源开关

 

1

 

图1硬件电路总框图

在硬件部分的设计中包含如下部分:

由红外传感器等组成的控制电路部分、51系列的单片机以及报警电路部分。

其设计原理如上图1。

 

本设计以STC89C52单片机作为信号处理器,以C语言编程。

红外探头在监控范围

内收集信号并送至处理器中。

在单片机内部处理过后,向报警电路发送控制信号,驱动

蜂鸣器、LED灯等进行入侵报警。

总电路原理图如下图2所示:

 

图2总电路原理图

 

2

 

1.元器件清单

 

3

 

2.信号采集处理模块

 

图3信号处理模块

感应器接收信号后,信号由2号管脚传入,经一系列放大筛选后,以最终信号启动定时器改变其延时周期并送至单片机内处理。

这个电路中多个电容起到定时器的辅助作用。

如图3中的1脚使用跳线和一个高电平连接在一起,假如有人在延时时间内接近报警器的感应区域,并且持续活动,报警器就会输出、并且保持高的电位,只有当人离开感应区域,高电位变为低电位,这种状态才可以解除。

(2)单片机部分

 

1.单片机系统图

 

4

 

图4最小系统图

所谓单片机最小指的是使之能够正常公路的最简电路,其中包含单片机芯片、复位

电路以及时钟电路,如上图4所示。

本设计中所使用的单片机的工作电压为:

4V~5.5V,故通常接入5伏的直流电源中。

电源的正极接在40脚,VCC上,电源的接地端接在单片机的20脚,VSS上。

当单片机工作出现异常时,则由复位电路帮助恢复工作。

系统接电源后,复位信号一并输出,以备单片机在启动的过程中出现错误,正常进入工作状态。

若启动时发现程序出错,或是受到外界干扰,这时便可以启动复位电路重启程序。

复位可由自动和手动两种方式启用。

为了方便展示本设计,这里选择外接一个复位键。

如是电路中的电位不够高,加上一个上拉电阻即可。

时钟电路在本报警系统中也起着至关重要的作用,它就好像是单片机中的主动脉直接掌握着单片机运行的起停节奏。

它也有另外一个名字叫做振荡电路。

时钟电路工作时将一个正弦波信号送至单片机内,这个信号的相关数值十分关键,单片机运行时的速度直接由它决定。

其中,该单片机内部的反向输入为XTAL1,反向输出为XTAL2,这样具有反向放大功能的电路可配置成片内振荡器。

若是想要使用外部的时钟源,来驱动其他元器件,应该跳过反向输出端不接。

一个机器周期由六个状态周期组成,而每个状态周期又包含了两个振荡周期。

故而一个机器周期有十二个振荡周期。

比如电路中接了一个振荡频率为12MHZ的振荡器,该振荡器的振荡周期就是1/12us。

2.按键控制电路

 

5

 

在报警系统中,为了方便设计了不同种的工作形式,其中最主要的形式两种:

普通安全布防、紧急状况布防。

手动启动布防按钮之后,整个系统经三十秒延时进入到监控模式,此时若有人在监控区域内,热释电红外传感器会立刻感应并接收到人体发出的辐射,并传送到单片机内,单片机在很短的时间内进行识别、简单处理后发送报警信息,报警系统开始发光发声进入报警模式。

如果出现十分危机的情况,手动启动紧急布防模式报警器就会立即报警。

按键控制电路如下图5。

 

图5按键控制电路

3.报警装置

 

通常单片机LED指示灯都是接在P20、P21以及P22端口上,蜂鸣器则接在23号端口并且外部会加一个控制其开断的三极管。

当三极管满足条件时会向蜂鸣器发送报警信号驱动报警电路工作。

原理如图6所示:

 

6

 

图6指示灯和报警装置

 

7

 

(3)软件部分

 

图7程序流程图

 

1.主程序流程图

 

该防盗报警装置按性质分为软硬件两部分。

其中硬件部分包括输入输出、单片机等。

而软件部分则是手动编写输入单片机内部给各个组成部分发出信号的程序。

该装置根据上文中的工作原理、硬件结构分析、防盗报警装置的功能特性等可得知主程序工作流程图如上图7。

2.程序的编写

在这个电路中,程序的编写流程如图8所示。

C51系列单片机的forWindows、forDOS因其集成开发环境的特性,故而它们都可独自完成编译连接、调试仿真的工作,是一个完

 

8

 

整的程序编写调试系统。

程序的编写者可以是用本身的IDE或者自行选择的其他编辑器来对C语音或是其他汇编源文件进行编译。

 

uVision/Ishell集成开发环境

 

C51编译器A51编译器

 

C库文件LIB51库管理RTX51实时操作

 

BL51连接

 

OH51转换器

 

图8C51整体结构图

程序完成编译之后,uVision环境编写出来的程序由C51编译器编译生成目标文件,Ishell环境中编写出来的程序则是由A51编译器编译生成目标文件,目标文件的格式都为OBJ格式。

编译器所生成的文件可以创建生成库文件保存,同样也可以与其它库文件一起生成ABS格式文件。

ABS格式文件再经转换器转换生成最终所需的HEX格式文件,以便于调试器可以是用源代码对文件进行调试,另外调试方式还有利用仿真器直接进行调试或者写入程序存储器如EPROM中进行调试。

用Keil软件建立工程

 

首先在keil软件采用单片机型号为AtmelSTC89C52创建一个新的工程。

并生成一

个HEX格式文件。

其中应注意,保存时程序若是采用C语言编写的,文件必须以*.c格

式文件保存,若程序以汇编语言编写则将文本存成*.asm格式文件。

2.程序的调试

 

将编写的程序写入单片机内部,按下白色复位按钮,黄灯闪烁并且复位键指示灯亮。

选择报警模式。

按下紧急报警按钮(左1),红色指示灯闪烁并且蜂鸣器发声,黄

 

9

 

色灯若是感应到人体所出的红外线亮,无信号则灭。

若需要解除紧急报警状态,按下停止键(左3)报警停止。

按下布防报警按钮(左2),绿色指示灯闪烁且蜂鸣器不发声,系统经设定的20s后开启布防模式,布防模式中绿色指示灯长亮,若人体进入红外探测

头监控范围,传感器立刻输送一个信号至单片机进入报警模式:

红色指示灯闪烁、黄指示灯长亮、蜂鸣器发声进行报警,当人体离开监控范围报警自动解除,同样的布防报警模式也可以通过停止键(左3)解除。

排针侧按钮可单独使蜂鸣器发声。

图9为报警器报警并感应到人体辐射的红外线。

 

图9程序调试图

(4)硬件调试及调试中遇到的问题

 

完成硬件电路的焊接后,首先用肉眼观察元器件的位置焊接是否准确,有无虚焊,对电路板进行一些适当的修改。

接着使用万用表进行测试,仔细检查各个元器件的通断情况,是否在焊接的过程中存在损坏元器件的情况,同样也要检查各个焊线、电源线、接电线的通断情况,是否存在短路。

在以上操作后,给该系统进行通电测试。

电路通电后,检查接固定电平的端子的电平是否正确,测出电源端、插座、各器件之间是否稳定符合要求的电压,接电保护端是否测得的电压接近于0。

完成后给该系统进行联机检查。

 

10

 

在针对硬件电路部分的测试调试过程中发现了许多平时容易忽视的问题,刚把所有元件焊完的时候,正要开始进行调试,发现一个十分危险的地方:

电源两个插针焊的位置太靠近了,要外接电源十分不方便并且也很不安全造成短路。

这是很低级的错误了,

完全是由于本人做事不细心导致的。

发现错误后的我后悔莫及,浪费了不少时间跟精力,以后在我未来的工作与生活中会更加注意这方面,做一个心细的人,改掉粗心、马虎的缺点。

 

四、总结评价

 

本报警器的特点是传感器不需接触到人体即可接收信号,这大大提高了报警装置在日常工作中方便与实用程度。

并且它的灵敏度极高,能排除外界其它信号的干扰,工作原理简单并且使用方便。

随着时代的发展人们生活水平的提升,人们对防盗系统的依赖也在不断提高,本报警装置的隐蔽性、实时性、高效性以及稳定性可满足大部分场所的需要,帮助人们远离不法分子,生活更安稳。

我相信在未来的生活中,方便实用的报警器必定会得已广泛的应用。

经历了此次毕业设计,我本人学习到了很多宝贵的经验与知识,接触了一些之前未曾接触的知识领域让我非常开心。

在做之前,一直觉得多看书看资料就不会太难,然而在设计的过程中却常常被一些不起眼的小问题卡主,再要解决这一问题,也浪费了不少宝贵的时间。

这使我懂得做事和学习都要细致,看似简单的问题也要踏实的看一遍,亲手做一遍,以后我会更加注意这方面。

很庆幸通过本次设计深深的体会到自己的不足之处,让自己在未来的工作还有生活中少走些弯路,能够更快的适应新的环境。

同时它也培养了我独立思考、以及动手能力。

我知道工作应该是一项充满热情的事业,以后我也将以饱满的精神和吃苦耐劳的品质去应对。

在此谢谢指导老师的谆谆教诲,以及在此次毕业设计中,帮助过我的所有人。

 

参考文献

 

[1]汪德彪MCS-51单片机原理及接口技术,2014

(1)

 

[2]王金斗等电力电子技术及应用,2013

(1)

 

11

 

附件一:

程序源代码

 

#include

#defineunncharunsignedchar

#defineuuuintunsignedint

#defineaj_ioP1

unncharaj_can;

sbitfm=P2^3;

sbithongled=P2^2;

sbitgreenled=P2^1;

sbityellowled=P2^0;

sbithw=P1^3;

bitfg_300ms=0;

 

voidaj()

{

staticunncharaj_new=0,aj_old=0,aj_value=0;

if(aj_new==0

{

if((aj_io&0x07)==0x07)

aj_value++;

else

aj_value=0;

if(aj_value>=5)

{

aj_value=0;

aj_new=1;

}}

else

{if((aj_io&0x07)!

=0x07)

aj_value++;

else

aj_value=0;

if(aj_value>=5)

 

12

 

{

aj_value=0;

aj_new=0;

}}

aj_can=20;

if((aj_new==0)&&(aj_old==1))

{

switch(aj_io&0x07)

{

case0x06:

aj_can=1;break;

case0x05:

aj_can=2;break;

case0x03:

aj_can=3;break;

}}

aj_old=aj_new;

}

 

voiddingshichushi()

{

EA=1;

TMOD=0X01;

ET0=1;

TR0=1;

}

unncharfg_alarm;

unncharfg_bufang;

unncharfg_bufang_en;

uuuintfg_value;

 

voidhongwai_dis()

{

if(fg_alarm==1)

{

hongled=~hongled;

fm=~fm;

}

 

13

 

if(fg_bufang_en==1)

{

greenled=~greenled;

 

}

if(fg_bufang==1)

{

greenled=0;

if(hw==1)

{

fg_alarm=1;

}}}

 

voidaj_with()

{if(aj_can==1)

{

fg_alarm=1;

}

if(aj_can==2)

{

fg_bufang_en=1;

}

if(aj_can==3)

{

fg_alarm=0;

fg_bufang=0;

fg_bufang_en=0;

fg_value=0;

P2=0xff;

}}

 

voidmain()

{

dingshichushi();

 

14

 

while

(1)

{

aj();

yellowled=~hw;if(aj_can<10)

{aj_with();

}

if(fg_300ms==1)

{

fg_300ms=0;

hongwai_dis();

}}}

 

voiddingshi0()interrupt1

{

staticuuuintvalue;

TH0=0x3c;

TL0=0xb0;

value++;

if(value%6==0)

{

fg_300ms=1;

}

if(fg_bufang_en==1)

{

fg_value++;

if(fg_value>=600)

{

fg_bufang=1;

fg_bufang_en=0;

fg_value=0;

}}}

 

15

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1