人体红外感应报警器毕业设计Word格式.docx
《人体红外感应报警器毕业设计Word格式.docx》由会员分享,可在线阅读,更多相关《人体红外感应报警器毕业设计Word格式.docx(22页珍藏版)》请在冰豆网上搜索。
(4)红外线具有隐蔽性,在露天防护的地方设计一束红外线可以方便地检测到是否有人出入。
此类装置设计的要点:
其一是能有效判断是否有人员进入;
其二是尽可能大地增加防护范围。
当然,系统工作的稳定性和可靠性也是追求的重要指标,至于报警可采用声光信号来具体实现。
1.3项目意义
该项目将所学的理论与实践相结合,准确把握单片机最小系统的设计以及软件的编写调试的过程,利用红外线传感器(InfraredSensor)实现报警功能,该系统设计简单,实用性强,便于操作和使用。
通过本课题的研究和学习掌握了一下技术:
1.C51单片机最小系统的设计;
2.红外线传感器的通信原理;
3.系统软件程序的设计。
第二章设计相关模块简介
2.1AT89C52单片机简述
2.1.1AT89C52单片机的结构
AT89C52单片机是美国Atmel公司生产低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的只读程序存储器(EPROM)和128bytes的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存取技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。
AT89C52单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。
图1为AT89C52单片机的基本组成功能方块图。
由图可见,在这一块芯片上,集成了一台微型计算机的主要组成部分,其中包括CPU、存储器、可编程I/O口、定时器/计数器、串行口等,各部分通过内部总线相连。
下面介绍几个主要部分。
图1AT89C52功能方块图
2.1.2AT89C52管脚说明
ATMEL公司的AT89C52是一种高效微控制器。
采用40引脚双列直插封装形式。
AT89C52单片机是高性能单片机,因为受引脚数目的限制,所以有不少引脚具有第二功能。
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,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口将输出电流。
P3口也可作为AT89C52的一些特殊功能口,如下表所示:
P3口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2INT0(外部中断0)
P3.3INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6
(外部数据存储器写选通)
P3.7
(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/
:
当访问外部存储器时,地址锁存允许端的输出电平用于锁存地址的地址字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
PSEN:
外部程序存储器的选通信号端。
在由外部程序存储器取指期间,每个机器周期两次PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/VP:
当
保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,
将内部锁定为RESET;
端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
反向振荡器的输出,如采用外部时钟源驱动器件,应不接。
外部引脚如图2所示
图2AT89C52外部引脚(直插式)
2.2红外线传感器简单介绍
2.2.1红外线传感器内部电路框图
红外线传感器是近几年发展起来的一种新型高灵敏度探测元件。
是一种能检测是否有障碍(例如人体)阻碍传感器发射的红外线而输出电信号的传感器,它能组成防入侵报警器或各种自动化节能装置。
它能以非接触形式检测出红外线的变化,并将其转换成电压信号输出。
当然可以将这个电压信号加以放大,便可驱动各种控制电路。
如图3示为红外线发射接收对管如下所示图3。
图3红外线传感器发收对管图
其中图3中的图①是红外线发射管,只有两个引脚即VCC和GND,它发出的红外线是不可见光。
图3中的图②是两种红外接收管,均是三个引脚,即VCC、GND和OUT,只是顺序有些不同。
接收电路的红外接收管是一种光敏二极管,使用时要给红外接收二极管加反向偏压,它才可以正常工作而获得高的灵敏度。
2.2.2红外线传感器的工作原理特性
首先红外发射二极管一直向外发射红外线,当有人经过时阻碍了红外线的发射,这个时候就会有一部分红外线反射回来(人体会吸收一小部分)。
红外接收二极管就会接到。
经过模块电路的处理就会转化为电平信号输出,从而与单片机实现通信。
由于红外发光二极管的发射功率较小,所以接收端就要增加高增益放大电路。
一般红外线传感器是集红外发射,红外接收,放大电路为一体的集成模块。
2.2.3本设计中采用的红外传感模块简介(图4)
图4红外传感模块
模块引脚从左到右依次为VCC、GND、OUT和EN。
OUT用于和单片机IO口相连接,进行数字信号的通信。
EN是使能引脚,低电平有效。
上面两个二极管分别为发射和接收二极管。
一般接收二极管为深色颜色,例如黑色。
目的是提高接收的灵敏度。
2.3发声模块介绍
2.3.1蜂鸣器介绍
本设计发声模块是采用的普通的蜂鸣器,蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。
蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。
2.3.2蜂鸣器驱动电路
在单片机应用的设计上,很多方案都会用到蜂鸣器,大部分都是使用蜂鸣器来做提示或报警,比如按键按下、开始工作、工作结束或是故障等等。
这里对单片机在蜂鸣器驱动上的应用作一下描述。
由于蜂鸣器的工作电流一般比较大,以致于单片机的I/O口是无法直接驱动的,所以要利用放大电路来驱动,一般使用三极管来放大电流就可以了。
2.4MAX232简介
MAX232芯片是美信(MAXIM)公司专门RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。
MAX220–MAX249系列线驱动器/接收器,专为EIA/TIA-232E以及V.28/V.24通信接口设计,尤其是无法提供±
12V电源的应用。
管脚如下所示图5。
图5MAX232引脚图
第三章方案设计
3.1总体设计思路
模块划分为数据采集、键盘控制、报警等子模块。
电路结构可划分为:
红外线传感器、报警器、单片机控制电路、LED控制电路、程序烧录及相关的控制管理软件组成。
用户终端完成信息采集、处理、数据传送、程序下载、本地报警等功能。
就此设计的核心模块来说,单片机就是设计的中心单元,所以此系统也是单片机应用系统的一种应用。
单片机应用系统也是有硬件和软件组成。
硬件包括单片机、输入/输出设备、以及外围应用电路等组成的系统,软件是各种工作程序的总称。
单片机应用系统的研制过程包括总体设计、硬件设计、软件设计等几个阶段。
从设计的要求来分析该设计须包含如下结构:
红外传感器探头电路、报警电路、单片机、复位电路及相关的控制管理软件组成;
它们之间的构成框图如图6总体设计框图所示:
图6总体设计框图
处理器采用51系列单片机AT89C52。
整个系统是在系统软件控制下工作的。
设置在监测点上的红外探头将收到人体反射回来的红外光谱变换成电信号,经放大电路、比较电路送至门限开关,打开门限阀门送出TTL电平至AT89C52单片机。
在单片机内,经软件查询、识别判决等环节实时发出入侵报警状态控制信号。
驱动电路将控制信号放大并推动声光报警设备完成相应动作。
当人体离开后自动解除,当警情消除后复位电路使系统复位。
3.2具体电路模块设计
3.2.1红外传感器设计原理
本设计所用的红外传感器就采用这种发射接收集成的结构。
在VCC电源端利用C1和R2来稳定工作电压,同样输出端也多加了稳压元件稳定信号。
当检测到人体反射回来的信号时,电荷信号经过FET放大后,经过C2,R1的稳压后使输出变为高电位,再经过NPN的转化,输出OUT为低电平。
3.2.2时钟电路的设计
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频率为12MHZ,一个振荡周期为1/12us,故而一个机器周期为1us。
如图7所示为时钟电路。
图7时钟电路原理图
3.2.3复位电路的设计
复位方法一般有上电自动复位和外部按键手动复位,单片机在时钟电路工作以后,在RESET端持续给出2个机器周期的高电平时就可以完成复位操作。
例如使用晶振频率为12MHz时,则复位信号持续时间应不小于2us。
本设计采用的是外部手动按键复位电路。
如图8示为复位电路。
图8复位电路
3.2.4发光二极管报警电路设计
由4个发光二极管接上电阻后连上单片的某个IO引脚,外接VCC,当单片机的这个IO引脚被置低电平后,发光二极管被点亮,起到报警作用。
图9所示为发光二极管报警电路。
图9发光二极管报警电路
3.2.5声音报警电路设计
如下图所示,用一个Speaker和三极管、电阻接到单片机的IO引脚上,构成声音报警电路,如图10示为声音报警电路。
图10声音报警电路
该设计所用的三极管Q1是S9012型三极管,PNP型。
注意区分发射级(e),基极(b),集电极(c)。
3.2.6程序烧录电路的设计
通过MAX232芯片可以实现单片机的在线烧录程序,这样做便于软件的调试,连线方式如图11所示
图11烧录电路设计图
3.3系统硬件电路的选择以及说明
硬件电路的设计见图示,从以上的分析可知在本设计中要用到如下器件:
AT89C52、红外线传感器、LED、按键、蜂鸣器、MAX232等一些单片机外围应用电路,以及单片机的手工复位电路等。
其中,LED是起报警指示作用,当P1.0脚被置低电平时,LED亮红灯开始报警,同样,当人体离开后P1.0脚置高电平时声光报警电路停止工作。
电路设有1个按键,S键作为电路复位键。
3.4系统软件的实现
3.4.1按上述工作原理和硬件结构分析可知程序流程图如图12所示。
图12程序流程图
3.4.2单片机编程语言的选择
单片机常用的编程语言有:
机器语言,汇编语言和高级语言(主要是c语言)。
1.机器语言
单片机是一种大规模的数字集成电路,它只能识别0和1这样的二进制代码。
以前在单片机开发过程中,人们用二进制代码编写程序,然后再把所编写的二进制代码程序写入单片机,单片机执行这些代码程序就可以完成相应的程序任务。
用二进制代码编写的程序称为机器语言程序。
在用机器语言编程时,不同的指令用不同的二进制代码代表,这种二进制代码构成的指令就是机器指令。
在用机器语言编写程序的时候,由于需要记住大量的二进制代码指令及这些代码代表的功能,很不方便且容易出错,现在基本上很少有人用机器语言对单片机进行编程了。
2.汇编语言
由于及其语言编程很不方便,人们便用一些有意义并且容易记忆的符号来表示不同的二进制代码指令,这些符号称为助记符。
用助记符表示的指令称为汇编语言指令,用助记符编写出来的程序称为汇编语言程序。
0111010000000010(机器语言)
MOVA,#02H(汇编语言)
这两行程序的功能是一样的,都是将二进制数据00000010送到累加器A中。
可以看出,机器语言程序要比汇编语言难写,并且很容易出错。
单片机只能识别机器语言,所以汇编语程序言要汇编(翻译)成机器语言程序,再写入单片机中。
一般都是用软件汇编自动将汇编语言翻译成及其指令。
3.高级语言
高级语言是依据数学语言设计的,在用高级语言编程时不用过多的考虑单片机的内部结构。
与汇编语言相比,高级语言易学易懂,而且通用性很强。
高级语言的种类很多,如:
B语言Pascal语言C语言和JAVA语言等。
单片机常用C语言作为高级编程语言。
单片机不能识别高级语言的程序,因此也需要用编译器对高级语言程序翻译成机器语言程序后再写入单片机。
在上面三种编程语言中,高级语言编程较为方便,但实现相同的功能,汇编语言代码少,运行效率高。
3.4.3软件仿真软件KEIL简介
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。
运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。
C51工具包的整体结构,uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。
开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。
然后分别由C51及C51编译器编译生成目标文件(.OBJ)。
目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。
ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。
3.4.4硬件电路设计软件ProtelDXP简介
ProtelDXP在前版本的基础上增加了许多新的功能。
新的可定制设计环境功能包括双显示器支持,可固定、浮动以及弹出面板,强大的过滤和对象定位功能及增强的用户界面等。
ProtelDXP是第一个将所有设计工具集于一身的板级设计系统,电子设计者从最初的项目模块规划到最终形成生产数据都可以按照自己的设计方式实现。
ProtelDXP运行在优化的设计浏览器平台上,并且具备当今所有先进的设计特点,能够处理各种复杂的PCB设计过程。
通过设计输入仿真、PCB绘制编辑、拓扑自动布线、信号完整性分析和设计输出等技术融合,ProtelDXP提供了全面的设计解决方案。
3.4.5程序代码清单
1.C语言代码
#include<
reg52.h>
//51单片机头文件
sbitIR=P1^0;
//定义P1.0引脚为红外探头OUT
sbitSPEAKER=P1^1;
//定义P1.1引脚为SPEAKER
sbitLED=P1^2;
//定义P1.2引脚为LED
voiddelay(intt)//定义延迟函数
{
for(;
t>
0;
t--);
}
voidmain()//主函数
if(IR==0)//判断红外电平是否为低电平
{delay(50);
//调用50us的延迟
SPEAKER=0;
//启动发声电路
LED=0;
//启动报警灯电路
delay(10);
//调用10us延迟
else//如果没有报警信号
SPEAKER=1;
//关闭发声电路
LED=1;
}}//关闭报警灯
2.汇编语言代码
ORG0000H;
程序起始地址
LJMPMAIN;
调至主程序
MAIN:
SETBP1.1;
定义P1.1为高电平
SETBP1.2;
定义P1.2为高电平
LP:
JNBP1.0,LA;
监测输入信号,是否有输入信号
LA:
ACALLDELAY;
延时消抖
JNBP1.0,ALARM;
再次监测输入信号,若有输入信号转入报警子程序
AJMPLP
DELAY:
MOVR1,#10H;
延迟子函数(约30us)
LD2:
MOVR2,#10H
LD1:
NOP
DJNZR2,LD1
DJNZR1,LD2
RET
ALARM:
CPLP1.1;
报警子函数
CPLP1.2
END
第四章项目元件以及PCB原理图
4.1项目元件清单
项目元件合理的选择无疑是报警器正常工作的保障,通过参阅相关技术资料,并实际计算电气特性。
整理采购清单如下元件清单表所示。
元件名称
数量
元件标值
AT89C52芯片
1
MAX232芯片
电阻R
5
220R,4K7
电容C
7
30pf,