一、引言
在当今社会,经济迅速的发展着,人们的生活水平和自身素质也在不断的提高。
在这样一个快的时代,自动化系统能带给人们很大的帮助。
人们不断去尝试各种新兴产品,希望能够进一步简化我们的生活模式。
即使安全问题一直在被改善,仍然还有不少不法分子存在。
许多小区不但有专门的治安管理团队,更是引进了自动化报警器进行多重防护。
可是在市场上我们看到,大部分报警装置都有着昂贵的价格,像是专门适用于一些高档场所,但是家家户户都需要保证自身及财产安全,若是能设计出一种针对普通家庭用户,并且性能优、适用简易、持久耐用的报警器,一定会是全社会的福音。
因为人的肉眼是看不见红外线光的,安装在一个隐蔽的地方,秘密进行工作,该设备就可以在不法分子不发觉的情况下完成检测报警。
图1硬件电路总框图
在硬件部分的设计中包含如下部分:由红外传感器等组成的控制电路部分、51系列的单片机以及报警电路部分。
其设计原理如上图1。
本设计以STC89C52单片机作为信号处理器,以C语言编程。
红外探头在监控范围内收集信号并送至处理器中。
在单片机内部处理过后,向报警电路发送控制信号,驱动蜂鸣器、LED灯等进行入侵报警。
总电路原理图如下图2所示:
图2总电路原理图
1.元器件清单
2.信号采集处理模块
图3信号处理模块
感应器接收信号后,信号由2号管脚传入,经一系列放大筛选后,以最终信号启动定时器改变其延时周期并送至单片机内处理。
这个电路中多个电容起到定时器的辅助作用。
如图3中的1
位,这种状态才可以解除。
(2)单片机部分
1.单片机系统图
4V~5.5V,故通常接入5伏的直流电源中。
电源的
20脚,VSS上。
出,以备单片机在启动的过程中出现错误,正常进入工作状态。
若启动时发现程序出错,或是受到外界干扰,这时便可以启动复位电路重启程序。
复位可由自动和手动两种方式启用。
为了方便展示本设计,这里选择外接一个复位键。
如是电路中的电位不够高,加上一个上拉电阻即可。
时钟电路在本报警系统中也起着至关重要的作用,它就好像是单片机中的主动脉直接掌握着单片机运行的起停节奏。
它也有另外一个名字叫做振荡电路。
时钟电路工作时将一个正弦波信号送至单片机内,这个信号的相关数值十分关键,单片机运行时的速度直接由它决定。
其中,该单片机内部的反向输入为XTAL1,反向输出为XTAL2,这样具有反向放大功能的电路可配置成片内振荡器。
若是想要使用外部的时钟源,来驱动其他元器件,应该跳过反向输出端不接。
一
个机器周期由六个状态周期组成,而每个状态周期又包含了两个振荡周期。
故而一个机器周期有十二个振荡周期。
比如电路中接了一个振荡频率为12MHZ的振荡器,该振荡器的振荡周期就是1/12us。
2.按键控制电路
分则是手动编写输入单片机内部给各个组成部分发出信号的程序。
该装置根据上文中的工作原理、硬件结构分析、防盗报警装置的功能特性等可得知主程序工作流程图如上图7。
2.程序的编写
在这个电路中,程序的编写流程如图8所示。
C51系列单片机的forWindows、forDOS因其集成开发环境的特性,故而它们都可独自完成编译连接、调试仿真的工作,是一个完整的程序编写调试系统。
程序的编写者可以是用本身的IDE或者自行选择的其他编辑器来对C语音或是其他汇编源文件进行编译。
式文件。
其中应注意,保存时程序若是采用C语言编写的,文件必须以*.c格式文件保存,若程序以汇编语言编写则将文本存成*.asm格式文件。
2.程序的调试
将编写的程序写入单片机内部,按下白色复位按钮,黄灯闪烁并且复位键指示灯亮。
选择报警模式。
按下紧急报警按钮(左1),红色指示灯闪烁并且蜂鸣器发声,黄色灯若是感应到人体所出的红外线亮,无信号则灭。
若需要解除紧急报警状态,按下停止键(左3)报警停止。
按下布防报警按钮(左2),绿色指示灯闪烁且蜂鸣器不发声,系统经设定的20s后开启布防模式,布防模式中绿色指示灯长亮,若人体进入红外探测头监控范围,传感器立刻输送一个信号至单片机进入报警模式:红色指示灯闪烁、黄指示灯长亮、蜂鸣器发声进行报警,当
人体离开监控范围报警自动解除,同样的布防报警模式也可以通过停止键(左3)解除。
排针侧按钮可单独使蜂鸣器发声。
图9为报警器报警并感应到人体辐射的红外线。
图9程序调试图
(4)硬件调试及调试中遇到的问题
完成硬件电路的焊接后,首先用肉眼观察元器件的位置焊接是否准确,有无虚焊,对电路板进行一些适当的修改。
接着使用万用表进行测试,仔细检查各个元器件的通断情况,是否在焊接的过程中存在损坏元器件的情况,同样也要检查各个焊线、电源线、接电线的通断情况,是否存在短路。
在以上操作后,给该系统进行通电测试。
电路通电后,检查接固定电平的端子的电平是否
接近于0
警装置的隐蔽性、实时性、高效性以及稳定性可满足大部分场所的需要,帮助人们远离不法分子,生活更安稳。
我相信在未来的生活中,方便实用的报警器必定会得已广泛的应用。
经历了此次毕业设计,我本人学习到了很多宝贵的经验与知识,接触了一些之前未曾接触的知识领域让我非常开心。
在做之前,一直觉得多看书看资料就不会太难,然而在设计的过程中却常常被一些不起眼的小问题卡主,再要解决这一问题,也浪费了不少宝贵的时间。
这使我懂得做事和学习都要细致,看似简单的问题也要踏实的看一遍,亲手做一遍,以后我会更加注意这方面。
很庆幸通过本次设计深深的体会到自己的不足之处,让自己在未来的工作还有生活中少走些弯路,能够更快的适应新的环境。
同时它也培养了我独立思考、以及动手能力。
我知道工作应该是一项充满热情的事业,以后我也将以饱满的精神和吃苦耐劳的品质去应对。
在此谢谢指导老师的谆谆教诲,以及在此次毕业设计中,帮助过我的所有人。
参考文献
[1]汪德彪MCS-51单片机原理及接口技术,2014(1)
[2]王金斗等电力电子技术及应用,2013(1)
附件一:程序源代码
#include<reg52.h>
#defineunncharunsignedchar
#defineuuuintunsignedint
#defineaj_ioP1
unncharaj_can;
sbitfm=P2^3;
sbithongled=P2^2;
{
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)
{
aj_value=0;
aj_new=0;
}}
aj_can=20;
if((aj_new==0)&&(aj_old==1)) {
switch(aj_io&0x07)
{
}
unncharfg_alarm;
unncharfg_bufang;
unncharfg_bufang_en;
uuuintfg_value;
voidhongwai_dis()
{
if(fg_alarm==1)
{
hongled=~hongled;
fm=~fm;
{
greenled=~greenled;
}
if(fg_bufang==1)
{
greenled=0;
if(hw==1)
{
fg_alarm=1;
}}}
voidaj_with()
{if(aj_can==1)
{
fg_alarm=1;
}
fg_value=0;
P2=0xff;
}}
voidmain()
{
dingshichushi();
while(1)
{
aj();
yellowled=~hw; if(aj_can<10)
{aj_with();
{
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)。