完整版红外线防盗报警系统课程设计.docx
《完整版红外线防盗报警系统课程设计.docx》由会员分享,可在线阅读,更多相关《完整版红外线防盗报警系统课程设计.docx(26页珍藏版)》请在冰豆网上搜索。
完整版红外线防盗报警系统课程设计
《光电检测技术》
题目:
家居防盗报警器设计
专业:
测控技术与仪器
班级:
姓名:
学号:
指导老师:
日期:
摘要
人们生活水平不断提高,对私有财产的保护意识在不断的增强,因而对防盗措施提出了新的要求。
本设计就是为了满足预防抢劫、盗窃等意外事件的需要而设计的红外防盗报警系统。
本设计主要包括硬件和软件设计两个部分。
硬件部分包括单片机控制电路、红外探头电路、驱动执行报警电路、LED控制电路等部分组成。
处理器采用单片机STC89C51。
整个系统是在系统软件控制下工作的。
软件部分可以划分为以下几个模块:
数据采集、键盘控制、报警和显示等子函数。
[关键词]:
单片机、红外传感器、数据采集、报警电路。
1、设计任务与要求
(1)该设计主要包括硬件和软件设计两个部分。
模块划分为数据采集、键盘控制、报警和显示等模块子函数。
(2)本红外线防盗报警系统由热释电红外传感器、智能报警器、单片机控制电路、LED控制电路及相关的控制管理软件组成。
用户终端完成信息采集、处理、数据传送、功能设定、本地显示、本地报警等功能。
终端由中央处理器、输入模块、输出模块、通信模块、功能设定模块等部分组成。
(3)系统可实现功能。
为了探测移动人体,通常使用双元件型热释电红外传感器,在这种传感器内部,两个敏感元件反相连接,当人体静止时两元件极化程度相同,互相抵消。
但人体移动时,两元件极化程度不同,净输出电压不为0,从而达到了探测移动人体的目的。
因此可把报警系统设置在外出布防状态,使探测器工作。
当有人闯入时,热释电红外传感器将探测到动作,设置在监测点上的红外探头将人体辐射的红外光谱变换成电信号,经放大电路、比较电路送至门限开关,打开门限阀门送出TTL电平至单片机,经单片机处理运算后驱动执行报警电路使警号发声。
2、热释电红外传感器
2.1、热释电红外线传感器简介
热释电红外线传感器是80年代发展起来的一种新型高灵敏度探测元件,它能以非接触形式检测出人体辐射的红外线能量的变化,并将其转化成电压信号输出。
热释电红外线传感器应用电路如下:
为了探测移动人体,通常使用双元件型热释电红外传感器,在这种传感器内部,两个敏感元件反相连接,当人体静止时两元件极化程度相同,互相抵消。
但人体移动时,两元件极化程度不同,净输出电压不为0,从而达到了探测移动人体的
目的。
2.2、HC-SR501红外线技术
本次设计采用的是HC-SR501红外线技术的自动控制模块。
其特点是探头设计,灵敏度高,可靠性强,超低电压工作模式,广泛应用于各类自动感,实物图片如图2-1。
图2-1
2.3、功能特点
1.全自动感应:
人进入其感应范围则输出高电平,人离开感应范围则自动延时关闭高电平,输出低电平。
2.光敏控制(可选择,出厂时未设)可设置光敏控制,白天或光线强时不感应。
3.温度补偿(可选择,出厂时未设):
在夏天当环境温度升高至30~32℃,探测距离稍变短,温度补偿可作一定的性能补偿。
4.两种触发方式:
(可跳线选择)
1)不可重复触发方式:
即感应输出高电平后,延时时间段一结束,输出将自动从高电平变成低电平;
2)可重复触发方式:
即感应输出高电平后,在延时时间段内,如果有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。
5.具有感应封锁时间(默认设置:
2.5S封锁时间):
感应模块在每一次感应输出后(高电平变成低电平),可以紧跟着设置一个封锁时间段,在此时间段内感应器不接受任何感应信号。
此功能可以实现“感应输出时间”和“封锁时间”两者的间隔工作,可应用于间隔探测产品;同时此功能可有效抑制负载切换过程中产生的各种干扰。
(此时间可设置在零点几秒—几十秒钟)。
6.工作电压范围宽:
默认工作电压DC4.5V-20V。
7.微功耗:
静态电流<50微安,特别适合干电池供电的自动控制产品。
8.输出高电平信号:
可方便与各类电路实现对接。
2.4、热释电红外线传感器电路图
图2-2
3、STC89C51RC单片机
STC89C51RC/RD+系列单片机是兼容8051内核的单片机,是高速/低功耗的新一代8051单片机,12时钟/机器周期和6时钟/机器周期可反复设置,最新的D版本内部集成MAX810专用复位电路。
3.1、主要特性
1.增强型1T流水线/精简指令集结构8051CPU
2.工作电压:
3.4V-5.5V(5V单片机)/2.0V-3.8V(3V单片机)
3.工作频率范围:
0-35MHz,相当于普通8051的0~420MHz.实际工作频率可达48MHz.
4.用户应用程序空间12K/10K/8K/6K/4K/2K字节
5.片上集成512字节RAM
6.通用I/O口(27/23个),复位后为:
准双向口/弱上拉(普通8051传统I/O口)可设置成四种模式:
准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏每个I/O口驱动能力均可达到20mA,但整个芯片最大不得超过55mA
7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片
8.EEPROM功能
9.看门狗
10.内部集成MAX810专用复位电路(外部晶体20M以下时,可省外部复位电路)
11.时钟源:
外部高精度晶体/时钟,内部R/C振荡器。
用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟。
常温下内部R/C振荡器频率为:
5.2MHz~6.8MHz。
精度要求不高时,可选择使用内部时钟,因为有温漂,请选4MHz~8MHz
12.有2个16位定时器/计数器
13.外部中断2路,下降沿中断或低电平触发中断,PowerDown模式可由外部中断低电平触发中断方式唤醒
14.PWM(4路)/PCA(可编程计数器阵列),也可用来再实现4个定时器或4个外部中断(上升沿中断/下降沿中断均可支持)
15.STC89Cc516AD具有ADC功能。
10位精度ADC,共8路
16.通用异步串行口(UART)
17.SPI同步通信口,主模式/从模式
18.工作温度范围:
0-75℃/-40-+85℃
19.封装:
PDIP-28,SOP-28,PDIP-20,SOP-20,PLCC-32,TSSOP-20(超小封状,定货)
3.2、STC89C51引脚说明
图3-1STC89C51引脚
1.VCC:
电源电压
2.GND:
地
3.P0口:
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复位,在访问期间激活内部上拉电阻。
4.P1口:
P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTE逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(ILL)。
与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。
Flash编程和程序校验期间,P1接收低8位地址。
表3-2P1.0和P1.1的第二功能
引脚号
功能特性
P1.0
T2(定时/计数器2外部计数脉冲输入),时钟输出
P1.1
T2EX(定时/计数2捕获/重装载触发和方向控制)
表3-2
5.P2口:
P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(ILL)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。
6.P3口:
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
此时,被外部拉低的P3口将用上拉电阻输出电流(ILL)。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表3-3所示。
7.RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
表3-3P3口的第二功能
端口引脚
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
(外中断0)
P3.3
(外中断1)
P3.4
T0(定时/计数0)
P3.5
T1(定时/计数1)
P3.6
(外部数据存储器写选通)
P3.7
(外部数据存储器读选通)
表3-3
8.
/VPP:
外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH)。
端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存
端状态。
如
端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。
Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VCC。
9.XTAL1:
振荡器反相放大器的及内部时钟发生器的输入端。
10.XTAL2:
振荡器反相放大器的输出端。
11.数据存储器:
89C51有256个字节的内部RAM,80H-FFH高128个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128。
字节的RAM和特殊功能寄存器的地址是相同的,但在物理上它们是分开的。
当一条指令访问7FH以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128字节。
RAM还是访问特殊功能寄存器。
如果指令是直接寻址方式则为访问特殊功能寄存器。
12.中断:
89C51共有6个中断向量:
两个外中断(INT0和INT1),3个定时器中断(定时器0,1,2)和串行口中断。
13.时钟振荡器:
89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图3-4(a)所示。
外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路,对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF士10pF,而如果使用陶瓷谐振器,建议选择40pF士l0pF。
用户也可以采用外部时钟。
采用外部时钟的电路如图3-4(b)所示。
这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。
(a)内部振荡电路(b)外部振荡电路
图3-4振荡电路
由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。
4、方案设计
4.1、系统概述
本系统采用了热释电红外传感器,它的制作简单、成本低,安装比较方便,而且防盗性能比较稳定,抗干扰能力强、灵敏度高、安全可靠。
这种防盗器安装隐蔽,不易被盗贼发现,同时它的信号经过单片机系统处理后方便和PC机通信,便于多用户统一管理和用户操作。
为了探测移动人体,通常使用双元件型热释电红外传感器,在这种传感器内部,两个敏感元件反相连接,当人体静止时两元件极化程度相同,互相抵消。
但人体移动时,两元件极化程度不同,净输出电压不为0,从而达到了探测移动人体的目的。
它们的进程框图如图4-1所示。
图4-1单片机应用系统研制过程框图
4.2、总体设计
家居防盗报警器主要是由人体感应模块、中央控制单元、数字显示单元、按键电路、报警电路和电源电路等部分组成。
系统的组成结构如下:
图4-2系统的组成结构
1、主机有三个控制按键,一个按键布防,一个按键是遇到紧急情况紧急报警(或是测试键),一个是撤防。
另一个为单片机的上电复位按键。
2、按下布防按键后,30秒后进入监控状态(此时有人靠近不报警),当有人靠近时,热释红外感应到信号,传回给单片机,单片机马上进行报警。
按下撤防按键解除布防。
3、当遇到特殊紧急情况时,可按下紧急报警键(测试键),蜂鸣器进行报警。
(前提是在布放状态下)
4、布防时数码管显示“b”,撤防时数码管显示“c”,测试时或报警时数码管显示“-”
4.3、系统硬件选择
从以上的分析可知在本设计中要用到如下器件:
STC89C51、热释电红外传感器、LED、按键、蜂鸣器等一些单片机外围应用电路,以及单片机的手工复位电路等等。
所需元器件如下表4-3
编号
名称
型号
数量
R1、R3、R5
电阻
2.2K
3
R2、R4
电阻
10K
2
C1
有极电容
10uF
1
C2,C3
电容
30pF
2
D1
发光二极管
LED
1
Q1
三极管
9013
1
Q2
三极管
9012
1
U1
单片机
STC89C51
1
Y1
石英晶振
12MHZ
1
K1-K4
按键
*
4
SZ
电源开关
1
Tantou
热释电传感器
HC-SR501
1
U2
蜂鸣器
1
DS1
共阴数码管
DISPLAY
1
表4-3
4.4、硬件电路实现
本设计的电路原理图如下图4-4所示
图4-4红外防盗报警器原理图
本主程序实现的功能是:
当单片机检测到外部热释点传感器送来的脉冲信号后,表示有人闯入监控区,从而经过单片机内部程序处理后,驱动声光报警点路开始报警。
4.5、软件的程序实现
按上述工作原理和硬件结构分析可知系统主程序工作流程图如下图5-4所示;
图4-5主程序工作流程图
4.6、仿真调试
实验连接电路如图4-6所示:
图4-6
图4-7布防状态
图4-8测试状态
图4-9撤防状态
4.7、防盗报警器实物图
图4-10
图4-11
4.8、防盗报警器测试
图4-12布防状态
图4-13测试状态
图4-13撤防状态
5、附录
主程序清单如下:
#include
#defineucunsignedchar
#defineuiunsignedint
sbitSOS=P1^0;//布防
sbitbufang=P1^1;//报警按键
sbitchefang=P1^2;//撤防
sbitbaojing=P1^3;//蜂鸣器
bitbdataflag,flag1;//flag布防标志,flag1布防倒计时标志
uct,t1;//定时器专用变量
voiddelay(uix)//延时函数1ms
{
uii,j;
for(i=0;ifor(j=0;j<110;j++);
}
voidkongzhi()//控制函数
{
if((bufang==1)&&(flag==0))//在报警等待时按下布防键
{
delay(10);
if((bufang==1)&&(flag==0))
{
t=0;
t1=0;//清零计时器
TR0=1;//打开计时器
P2=0x85;//显示字母b
}
}
if((flag==1)&&(SOS==1))//报警按键按下
{
flag1=1;//蜂鸣器鸣响
P2=0xbf;//显示"-"
TR0=1;//开启定时器
}
if(chefang==1)//撤防键按下
{
delay(10);
if(chefang==1)
{
{
flag1=0;
baojing=1;//关闭蜂鸣器
flag=0;//停止计时器计时
TR0=0;//关闭计时器
P2=0xa7;//显示字母c
delay(1000);//延时1s
P2=0xff;//关闭显示,进入等待布防状态
}
}
}
}
voidinit()//初始化函数
{
TH0=0x4b;
TL0=0xff;
TMOD=0x01;
EA=1;
ET0=1;
TR0=0;//定时器初始化
bufang=0;
SOS=0;
chefang=0;//按键初始化
}
voidmain()//主函数
{
init();//调用初始化
while
(1)//循环
{
kongzhi();//控制函数
}
}
voidtime()interrupt1//定时器函数
{
TH0=0x4b;
TL0=0xff;//重新赋初值
t++;
if(t==20)
{
t=0;
t1++;
if(t1==30)//计时到30s时开启布防数码管停止显示关闭定时器
{
t1=0;
flag=1;
P2=0xff;
TR0=0;
}
}
if((t>=10)&&(flag1==1))//报警
{
baojing=~baojing;
t=0;
}
}
6、结论概述
在本次课程设计中我主要负责硬件方面,最后设计效果还是比较理想。
通过本次课程设计,让我熟悉了设计电路的过程,懂得了如何设计焊接调试组装一个完整的电路。
使我对光电知识的实际应用有了更深刻的理解和体会,不仅提高了我的动手能力,更使我了解光电知识应用的广泛性和前景。
设计的成功,极大的提高了的我的自信心,促进了我对光电的学习兴趣,使我明白了理论联系实际的重要性。
总之,这次设计,使我认识到了自己知识的局限性,培养了我的动手能力,对我今后的学习起到了极大的促进作用。