基于单片机的防盗报警系统的设计.docx
《基于单片机的防盗报警系统的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的防盗报警系统的设计.docx(16页珍藏版)》请在冰豆网上搜索。
基于单片机的防盗报警系统的设计
设计要求及方案论证
人们生活水平不断提高,对私有财产的保护意识在不断的增强,因而对防盗措施提出了新的要求。
本设计就是为了满足预防抢劫、盗窃等意外事件的需要而设计的红外防盗报警系统。
本设计主要包括硬件和软件设计两个部分。
硬件部分包括单片机控制电路、红外探头电路、驱动执行报警电路、LED控制电路等部分组成。
处理器采用51系列单片机AT89C52。
整个系统是在系统软件控制下工作的。
软件部分可以划分为以下几个模块:
数据采集、键盘控制、报警和显示等子函数。
[关键词]:
单片机、红外传感器、数据采集、报警电路。
1.1设计任务与要求
(1)该设计主要包括硬件和软件设计两个部分。
模块划分为数据采集、键盘控制、报警等模块子函数。
(2)本红外线防盗报警系统由热释电红外传感器、智能报警器、单片机控制电路及相关的控制管理软件组成。
用户终端完成信息采集、处理、数据传送、功能设定、本地报警等功能。
终端由中央处理器、输入模块、输出模块、通信模块、功能设定模块等部分组成。
(3)系统可实现功能。
为了探测移动人体,通常使用双元件型热释电红外传感器,在这种传感器内部,两个敏感元件反相连接,当人体静止时两元件极化程度相同,互相抵消。
但人体移动时,两元件极化程度不同,净输出电压不为0,从而达到了探测移动人体的目的。
因此可把报警系统设置在外出布防状态,使探测器工作。
当有人闯入时,热释电红外传感器将探测到动作,设置在监测点上的红外探头将人体辐射的红外光谱变换成电信号,经放大电路、比较电路送至门限开关,打开门限阀门送出TTL电平至AT89C52单片机,经单片机处理运算后驱动执行报警电路使警号发声。
2.热释电红外传感器
2.1热释电红外线传感器简介
热释电红外线传感器是80年代发展起来的一种新型高灵敏度探测元件,它能以非接触形式检测出人体辐射的红外线能量的变化,并将其转化成电压信号输出。
热释电红外线传感器应用电路如下:
为了探测移动人体,通常使用双元件型热释电红外传感器,在这种传感器内部,两个敏感元件反相连接,当人体静止时两元件极化程度相同,互相抵消。
但人体移动时,两元件极化程度不同,净输出电压不为0,从而达到了探测移动人体的目的。
2.2本次设计采用的是HC-SR501红外线技术的自动控制模块。
其特点是探头设计,灵敏度高,可靠性强,超低电压工作模式,广泛应用于各类自动感
实物图片如图2.2-1
图2.2-1
3.1AT89C512片机的结构
AT89C52是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89C52具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,AT89C52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
图3-1为AT89C52单片机的基本组成功能方块图。
有图可见,在这一块芯片上,集成了一台微型计算机的主要组成部分,其中包括CPU、存储器、可编程I/O口、定时器/计数器、串行口等,各部分通过内部总线相连。
下面介绍几个主要部件。
外中断控制P3P2P1P0RXDTXD
图3-1AT89C52功能方块图
1.中央处理器(CPU)
中央处理器是单片机最核心的部分,是单片机的大脑和心脏,具有运算和控制功能。
AT89C52的CPU是一个字长为8位的中央处理单元,即它对数据的处理是按字节为单位进行的。
2.数据存储器(内部RAM)
芯片中共有256B的RAM单元,但其中后128个单元(80H-0FFH)被专用寄存器占用,能作为寄存器提供用户使用的只是前128个单元(00-7FH),用于存放可读写的数据。
因此常说的内部数据存储器是指前128个单元,简称内部RAM。
3.程序存储器(内部ROM)
芯片内部有8KB的掩膜ROM,可用于存放程序、原始数据和表格等,因此称为程序存储器,简称内部ROM。
4.定时器/计数器
出于控制应用的需要,芯片内部共有两个16位的定时器/计数器以实现定时或计数功能,并以其定时或计数结果对单片机进行控制。
5.并行I/O口
AT89C52共有4个8位的I/O口(P0、P1、P2、P3口),可以实现数据的并行输入/输出。
6.串行口
AT89C52有1个全双工的可编程串行口,以实现单片机和其他设备之间的串行数据传送。
该串行口功能较强,既可以作为全双工异步通信收发器使用,也可以作为同步移位寄存器使用。
7.中断控制系统
AT89C52的中断系统功能较强,可以满足一般控制应用的需要。
它共有5个中断源:
2个外部中断源/INTO和/INT1;3个内部中断源,即2个定时/计数中断,1个串行口中断。
8.时钟电路
AT89C52单片机芯片内部有时钟电路,但石英晶体和微调电容需要外接。
时钟电路为单片机产生时钟脉冲序列,系统允许的最高晶振频率为12MHz。
3.1.1管脚说明
AT89C52是一种高效微控制器。
采用40引脚双列直插封装(DIP)形式,如图3-3所示。
AT89C52单片机是高性能单片机,因为受引脚数目的限制,所以有不少引脚具有第二功能。
图3-3AT89C52引脚图
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,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口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
P3口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许端的输出电平用于锁存地址的地址字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号端。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
3.1.2主要特性:
·与MCS-51兼容
·4K字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时间:
10年
·全静态工作:
0Hz-24Hz
·三级程序存储器锁定
·128*8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
3.1.3振荡器特性
(1)XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
3.2AT89C52单片机的工作周期
单片机有了硬件和软件就可以在控制器发出的控制信号作用下有条不紊地工作,控制信号必须定时发出,为了定时计算机内部必须有一个准确的定时脉冲。
这种定时脉冲是由晶体振荡器产生的,并组成下面几种工作周期,如图3-6所示。
这种定时脉冲是由晶体振荡器产生的,并组成下面几种工作周期,如图1.2所示。
图3-6振荡周期、状态周期、机器周期和指令周期
振荡周期:
是指为单片机提供时钟脉冲信号的振荡源的周期。
即由单片机的晶体振荡器产生的时钟脉冲的周期。
状态周期:
每个状态周期为振荡周期的2倍,是振荡周期经二分频后得到的。
在一个状态周期中有两个时钟脉冲,通常称它为P1、P2。
机器周期:
一个机器周期包含6个状态周期S1~S6,也就是12个振荡周期。
在一个机器周期内,CPU可以完成一个独立的操作。
指令周期:
它是指CPU完成一条操作所需的全部时间。
3.3AT89C52单片机的工作过程和工作方式
单片机工作过程遵循现代计算机的工作原理(冯·诺依曼原理),即程序存储和程序控制。
存储程序是指人们必须事先把计算机的执行步骤序列(即程序)及运行中所需的数据,通过一定的方式输入并存储在计算机的存储器中。
程序控制是指计算机能自动地逐一取出程序中的指令,加以分析并执行规定的操作。
单片机的工作方式有:
复位、程序执行、掉电保护和低功耗、编程、校验与加密等方式。
1.复位方式
通过某种方式,使单片机内各寄存器的值变为初始状态的操作称为复位。
复位方式是单片机的初始化操作。
单片机除了正常的初始化外,当程序运行出错或由于操作错误而使系统处于死循环时,也需要按复位键重启机器。
MCS—51单片机复位后,程序计数器PC和特殊功能寄存器复位的状态如图3-7所示。
复位不影响片内RAM存放的内容,而ALE在复位期间将输出高电平。
由图3-7可以看出,复位后:
(1)(PC)=0000H表示复位后程序的入口地址为0000H,即单片机复位后从0000H单元开始执行程序;
(2)(PSW)=00H,其中RS1(PSW.4)=0,RS0(PSW.3)=0,表示复位后单片机选择工作寄存器0组;
(3)(SP)=07H表示复位后堆栈在片内RAM的08H单元处建立;
(4)P0口~P3口锁存器为全1状态,说明复位后这些并行接口可以直接作输入口,无须向端口写1。
定时器/计数器、串行口、中断系统等特殊功能寄存器复位后的状态对各功能部件工作状态的影响。
图3-7PC与SFR复位状态表
单片机在时钟电路工作以后,在RST/VPD端持续给出2个机器周期的高电平时就可以完成复位操作。
例如使用晶振频率为12MHz时,则复位信号持续时间应不小于2us。
复位方法一般有上电自动复位和外部按键手动复位以及“看门狗”复位三种类型。
前两种见图3-8所示。
“看门狗”电路则是一种集成有单片机的电源监测、按键复位以及对程序运行进行监控,防止程序“跑飞”而出现死机而设计的电路。
图3-8(a)上电复位电路;(b)上电/外部复位电路
2.程序执行方式
程序执行方式是单片机的基本工作方式。
由于复位后PC=0000H,因此程序执行总是从地址0000H开始,为此就得在0000H处开始的存储单元安放一条无条件转移指令,以便跳转到实际程序的入口去执行。
5.编程和校验方式
对于内部集成有EPROM可以进入编程或校验方式。
(1)内部EPROM编程
编程时,时钟频率应定在3-6MHz的范围内,其余各有关引脚的接法和用法如下:
P1口和P2口的P2.0~P2.3为EPROM的4k地址输入,P1为8位地址;
P2.4~P2.6以及PSEN应为低电平;
P0口为编程数据输入;
P2.7和RST应为高电平;RST的高电平可为2.5V,其余的都以TTL的高低电平为准;
EA/VPP端加+21V的编程脉冲,此电压要求稳定,不能大于21.5V,否则会损坏EPROM
在出现正脉冲期间,ALE/PROG端加上50ms的负脉,完成一次写入。
(2)EPROM程序校验
在程序的保险位未设置前,无论在写入的当时或写入以后,均可将片上程序存贮器的内容读出进行检验,在读出时,除P2.7脚保持为TTL低电平之外,其他引脚与写入EPROM的连接方式相同。
要读出的程序存贮器单元地址由P1口和P2口的P2.0~P2.3送入,P2口的其他引脚及
保持低电平,ALE、EA和RST接高电平,检验的单元内容由P0口送出。
在检验操作时,需在P0的各位外部加上电阻10kΩ。
通过以上对单片机硬件系统的简单介绍,应该已经掌握了单片机的内部结构及工作的原理和过程,但是单片机要实现它的强大控制功能特性,只有硬件是不能工作的,还必须依靠它的指令才能发挥单片机的强大作用。
下面介绍单片机的指令系统。
4.方案设计
4.1系统概述
本系统采用了热释电红外传感器,它的制作简单、成本低,安装比较方便,而且防盗性能比较稳定,抗干扰能力强、灵敏度高、安全可靠。
这种防盗器安装隐蔽,不易被盗贼发现,同时它的信号经过单片机系统处理后方便和PC机通信,便于多用户统一管理和用户操作。
为了探测移动人体,通常使用双元件型热释电红外传感器,在这种传感器内部,两个敏感元件反相连接,当人体静止时两元件极化程度相同,互相抵消。
但人体移动时,两元件极化程度不同,净输出电压不为0,从而达到了探测移动人体的目的。
它们的进程框图如图4-1所示。
图4-1单片机应用系统研制过程框图
4.3系统硬件选择
从以上的分析可知在本设计中要用到如下器件:
AT89C52、热释电红外传感器、LED、按键、蜂鸣器等一些单片机外围应用电路,以及单片机的手工复位电路等等。
所需元器件如下表4.3-1
编号
名称
型号
数量
R5、R6
电阻
10K
2
R1~R4,R7
电阻
1K
5
C1
电容
10uF
1
C2,C3
电容
20pF
2
D1~D4
发光二极管
LED
1绿2红1黄
Q1
三极管
S8550
1
U1
单
片机
AT89C52
1
Y1
石英晶振
12MHZ
1
K1-K4
按键
*
4
K5
电源开关
1
Tantou
热释电传感器
HC-SR501
1
U2
蜂鸣器
1
表4.3-1
4.4硬件电路实现
经分析本设计的电路原理图如下图4-3所示
图4-3基于单片机控制的红外防盗报警器原理图
本主程序实现的功能是:
当单片机检测到外部热释点传感器送来的脉冲信号后,表示有人闯入监控区,从而经过单片机内部程序处理后,驱动声光报警点路开始报警,报警持续10秒钟后自动停止报警,然后程序开始循环工作,检测是否还有下次触发信号,等待报警从而使报警器进入连续工作状态。
同时,利用中断方式可以实现报警持续时间未到10秒时,用手工按键停止的声光报警的作用。
手工按键停止报警中断服务程序工作流程图,如下图4-5所示;
图4-5中断服务程序工作流程图
1.主程序清单如下:
#include
#defineuintunsignedint
#defineucharunsignedchar
sbitspk=P1^2;
sbitled=P1^0;
ucharFRQ=0x00;
sbitstar=P0^7;
/*****延时函数,定时/计数器T1****/
voiddelay(uintt)
{
uinti;
for(i=0;i{
FRQ++;
TH1=(65536-20000)/256;
TL1=(65536-20000)%256;
while(!
TF1);
TF1=0;
}
}
/*****定时器T0中断函数*****/
voidT0_INT()interrupt1
{
TH0=0XFE;
TL0=FRQ;
spk=~spk;
}
/*****外部中断1,检测到传感器信号后进行报警控制*****/
voidEX1_INT()interrupt2
{
P0=0X79;
led=1;
TR0=1;
delay(1500);
TR0=0;
P0=0X00;
led=0;
spk=0;
}
/*****外部中断0.布防/撤防功能*****/
voidEX0_INT()interrupt0
{
EX1=~EX1;
P0=0X00;
led=0;
spk=0;
}
/*****主函数*****/
voidmain()
{
P0=0X00;
led=0;
spk=0;
EA=1;
EX0=1;
EX1=0;
ET0=0;
ET1=1;
IT1=1;
IT0=1;
TMOD=0X11;
TH0=0X00;
TL0=0XFF;
TR0=0;
TR1=1;
while
(1)
{
star=!
star;
delay(10);
}
}
5.结论概述
5.1主要结论
本课题研究设计了一种基于单片机技术的智能防盗报警器。
该防盗报警器通过以AT89C51单片机为工作处理器核心,外接热释电红传感器,它是一种新颖的被动式红外探测器件,能够以非接触方式探测出人体发出的红外辐射,并将其转化为相应的电信号输出,同时能有效的抑制人体辐射波长以外的红外光线与可见光的干扰,平时传感器输出低电平,当有人在探测区范围内移动时输出低电平变为高电平,此高电平输入单片机,作为单片机的外部触发信号处理,经单片机内部软件编程处理后,单片机输出控制信号,驱动声光报警电路开始报警。
该报警器的最大特点就是使用户能够操作简单、易懂、灵活;且安装方便、智能性高、误报率低,同时它的信号经过单片机系统处理后方便和PC机通信,便于多用户统一管理。
随着现代人们安全意识的增强以及科学技术的快速发展,相信报警器必将在更广阔的领域得到更深层次的应用。