单片机红外热释防盗报警器 副本.docx
- 文档编号:26278350
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:37
- 大小:1.18MB
单片机红外热释防盗报警器 副本.docx
《单片机红外热释防盗报警器 副本.docx》由会员分享,可在线阅读,更多相关《单片机红外热释防盗报警器 副本.docx(37页珍藏版)》请在冰豆网上搜索。
单片机红外热释防盗报警器副本
单片机课程设计
题目名称:
红外热释防盗报警器设计
学院:
电气信息工程学院
专业/班级:
电子信息13101班
学生:
电信40413109华文琪
电信40413104胡江
电信40413135王璐
指导教师:
吕杰
摘要
在本文中只要是介绍一种利用热释电红外传感器进行监控,并进行报警的系统的设计。
热释电红外传感器,它的制作简单、成本低、安装比较方便,而且防盗性能比较稳定,抗干扰能力强、灵敏度高、安全可靠。
这种防盗器安装隐蔽,不易被盗贼发现,便于多用户统一管理。
本设计包括硬件和软件设计两个部分。
硬件部分包括单片机控制模块、红外探头模块、驱动执行报警模块、LED控制模块等部分组成。
处理器采用51系列单片机STC89C52,程序使用C语言编写。
关键字:
热释电红外传感器、STC89C52、红外线
目录
1绪论1
1.1目的1
1.2意义1
2硬件电路设计3
2.1硬件框图3
2.2红外感应部分3
2.2.1电源模块3
2.2.2热释电传感器3
2.2.3BISS0001芯片简介4
2.2.4人体热释电原理5
2.2.5红外信号检测原理6
2.2.6信号采集处理模块6
2.3单片机部分7
2.3.1STC89C52单片机简介7
2.3.2单片机最小系统8
2.3.3按键控制电路8
2.3.4指示灯和报警电路9
3软件的设计10
3.1主程序工作流程图10
3.2报警判断程序11
4调试13
4.1Keil编译器软件简介13
4.2使用Keil软件建立一个工程13
4.3使用Debug进行调试17
4.4运行状态18
4.5误差分析18
4.6硬件调试及调试中遇到的问题18
5结束语19
参考文献20
附录1电路图21
附录2电路仿真图22
附录3PCB电路图23
附录4源程序24
1绪论
1.1目的
随着国家经济的发展,生活水平的不断提高,高新技术的快速融入,人们的生活方式发生了巨大的变化,便利的技术使得越来越多的家庭购买着方便、快捷的高科技产品。
高科技方便了我们的生活,但是昂贵的价值却吸引着越来越多的不速之客前来。
为了防止这种事情发生,住宅区通常都会配置保安、摄像头等。
但在一些老旧小区或者农村就没有这些设施,于是,许多家庭都安装了报警系统,这有效的保护了大家的财产安全。
在本文中,介绍一种利用热释电红外传感器进行监控,并进行报警的系统的设计。
1.2意义
红外防盗报警器的发展主要是基于传感器之上,所以有必要先谈谈红外传感器的发展状况而传感器技术是21世纪人们在高新技术发展方面争夺的一个制高点,各发达国家都将传感器技术视为现代高新技术发展的关键。
从20世纪80年代起,日本就将传感器技术列为优先发展的高新科技之首,美国等西方国家也将此技术列为国家科技和国防技术发展的重点。
从而基于传感器技术的防盗报警系统也得到了高速发展。
进入21世纪随着科技的提高,电子电器飞速发展,人民生活水平有了很大提高。
各种高档家电和贵重物品为许多家庭所拥有。
然而一些不法分子也越来越多。
这点就是因为不法分子看到了大部分人防盗意识不够强所造成的结果,所以他们越来越猖獗,因此越来越多的居民家庭对财产安全问题十分担忧。
报警系统这时为人们解决了大部分问题。
但是市场上的报警系统大部分是适用于一些大公司的重要机构。
其价格昂贵,使普通家庭难以承受。
如果设计一种价格低廉,性能可靠、智能化的报警系统,必将在私人财产的防盗领域起到巨大作用。
所以为了私人财产的安全、为了越来越多的人们能够防止不法分子的来临,我们利用红外线传感器设计了这个防盗报警器。
由于红外线是不可见光,隐蔽性能良好,因此在防盗、警戒等安保装置中被广泛应用。
此次课题我希望通过传感器模块和单片机来实现红外报警。
本设计的电路包括硬件和软件两个部分。
硬件部分包括红外感应部分与单片机控制部分,整个系统电路可划分为:
电源部分、传感器模块部分、单片机控制电路,而单片机控制由最小系统和指示灯电路、报警电路等子模块组成。
主要工作由热释电红外感应器完成信息采集、处理、数据传送经过单片机功能设定到达报警模块这一过程。
就此设计的核心模块来说,单片机就是设计的中心单元。
单片机应用系统也是由硬件和软件组成。
硬件包括单片机、输入/输出设备、以及外围应用电路等组成的系统,软件是主要是工作的程序通过编写程序来控制输入的信号。
2硬件电路设计
2.1硬件框图
本设计包括硬件和软件设计两个部分。
从设计的要求来分析该设计须包含如下结构:
红外感应部分、STC89C52单片机、报警系统三大部分。
电路总原理图如图2.1所示:
图2.1硬件框图
处理器采用51系列单片机STC89C52。
整个系统是在系统软件控制下工作的。
设置在监测点上的红外探头将人体辐射的红外光谱变换成电信号,送出TTL电平至STC89C52单片机。
在单片机内,经软件查询、识别判决等环节实时发出入侵报警状态控制信号。
驱动蜂鸣器及报警指示灯报警。
2.2红外感应部分
2.2.1电源模块
本系统电压为4.5v左右,直接接3个1.5V的直流干电池提供电源,然后用导线连接电源接口模块。
2.2.2热释电传感器
热释电红外传感器(简称PIR)能以非接触形式检测出人体辐射的红外线能量的变化,并将其转换成电压信号输出。
将这个电压信号加以放大,便可驱动各种控制电路,人体辐射的红外线中心波长为9~10--um,而探测元件的波长灵敏度在0.2~20--um范围内几乎稳定不变。
在传感器顶端开设了一个装有滤光镜片的窗口,这个滤光片可通过光的波长范围为7~10--um,正好适合于人体红外辐射的探测,而对其它波长的红外线由滤光片予以吸收,这样便形成了一种专门用作探测人体辐射的红外线传感器,本传感器是整个系统的关键,只有本传感器才能感应到人体红外线。
如图2.2所示。
图2.2热释感应传感器
2.2.3BISS0001芯片简介
BISS0001是一款传感信号处理集成电路,只要热释感应器把红外线接收到信号传输到BISS0001里进行信号处理,它本身静态电流极小,工作电压在3V—5V之间,当工作电压为5V时输出的驱动电流为10MA。
配以热释电红外传感器和少量外围元器件即可构成被动式热释电红外传感器,广泛用于安防,自控等一些领域,它是有16个管脚组成的一种集成块。
如图3-4所示为BISS000集成芯片的内部框图,管脚功能说明如表1所示。
引脚
名称
I/O
功能说明
1
A
I
可重复触发和不可重复触发选择端。
当A为“1”时,允许重复触发;反之,不可重复触发
2
VO
O
控制信号输出端。
由VS的上跳前沿触发,使Vo输出从低电平跳变到高电平时视为有效触发。
在输出延迟时间Tx之外和无VS的上跳变时,Vo保持低电平状态。
3
RR1
--
输出延迟时间Tx的调节端
4
RC1
--
输出延迟时间Tx的调节端
5
RC2
--
触发封锁时间Ti的调节端
6
RR2
--
触发封锁时间Ti的调节端
7
VSS
--
工作电源负端,一般接0V
8
VRF
I
参考电压及复位输入端。
通常接VCC,当接“0”时可使定时器复位
9
VC
I
触发禁止端。
当Vc>VR时允许触发(VR≈0.2VDD)
10
IB
--
运算放大器偏置电流设置端,经RB接VSS端,RB取值为1M左右。
11
VCC
--
工作电源正端,范围为3~5V
12
2OUT
O
第二级运算放大器的输出端
13
2IN-
I
第二级运算放大器的反相输入端
14
1IN+
I
第一级运算放大器的同相输入端
15
1IN-
I
第一级运算放大器的反相输入端
16
1OUT
O
第一级运算放大器的输出端
表1:
管脚说明图
由图可见BISS0001由运算放大器、电压比较器和状态控制器、延迟时间定时器、封锁时间定时器即参考电压等构成的数模混合专用集成电路。
可广泛应用于多种传感器和延时控制器。
首先,根据实际需要,利用运算放大器OP1组成传感信号预处理电路,将信号放大。
然后耦合给运算放大器OP2,再进行第二级放大,同时将直流电位抬高为VM(≈0.5VDD)后,将输出信号V2送到由比较器COP1和COP2组成的双向鉴幅器,检出有效触发信号Vs。
由于VH≈0.7VDD、VL≈0.3VDD,所以,当VDD=5V时,可有效抑制±1V的噪声干扰,提高系统的可靠性。
COP3是一个条件比较器。
当输入电压Vc>VR时,COP3输出为高电平,进入延时周期。
当A端接“0”电平时,在Tx时间内任何V2的变化都被忽略,直至Tx时间结束,即所谓不可重复触发工作方式。
当Tx时间结束时,Vo下跳回低电平,同时启动封锁时间定时器而进入封锁周期Ti。
在Ti时间内,任何V2的变化都不能使Vo跳变为有效状态(高电平),可有效抑制负载切换过程中产生的各种干扰。
而可重复触发工作方式下的波形在Vc=“0”、A=“0”期间,信号Vs不能触发Vo为有效状态。
在Vc=“1”、A=“1”时,Vs可重复触发Vo为有效状态,并可促使Vo在Tx周期内一直保持有效状态。
在Tx时间内,只要Vs发生上跳变,则Vo将从Vs上跳变时刻起继续延长一个Tx周期;若Vs保持为“1”状态,则Vo一直保持有效状态;若Vs保持为“0”状态,则在Tx周期结束后Vo恢复为无效状态,并且,同样在封锁时间Ti时间内,任何Vs的变化都不能触发Vo为有效状态。
2.2.4人体热释电原理
在自然界中人体的温度会维持在37摄氏度,这个温度的人体会释放出10um特定波长的红外线,而本设计中用到的被动式红外检测传感器正是利用了这一点,靠检测人体释放出的10um特定波长红外线来工作的。
在基尔霍夫定律中指出,在一定的温度下,在到达热平衡时,任何物体此时的辐射量和吸收量成正比例,这便是说实时的发射率与吸收率是相等的。
发射率是一个物体发射热辐射的能力。
现在所说的热辐射本领都与黑体的热辐射本领相比较而得知的,这里提到的黑体是辐射本领最大的,与黑体辐射的比例系数就是发射率,黑体的发射率都等于1,所以任何物体的辐射率总是小于1,一般人的辐射能量与310K绝对温度下的黑体的辐射能力相似。
某个人的辐射率是0.99这个数字表示这个人辐射能力很高,很接近黑体。
2.2.5红外信号检测原理
从原理上来讲,传感器外的任何发热物体都是会产生红外线,本设计中的热释电人体红外传感器就是这样,对于自身之外的温度变化都会体现在自身敏感单元上,并且很灵活。
外部温度的变化体现在敏感单元,敏感单元将这种温度的变化转换为电信号。
周围环境与传感器自身的温度变化都是有自身内在构成的部分决定了它不产生电信号,所以没有向外输出信号,对于低频效应传感器,它的频率通常是在0.1~10Hz这个区间,对5~15um这个区间波长的红外线的响应决定了,传感器只对外界的温度变化而敏感,这种变化就是人体移动所导致的敏感的。
可以说,传感器只对人体的运动才敏感,而对静止和移动很慢的人体没有反应。
2.2.6信号采集处理模块
本电路是将人体辐射的红外线转变为电信号。
热释红外感应2脚输入到前置放大器OP1进行放大,然后由C4耦合给运算放大器OP2进行第二级放大。
再经过电压比较器COP1和COP2构成双向鉴幅器处理后,检出有效触发信号去启动延时时间定时器输出信号在经过R3进入单片机部分进行处理。
延时周期可通过R12来调节输出,在延时时间内只要Vs发生上跳变,Vo就会从Vs上跳变时刻起继续延长一个周期,而电路中的电容为了能够更好的控制了芯片内的定时器,若Vs一直保持为高电平,这样就可以通过P13传输到单片机内进行下一步处理。
而根据不同的距离要求来调节R13,最大可以调节到7米左右。
图中BISS0001中1脚用跳线连连接住一个接高电平后,在延时时间段内如果有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才将高电平变为低电平,本电路设计就是可触发方式。
图2.3信号处理模块
图2.4实物图
2.3单片机部分
2.3.1STC89C52单片机简介
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
STC89C52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
这一模块以单片机为中心把程序代码烧进去然后外围接上复位电路、振荡电路、键盘控制、LED显示电路、报警电路等子模块。
2.3.2单片机最小系统
要使单片机工作起来最基本的电路构成为单片机最小系统如图2.5所示。
单片机最小系统包括单片机、复位电路、时钟电路构成。
STC89C52单片机的工作电压范围:
4V-5.5V,所以通常给单片机外界5V直流电源。
连接方式为单片机中的40脚VCC接正极5V,而20脚VSS接电源地端。
复位电路就是确定单片机的工作起始状态,完成单片机的启动过程。
单片机接通电源时产生复位信号,完成单片机启动确定单片机起始工作状态。
当单片机系统在运行中,受到外界环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。
一般有上电自动复位和外部按键手动复位,单片机在时钟电路工作以后,在RESET端持续给出2个机器周期的高电平时就可以完成复位操作。
本设计采用的是外部手动按键复位电路,需要接上上拉电阻来提高输出高电平的值。
时钟电路好比单片机的心脏,它控制着单片机的工作节奏。
时钟电路就是振荡电路,是向单片机提供一个正弦波信号作为基准,决定单片机的执行速度。
XTAL1和XTAL2分别为反向放大器的输入和输出,该反向放大器可以配置为片内振荡器。
如采用外部时钟源驱动器件,XTAL2应不接。
因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频率为12MHZ,一个振荡周期为1/12us。
图2.5单片机最小系统
2.3.3按键控制电路
本电路的设计就是为了控制电路中布防和紧急状态下不同的工作形式,当按下布防按键后,30秒后进入监控状态,当有人靠近时,热释红外感应到信号,传回给单片机,单片机马上进行报警。
当遇到特殊紧急情况时,可按下紧急报警键,蜂鸣器进行报警。
如图2.6所示。
图2.6按键部分
2.3.4指示灯和报警电路
在单片机的I/O里会输出高低电平,在P20、P21和P22分别接上LED指示灯而P23接上蜂鸣器而蜂鸣器外接个8550的三极管起到开关作用,当三极管达到饱和状态下就驱动了蜂鸣器工作了。
图2.7指示灯和报警电路
3软件的设计
3.1主程序工作流程图
按上述工作原理和硬件结构分析可知系统主程序工作流程图如下图3.1所示:
图3.1主程序工作流程图
本主程序实现的功能是:
当布防按键按下后,等待10秒,倒计时结束后,进入布防状态,经过单片机检测到外部热释点传感器送来的脉冲信号后,表示有人闯入监控区,从而经过单片机内部程序处理后,驱动声光报警电路开始报警,报警一直持续当你按下取消键才能停止报警,当然当发现有人进入布防区也可以直接按下报警键进行手动报警。
然后程序开始循环工作,检测是否还有下次触发信号,等待报警从而使报警器进入连续工作状态。
同时,利用中断方式可以实现报警持续时间未到10秒时,用手工按键停止的声光报警的作用。
3.2报警判断程序
来的脉冲信号后,表示有人闯入监控区,从而经过单片机内部程序处理后,驱动声光报警电路开始报警,持续报警,然后程序开始循环工作,
/******************红外报警处理**********************/
voidGetKey()_task_1
{
unsignedchari;
while
(1)
{
LED_Yellow=~Infrared;
if(Key_Warning_Scan())
{
state=3;
}
if(Key_normal_Scan())
{
if(state!
=0)
{
if(state==3)
{
for(i=0;Message_2[i]!
='\0';i++)
putchar(Message_2[i]);
}
if(state==1||state==2)
{
for(i=0;Message_1[i]!
='\0';i++)
putchar(Message_1[i]);
}
state=0;
}
}
if(Key_Set_Scan())
{
if(state==0)
{
state=1;
for(i=0;Message_3[i]!
='\0';i++)
putchar(Message_3[i]);
}
}
}
}
4调试
4.1Keil编译器软件简介
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻。
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
下面详细介绍KeilC51开发系统各部分功能和使用。
图4.1C51工具包整体结构图
KeilC51单片机软件开发系统的整体结构C51工具包的整体结构,如图3.1所示,其中uVision与Ishell分别是C51forWindows和forDOS的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。
开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。
然后分别由C51及A51编译器编译生成目标文件(.OBJ)。
目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。
ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。
4.2使用Keil软件建立一个工程
Keil是目前进行51单片机开发最常用的编译软件。
关于Keil的使用,有很多的资料介绍,这里只介绍其整个编译过程,在最短时间内开始使用Easy51DP-2开发板。
对于Keil更详细的介绍,可以参考一些专门书籍资料。
在Keil里,每一个完整的程序,都是以一个工程的形式建立的。
一个工程里可以有一个或多个*.c文件和*.h文件,但只可以有一个main()函数。
一般的做法是将包含main()函数的C文件加入到工程中,其他文件以#include头文件的形式加到这个C文件里。
这样,在编译的时候,其他的文件会被自动的导入到工程里来。
打开Keil软件后,出现(图4.2)所示界面。
当然,如果Keil在上次关闭时有打开的工程,再一次打开时它会自动加载上一次的工程文件。
图4.2Keil软件主界面
首先点击Project->NewProject…(Project->OpenProject…为打开一个已经存在的工程),如图4-3所示。
图4.3Keil软件打开新工程界面
点开后,在出现的对话框中选择工程存在路径,单击“保存”后,出现(如图4.4所示)界面。
在此界面上选择电路板上所用的单片机型号:
AtmelSTC89C52(或者是AT89S52,视开发板上具体型号而定),单击“确定”。
图4.4选择电路板上所用的单片机型号
设置完成后,软件会提示“是否将8051上电初始化程序添加入工程?
”如图4.5所示,这个一般选择“否”。
(关于STARTUP.A51的相关内容可查阅相应资料)
图4.5是否将8051上电初始化程序添加入工程
这样,就建立了一个空的51工程。
接下来的事,就是在这个工程里面加入自己的程序代码。
点击
,或者File->New,便建立了一个空的文本框。
现在,就可以开始在里面输入你的代码了。
保存时注意:
如果是用C语言写的程序,则将文本保存成*.c,如果是用汇编写的程序,则将文本存成*.asm。
到目前为步,我们已经建立了一个工程,也写了一个程序代码。
但现在还不能开始编译。
因为还没有将程序代码添加到工程里面去。
下一步就是将写完的程序添加到工程里面,如图4.6所示,在左边ProjectWorkspace里的SourceGroup1上右击,选择AddFilestoGroup’SourceGroup1’。
在打开的对话框中,选择刚存的文件路径和对应的扩展名。
这样,程序就添加进了这个工程。
图4.6添加文件到工程中
下一步,就开始编译刚输入进去的代码。
点击工具栏中的
按钮。
接着,Keil会打出下面的提示:
Buildtarget'Target1'
assemblingled.asm...
linking...
ProgramSize:
data=8.0xdata=0code=100
"first"-0Error(s),0Warning(s).
其中“"first"-0Error(s),0Warning(s).”说明现在的工程编译通过,0个错误和0个警告。
建立工程的时候,默认是不生成HEX文件的,得在编译做如下设置:
单击
,或者在ProjectWorkspace里Target1上右击,选择“OptionsforTarget‘Target1’”。
出现如图4-7所示对话框,选择“Output”按图示,将箭头所指的多选框勾上,点“确定”。
现在再点击
重新编译,系统提示:
“creatinghexfilefrom"first"...”。
便会在工程所在文件夹里生成HEX文件。
图4.7生成HEX文件
4.3使用Debug进行调试
Keil有很强大的调试功能,可以显示C程序的反汇编代码、可以计算代码运行的时间、可以显示程序中某一变量的值……能用好这个调试工具对编写单片机程序会有很大的帮助。
同样的,在这里,只对Debug进行简单应用介绍,更详细的使用方法可以参看相关书籍资料。
图4.8调试前设置窗口
首先,单击
,弹出如图4.8所示对话框,在Target页面上
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机红外热释防盗报警器 副本 单片机 红外 防盗 报警器
![提示](https://static.bdocx.com/images/bang_tan.gif)