基于单片机控制的智能家庭防盗报警系统的设计毕业设计.docx
- 文档编号:7594710
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:19
- 大小:260.12KB
基于单片机控制的智能家庭防盗报警系统的设计毕业设计.docx
《基于单片机控制的智能家庭防盗报警系统的设计毕业设计.docx》由会员分享,可在线阅读,更多相关《基于单片机控制的智能家庭防盗报警系统的设计毕业设计.docx(19页珍藏版)》请在冰豆网上搜索。
基于单片机控制的智能家庭防盗报警系统的设计毕业设计
基于单片机控制的智能家庭防盗报警系统的设计
前言
现在我国国民经济的快速发展,人民生活水平的提高,人们对家庭住房的防盗、防劫、防火设备的重视程度也在不断提高,所以现代社会有更多的人需要对偷盗、抢劫、火灾、煤气泄漏等事故进行监测和报警。
为了有效的保证居民的生命财产安全,我们设计了一款智能家庭防盗报警系统。
智能家居报警系统采用这种星型拓扑结构能够很好地扩展组合,容易增加网络节点,满足在家居中网络节点分布的不确定性,可在房间、隔离处放置一个节点,避免无线干扰和报警区域不确定性的问题,由中心节点对多个网络节点所传递的数据进行综合处理,分析是否发出报警信号。
该系统是利用无处不在的电话网络进行监控,将AT89S51单片机、ISD4000集成语音芯片、HT1602液晶显示驱动芯片及集成电路组成的双音多频拨号电路等有机地结合在一起,构成一种功能先进、实用、成本低廉的家庭智能防盗报警器。
1电路组成框图和基本工作原理
1.1电路组成框图
智能家庭防盗报警系统是由无线发送/接受模块、报警模块、键盘模块、晶显示模块、语音模块、DTMF解/编码模块等构成,系统硬件总体框图如图1.1-1所示。
图1.1-1系统硬件总体框图
1.2电路基本工作原理介绍
当家中发生警情时,此时家中设定的无线模块或者其他传感器模块会发出异常信号给单片机,单片机接受到信号后立即发出现场声光报警信号来威慑侵入者,同时将单片机自动拨打预先存储在24C02中的电话号码给主人或者小区物业报警,以便及时采取防盗措施避免财产损失。
当主人在异地处理家中的情况或者遥控家中的电器的开关时,只需要拨打家中的固定电话号码,因为该报警系统的电话接口是并联在电话机上的,若铃声响五次后无人接通(具体次数可由软件设定),则该报警系统就自动模拟摘机,在主人输入预定的密码后,就可以观测家中的动静以及控制家中电器的关、断。
当主人在家无须设防时,该报警系统还可以显示时钟、温度等等,还可以设定起床闹铃等多重功能,这些都可以结合软件和相关芯片来实现。
2系统部分电路功能介绍
2.1MCU模块
MCU器件采用ATMEL公司生产的AT89S51芯片,如图2.1-1所示。
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,具有高密度、非易失性存储技术的特点,芯片内集成了通用8位中央处理器和ISPFlash存储单元。
MCU选用的是宏晶科技公司的STC12LE5410AD,其工作电压为3.3V,便于在所选定的系统电源下工作.这是一款带A/D转换的单片机芯片,具有超强抗干扰的特性,并且具有超低的功耗,正常工作时电流仅为4~7mA,空闲时电流<1mA.它的工作周期仅为一个时钟周期,可以大大降低使用的晶振频率,从而降低EMI(Elec-tromagneticInteRFerence,电磁干扰).STC12LE5410AD具有引脚少、体积小、价格低、使用方便等特点,可降低开发成本,缩短开发周期。
MCU外围电路包括晶振电路、复位电路、开关检测电路和电压测量部分.开关检测电路用来检测行程开关的动作,电压测量部分利用单片机的A/D转换功能是来测量DTGS-800供电的电池电压,当检测到电池电压不足时会发出报警,此时需将供电部分转换到汽车电源上.MCU及外围模块电路。
图2.1-1MCU模块电路图
2.2无线模块
无线模块主要是是处理红外、无线信号。
包括门窗磁报警模块、火灾探测模块、有害气体探测模块等传感器模块。
在这里主要讲解门窗磁报警模块,门窗磁探测器选用无线门磁,由一块永磁体和门磁主体(内部有一个常开型的干簧管)两部分组成,其无线接受模块的传感器应用电路图如2.2-1所示
图2.2-1无线门磁接受模块传感器电路图
H1是一个干簧管,当门闭合时,H1吸合,C1两端点位相同,Q1截止,Q2也截止;当门打开时,干簧管触点打开,有一个电流流过Q1的发射极、R32(和H12并联)、C1、R31、地,使得Q2饱和导通,输出低电平0给单片机,发出报警信号。
2.3报警模块
P3.2(INT0)连接防盗探测器,用来检测盗情,如果盗情发生,触发外部中断0,MCU接到报警信号以后,开始启动LED等闪烁报警,同时启动100dB的声音报警,来震慑入室的小偷,同时把信号送给电话模块,告诉主人或者报警中心有小偷入室。
2.4液晶显示模块
液晶显示模块采用LCD1602来实现,主要功能是用来显示时间、日期、家里的温度、以及报警的时候显示报警的类型等功能。
图2.4-1液晶显示电路图
2.5语音模块
语音模块的采用ISD4000芯片,其芯片的主要特点有3v单电源供电,内置微机串行接口,其连接电路图见图2.5-1所示。
图2.5-1语音芯片连接电路图
芯片引脚介绍如下:
★电源(VCCA,VCCD):
为使噪声最小,芯片的模拟和数字电路使用不同的电源总线,并且分别引到外封装不同管脚上,模拟和数字电源端最好分别走线,尽可能在靠近供电端处相连,而去耦合电容应尽量靠近器件。
★地线(VSSA,VSSD):
芯片内部的模拟和数字电路使用不同的地线。
几个VSS尽量在引脚焊盘上相连,并用低阻通路连到电源上,VSSD也用低阻通路连到电源上。
★同相模拟输入(ANAIN+):
同相模拟输入(ANAIN+):
录音信号的同相输入端,输入放大器可用单端或差分驱动。
单端输入时,信号由耦合电容输入,最大幅度为峰峰值32mV,耦合电容和本端的3KΩ电阻输入阻抗决定芯片频带的低端截止频率差。
分驱动时,信号最大幅度为峰峰值16mV。
★反相模拟输入(ANAIN-):
差分驱动时,这是录音信号的反相输入端。
信号通过耦合电容输入,最大幅度为峰峰值16mV,本端的标称输入阻抗为56KΩ,单段驱动时,本端通过电容接地,两种方式下,ANAIN+、ANAIN-端的耦合电容值应相同。
★音频输出(AUDOUT):
提供音频输出,可驱动5KΩ的负载。
★片选(SS):
此端为低,即向该ISD4000芯片发送指令,两条指令之间为高电平。
★串行输入(MOSI):
此端为串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供ISD输入。
★串行输出(MISO):
ISD的串行输出端。
ISD未选中时,本端呈高阻态。
★串行时钟(SCLK):
ISD的时钟输入端,由主控制器产生,用于同步MOSI和MISO的数据转输。
数据在SCLK上升沿锁存到ISD,在下降沿移出ISD。
★中断(/INT):
漏极开路输出,ISD在任何操作(包括快进)中检测到EOM或OVF时,本端变低并保持。
中断状态在下一个SPI周期开始时清除。
中断状态也可用RINT指令读取。
OVF标志—指示ISD录、放操作已到达存储器的末尾。
EOM标志只在放音中检测到内部的EOM标志时,此状态位置1。
★行地址时钟(RAC):
漏极开路输出。
每个RAC周期表示ISD存储器的操作进行了一行(ISD4000系列中的存储器共600至2400行)。
该信号175ms保持高电平,低电平为25ms。
快进模式下,RAC的218.75us是高电平31.25us为低电平。
该端用于存储管理技术。
★外部时钟(XCLK):
本端内部有下拉元件,芯片内部的采样时钟出厂前已调校,误差在±1%内。
商业级的芯片在整个温度和电压范围内,其频率变化在±2.25%内。
工业级芯片在整个温度和电压范围内,频率变化在-6/+4%内,建议使用稳压电源。
若要求更高精度,可从本端输入外部时钟(如前表所列)。
由于内部的防混淆及平滑滤波器已设定,故上述推荐的时钟频率不应改变。
输入时钟的占空比无关紧要,因内部首先进行了分频。
在不外接时钟时,此端必须接地。
★自动静噪(AMACP):
当录音信号电平下降到内部设定的某一阈值以下时,自动功能使信号衰减,这样有助于减小无信号(静音)时的噪声。
通常,本端对地接1uF的电容,构成内部信号电平峰值检测电路的一部分。
检出的峰值电平与内部设定的阈值作比较,决定自动静噪功能的翻转点。
大信号时,自动静噪电路不衰减,静音时衰减6dB。
1uF的电容也影响自动静噪电路对信号幅度的响应速度。
本端接VCCA则禁止自动静噪。
2.6DTMF编码/解码模块
报警器电路与用户电话机共用一条电话线。
选用HT9200B做DTMF编码器,HT9170做DTMF解码器,其应用电路图见图2.6-1和图2.6-2。
图2.6-1HT9200B电路图
图2.6-2HT9170B电路图
给HT9200B提供确定的4位二进制数(比如电话号码),从D0--D3输入,就可从13脚输出相应的DTMF信号,并将DTMF信号送到电话线上,实现自动拨号功能;HT9170的功能主要是将输入的DTMF信号变换为相应的二进制数,解码远程电话按键信号,传送到单片机,实现远程控制。
DTMF(DualToneMultiFrequency),即双音多频信令,基本上在全世界范围内使用在按键式电话机上,一个DTMF信号由两个频率的音频信号叠加构成。
其中DTMF信号与电话按键关系见图2.6-3所示。
图2.6-3DTMF信号与电话按键关系图
2.7电话接口模块
电话接口模块包括振铃检测电路、摘机控制电路以及回铃检测电路。
振铃检测是指当振铃一定次数(比如5次,可由软件设定)后,若无人接听,则由主人输入密码,密码输入正确后,则由单片机自动模拟摘机,以查看家里情况,若
密码连续3次输入不正确则强行挂机。
图2.7-1振铃检测电路图
振铃检测电路电路图见图2.7-1所示,25Hz的交流振铃信号经过整流以后,再经过稳压,送入光电耦合器,再输出方波信号给单片机的外部中断0,用软件判别振铃信号。
模拟摘机检测电路电路图见图2.7-2所示。
该电路利用三极管来模拟电话摘机。
当Q4基级为低电平时,Q3的集电极和发射机断开,为挂机状态;电平时当Q4基级为高电平时,Q3的集电极和发射机饱和导通,为摘机状态,于是电话信号送入。
图2.7-2模拟摘机检测电路图
而回铃音、忙音、线路错误音等电话进程音是载波为450Hz的信号,各种信号不同的只是调制的周期、占空比不同,所以对这些信号的检测是检测450Hz的信号的周期和占空比。
该电路利用锁相环LM567构成检测电路(LM567的中心频率调为450Hz),当输入信号为450Hz时候,LM567输出低电平,送入单片机利用软件区别各种信号,其检测电路见图2.7-3所示。
图2.7-3回铃音检测电路图
3程序流程图介绍
本课题总体流程图如图3-1所示
图3-1总程序流程图
在这里着重说说主循环模块的流程图,见图3-2所示。
图3-2主循环流程图
4结束语
本系统采用电话网络进行通信,无须重新布线、方便、无电磁、环保、成本低;该系统经过调试,运行稳定可靠,具有很好的实用价值。
经过本次程控毕业设计,本人学到了许多有用的东西,也积累了不少经验这次毕业设计的过程中我多次请教××老师及同学,还查阅大量的资料。
通过这次程控设计使我大学三年所学知识有了一定的提高,通过这次的学习和实践将我已学的知识成系统的得到复习和巩固。
使我在以前的学习中不够清晰的概念得以清晰化,同时锻炼和培养了我的动手能力,对自己以后的工作有极大的帮助。
这段时间的学习,使我在模拟电路、数字电路和单片机方面的知识得以巩固,并使我真正接触到在系统工程开发的过程中所遇到的实际问题。
但由于才疏学浅,能力不足,加之时间和精力有限,我感觉还是有一些不足之处:
在许多内容表述、论证上存在着不当之处,与老师的期望还相差甚远。
我的毕业设计指导老师是一位治学严谨,要求严格的良师益友,在我的设计形成过程中,他从内容、结构、文字表达甚至标点符号上都严格,只不过在某些方面我还做的不够。
许多问题还有待进行一步思考和探究,万分肯切的希望老师能够提出宝贵的意见,多指出我的错误和不足之处,本人将虚心接受,从而不断进一步深入学习研究,使该毕业设计得到完善和提高。
值此毕业设计完成之际,谨向给予我帮助和支持的人表示由衷的感谢。
首先,感谢我的老师XX老师、XX老师在毕业设计期间给予了我悉心的指导和无私的帮助,为我提供了优良的学习环境,使我在学习方面收益匪浅。
XX师和XX老师严谨务实的工作作风更是无时无刻不在鞭策着我奋发进取。
在完成设计的过程中,×老师耐心的指导和讲解使我把握了正确的前进方向,少走弯路,所有的这些都是我今后工作和学习的最宝贵经验。
同时,还得感谢XX老师和XX老师在百忙之中抽出宝贵时间为我答疑解惑,在设计的修改和设计过程中向我提出许多批评和纠正。
为我的设计进行评阅工作的以上两位老师,他们无私的关心和教导使我对自己的研究内容有了更为透彻的了解。
再次,感谢我的父母,感谢他们为我的学习、生活做出的巨大的无私的奉献,在我遇到困难的时候,总能得到家庭的温暖和鼓励,是他们抚育我成长,是他们的付出、支持和努力保证了我学业的完成。
另外,还要感谢同一班级的几位同学,在与他们一起讨论问题的过程中,也使我获益良多。
最后,再次向所有给予我关心和帮助的老师、同学、朋友和家人表示感谢。
附录:
软件主程序
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
#defineLCDPORTP0
unsignedintcodetab[]={64021,64103,64260,64400,
64524,64580,64684,64777,
64820,64898,64968,65030,
65058,65110,65157,65178};
unsignedcharcodename[]="1234567";
unsignedcharcodenum[]="200711111111";
unsignedcharcodetab1[]="PLAYINGMUSICIS";
unsignedcharcodetab2[]="TWOBUFFER";
unsignedcharcodetab3[]="THETONEIS";
#ifndef__SOUNDPLAY_H_REVISION_FIRST__
#define__SOUNDPLAY_H_REVISION_FIRST__
//******************************************************************//
#defineSYSTEM_OSC12000000
#defineSOUND_SPACE4/5
sbitBeepIO=P3^0;
unsignedintcodeFreTab[12]={262,277,294,311,330,349,369,392,415,440,466,494};//原始频率
unsignedcharcodeSignTab[7]={0,2,4,5,7,9,11};
unsignedcharcodeLengthTab[7]={1,2,4,8,16,32,64};
unsignedcharSound_Temp_TH0,Sound_Temp_TL0;//定时器初值暂存
unsignedcharSound_Temp_TH1,Sound_Temp_TL1;//定时器初值暂存
//**************************************************************************//
voidInitialSound(void)
{
BeepIO=0;
Sound_Temp_TH1=(65536-(1/1200)*SYSTEM_OSC)/256;//计算TL1应装入的初值
Sound_Temp_TL1=(65536-(1/1200)*SYSTEM_OSC)%256;//计算TH1应装入的初值
TH1=Sound_Temp_TH1;
TL1=Sound_Temp_TL1;
TMOD=0x11;
ET0=1;ET1=0;TR0=0;TR1=0;EA=1;
}
voidBeepTimer0(void)interrupt1
{BeepIO=!
BeepIO;
TH0=Sound_Temp_TH0;TL0=Sound_Temp_TL0;
}
//*********************************************************************//
voidPlay(unsignedchar*Sound;unsignedcharSignature;unsignedcharOctachord;unsignedintSpeed)
{unsignedintNewFreTab[12];
unsignedchari,j;
Point,LDiv,LDiv0,LDiv1,LDiv2,LDiv4,CurrentFre,Temp_T,SoundLengt;
unsignedcharTone,Length,SL,SH,SM,SLen,XG,FD;
for(i=0;i<12;i++)
{j=i+Signature;
if(j>11)
{j=j-12;NewFreTab[i]=FreTab[j]*2;
}
else
NewFreTab[i]=FreTab[j];
if(Octachord==1)
NewFreTab[i]>>=2;
elseif(Octachord==3)
NewFreTab[i]<<=2;
}
SoundLength=0;
while(Sound[SoundLength]!
=0x00)
{SoundLength+=2;}Point=0;Tone=Sound[Point];
Length=Sound[Point+1];
LDiv0=12000/Speed;
LDiv4=LDiv0/4;
LDiv4=LDiv4-LDiv4*SOUND_SPACE;
TR0=0;TR1=1;
while(Point {SL=Tone%10; SM=Tone/10%10; SH=Tone/100; CurrentFre=NewFreTab[SignTab[SL-1]+SH]; if(SL! =0) {if(SM==1)CurrentFre>>=2; if(SM==3)CurrentFre<<=2;}SLen=LengthTab[Length%10]; XG=Length/10%10; FD=Length/100; LDiv=LDiv0/SLen; if(FD==1) LDiv=LDiv+LDiv/2; if(XG! =1) if(XG==0) if(SLen<=4) LDiv1=LDiv-LDiv4; else LDiv1=LDiv*SOUND_SPACE; else LDiv1=LDiv/2; else LDiv1=LDiv; if(SL==0)LDiv1=0; LDiv2=LDiv-LDiv1;if(SL! =0) { TR0=1;for(i=LDiv1;i>0;i--){ while(TF1==0); TH1=Sound_Temp_TH1; TL1=Sound_Temp_TL1;TF1=0;} }if(LDiv2! =0) {TR0=0;BeepIO=0; for(i=LDiv2;i>0;i--){ while(TF1==0); TH1=Sound_Temp_TH1; TL1=Sound_Temp_TL1; TF1=0; } }Point+=2; Tone=Sound[Point]; Length=Sound[Point+1]; } BeepIO=0; sbitLCDE=P3^5; sbitLCDRW=P3^6; sbitLCDRS=P3^7; voidDelay() {uintuiCount; for(uiCount=0;uiCount<250;uiCount++); } voidWriteCMD(ucharCommand) {Delay();//先延时。 LCDE=1; LCDRS=0;LCDRW=0;LCDPORT=Command;/最后执行命令。 } voidWriteData(uchardat) {Delay();//先延时。 LCDE=1;。 LCDRS=1;LCDRW=0;LCDPORT=dat;voidinicry() {LCDRW=0;LCDE=0;WriteCMD(0x38);WriteCMD(0x0f);WriteCMD(0x07);WriteCMD(0x01);} voidmydelay(intx) {inti,y;for(i=x;i>0;i--)for(y=255;y>0;y--); } //*******************************************************************// #endif main() { unsignedchartemp; unsignedcharkey; unsignedchark,y,m,x,z,i,j; unsignedcharcounter; InitialSound();inicry(); voidkey_scan() { if(key1==0)/{ delay_ms(9);if(key1==0) { while(! key1); set++; if(set==3) set=1; }} delay_ms(9); if(key2==0){ duo=1; while(! key2); }//{ suo=1; while(! key6);} if(key7==0) delay_ms(9
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 控制 智能 家庭 防盗 报警 系统 设计 毕业设计