课程设计(论文)-基于单片机的红外传感报警系统.doc_第1页
课程设计(论文)-基于单片机的红外传感报警系统.doc_第2页
课程设计(论文)-基于单片机的红外传感报警系统.doc_第3页
课程设计(论文)-基于单片机的红外传感报警系统.doc_第4页
课程设计(论文)-基于单片机的红外传感报警系统.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

沈阳理工大学课程设计论文 成 绩 评 定 表学生姓名班级学号专 业探测制导与控制技术课程设计题目红外探测系统设计及实物制作评语组长签字:成绩日期 20 年 月 日课程设计任务书学 院装备工程学院专 业探测制导与控制学生姓名段汉超班级学号1011020209课程设计题目红外探测系统设计及实物制作实践教学要求与任务:一、教学要求了解和掌握红外传感器的原理、结构、特性和使用方法,红外探测系统相关产品及及其国内外研究进展情况,利用单片机、Proteus和Keil C51工具设计出一种相应的探测识别系统,制作实物并进行测试。二设计任务和指标1、了解和掌握该系统相关传感器(3-5种)的技术资料,包括其技术指标、原理图、封装形式、价格等;2、查找系统相关产品(3-5种)的技术资料,包括其技术指标、原理图、封装形式、价格等;3、查找与本系统相关论文(最近几年)(3-5篇);4、选择一种传感器,利用单片机、Proteus和Keil C51工具设计出一种相应的探测识别系统,制作实物并进行测试;5、完成论文。工作计划与进度安排:第一周:查找并整理相关资料,并传真至D;第二周:选择一种传感器,利用单片机、Proteus和Keil C51工具设计出一种相应的探测识别系统,包括原理图、程序、运行结果等,制作实物并进行测试; 第三周:撰写论文,论文装订,答辩。指导教师: 张东阳 张乐 2012年12月24日专业负责人:201 年 月 日学院教学副院长:201 年 月 日摘要:随着社会的不断进步和科学技术、经济的不断发展,人们生活水平得到很大的提高,对私有财产的保护意识在不断的增强,因而对防盗措施提出了新的要求。本设计就是为了满足现代住宅防盗的需要而设计的家庭式电子防盗系统。就目前市面上装备主要有压力触发式防盗报警器、开关电子防盗报警器和压力遮光触发式防盗报警器等各种报警器,但这几种比较常见的报警器都存在一些缺点。而本设计中所使用的红外线是不可见光,有很强的隐蔽性和保密性,因此在防盗、警戒等安保装置中得到了广泛的应用。这种热释电红外传感器能以非接触形式检测出人体辐射的红外线,并将其转变为电压信号,同时,热释电红外传感器既可用于防盗报警装置,也可用于制动控制、接近开关、遥测等领域。我将通过这次课程设计来设计一个利用51单片机控制的红外传感报警系统。目录1、引言12、传感器12.1、红外传感器基础知识12.2、红外传感器原理22.3、红外测温模块温度值计算33、系统框图44、系统分析44.1、AT89C51单片机的结构44.2、AT89C51管脚说明54.3、晶振电路74.4、上电复位电路84.5、时钟电路的设计95、软件的设计115.1、流程图115.2、C语言程序116、硬件的设计167、仿真178、PCB电路板的制作189、电路的焊接1910、调试2111、感想22IV1、引言报警器在现实生活中应用非常的广泛,家庭防盗,汽车安全防盗,企业内部安全保障,特别是金融行业等。一般传统式的报警器采用机械式的,如压电式报警器,当有入侵者将压力施加与压电传感器时,机械能在压电传感器中转化为电能,通过放大电路,将信号方法,从而带动发声报警装置,这类报警装置通过物体的接触实现信息的采集,容易被发现,隐蔽性能差,容易遭到破坏,而且传统式的报警器使用寿命短,造成不必要的经济浪费。本次设计目的在于设计以红外传感器为基础的红外线传感器,红外线是一种不可见的光,任何物体都会发出红外线,所以其隐蔽性能非常的好。如果采用被动式的红外探测,只需要将红外传感器远探测人体发射的红外线,探测装置无需与被测物体直接接触,就可以感受到入侵者的进入。本设计就才用被动式红外探测的方式,当有入侵者入侵时候,红外探测头会感受到人体发出的红外信号的变化,通过放大电路,将红外传感器中微小的电信号进行放大,并将信号输入到单片机中,单片机中的程序将传感器发送来的信号做处理并发送到光报警系统和声音报警系统中,光报警系统在接受到信号,声音报警系统在接收到信号后,扬声器响,单片机重新检测是否还有红外传感器发送来的信号,如果还有,声光报警系统将继续工作。2、传感器2.1、红外传感器基础知识红外传感器主要是由一种高热电系数的材料,如锆钛酸铅系陶瓷、钽酸锂、硫酸三甘钛等制成尺寸为2*1mm的探测元件。在每个探测器内装入一个或两个探测元件,并将两个探测元件以反极性串联,以抑制由于自身温度升高而产生的干扰。由探测元件将探测并接收到的红外辐射转变成微弱的电压信号,经装在探头内的场效应管放大后向外输出。为了提高探测器的探测灵敏度以增大探测距离,一般在探测器的前方装设一个菲涅尔透镜,该透镜用透明塑料制成,将透镜的上、下两部分各分成若干等份,制成一种具有特殊光学系统的透镜。它和放大电路相配合,可将信号放大70分贝以上,这样就可以测出1020米范围内人的行动。 菲涅尔透镜利用透镜的特殊光学原理,在探测器前方产生一个交替变化的盲区和高灵敏区,以提高它的探测接收灵敏度。当有人从透镜前走过时,人体发出的红外线就不断地交替从盲区进入高灵敏区,这样就使接收到的红外信号以忽强忽弱的脉冲形式输入,从而强化其能量幅度。人体辐射的红外线中心波长为910-um,而探测元件的波长灵敏度在0.220-um范围内几乎稳定不变。在传感器顶端开设了一个装有滤光镜片的窗口,这个滤光片可通过光的波长范围为710-um,正好适合于人体红外辐射的探测,而对其它波长的红外线由滤光片予以吸收,这样便形成了一种专门用作探测人体辐射的红外线传感器。图2.1热释电式传感器的优点是:本身不发任何类型的辐射,器件功耗很小,隐蔽性好。价格低廉。热释电式传感器的缺点是:容易受各种热源、光源干扰 ,被动红外穿透力差,人体的红外辐射容易被遮挡,不易被探头接收。 环境温度和人体温度接近时,探测和灵敏度明显下降,有时造成短时失灵。2.2、红外传感器原理本设计所用的红外传感器就采用这种双探测元的结构。其工作电路原理及设计电路如图6所示, 在VCC电源端利用C1和R2来稳定工作电压,同样输出端也多加了稳压元件稳定信号。当检测到人体移动信号时,电荷信号经过FET放大后,经过C2,R1的稳压后使输出变为高电位,再经过NPN的转化,输出OUT为低电平。图2.2红外传感器原理图图2.32.3、红外测温模块温度值计算无论测量环境温度还是目标温度,只要检测到Item为0x4cH或者0x66H同时检测到CR为0x0dH,它们的温度的计算方法都相同。计算公式为目标温度/环境温度=Temp/16-273.15其中Temp为十进制,当把它转换成十 六进制时高八位为MSB,低八位为LSB;比如MSB为0x14H,LSB为0x2aH,则 Temp十六进制时为0x142aH,十进制时为5162,则测得温度值为5162/16-273.15=49.4753、系统框图AT89C2051复位电路信号检测电路报警执行电路LED发光显示放大驱动驱动图3.14、系统分析4.1、AT89C51单片机的结构AT89C51单片机是美国Atmel公司生产低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(EPROM)和128 bytes的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存取技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash 存储单元,功能强大。AT89C51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。图2为AT89C51单片机的基本组成功能方块图。由图3可见,在这一块芯片上,集成了一台微型计算机的主要组成部分,其中包括CPU、存储器、可编程I/O口、定时器/计数器、串行口等,各部分通过内部总线相连。下面介绍几个主要部分。振荡器和时序OSC程序存储器4 KB ROM数据存储器256B RAM/SFR定时器/计数器 2 16 AT89C51CPU64 KB总线 扩展控制器可编程 I/O可编程全双工串行口内中断外部中断 控制 并行口 串行通信图4.1 AT89C51功能方块图4.2、AT89C51管脚说明51单片机是高性能单片机,因为受引脚数目的限制,所以有不少引脚具有第二功能。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口也可作为AT89C51的一些特殊功能口,如下所示:P3口管脚 备选功能:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INT0(外部中断0)P3.3 INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器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:反向振荡器的输出,如采用外部时钟源驱动器件,应不接。本设计包括硬件和软件设计两个部分。模块划分为数据采集、键盘控制、报警等子模块。电路结构可划分为:热释电红外传感器、报警器、单片机控制电路、LED控制电路及相关的控制管理软件组成。用户终端完成信息采集、处理、数据传送、功能设定、本地报警等功能。就此设计的核心模块来说,单片机就是设计的中心单元,所以此系统也是单片机应用系统的一种应用。单片机应用系统也是有硬件和软件组成。硬件包括单片机、输入/输出设备、以及外围应用电路等组成的系统,软件是各种工作程序的总称。单片机应用系统的研制过程包括总体设计、硬件设计、软件设计等几个阶段。4.3、晶振电路每个单片机系统里都有晶振,全称是叫晶体震荡器,在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。晶振一般采用如图5的电容三端式(考毕兹) 交流等效振荡电路;实际的晶振交流等效电路如图5b,其中Cv是用来调节振荡频率,一般用变容二极管加上不同的反偏电压来实现,这也是压控作用的机理;把晶体的等效电路代替晶体后如图5c。其中Co,C1,L1,RR是晶体的等效电路。 图4.2晶振电路分析整个振荡槽路可知,利用Cv来改变频率是有限的:决定振荡频率的整个槽路电容C=Cbe,Cce,Cv三个电容串联后和Co并联再和C1串联。可以看出:C1越小,Co越大,Cv变化时对整个槽路电容的作用就越小。因而能“压控”的频率范围也越小。实际上,由于C1很小(1E-15量级),Co不能忽略(1E-12量级,几PF)。所以,Cv变大时,降低槽路频率的作用越来越小,Cv变小时,升高槽路频率的作用却越来越大。这一方面引起压控特性的非线性,压控范围越大,非线性就越厉害;另一方面,分给振荡的反馈电压(Cbe上的电压)却越来越小,最后导致停振。通过晶振的原理图你应该大致了解了晶振的作用以及工作过程了吧。采用泛音次数越高的晶振,其等效电容C1就越小;因此频率的变化范围也就越小。4.4、上电复位电路AT89C51的上电复位电路如图6所示,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1F。上电复位的工作过程是在加电时,复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。在图2的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。图4.3上电复位电路4.5、时钟电路的设计XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频率为12MHZ,一个振荡周期为1/12us,故而一个机器周期为1us。如图7所示为时钟电路。图4.4 时钟电路图本实验因为简单,选用AT89C2051单片机。原理一样,只是资源比AT89C51少:图4.55、软件的设计5.1、流程图开始初始化变量bell=0red=1hw是否为0蜂鸣器报警bell=bell红灯亮red=0结束图5.15.2、C语言程序#include#define uint unsigned int#define uchar unsigned charsbit hw=P33;sbit bell=P10;sbit red=P11;void delay(void)uint i;for(i=0;i256;i+);void main(void) P3=0xff; bell=0; red=1; while(1) if(hw=0)bell=bell;red=0;delay();elsebell=0;red=1;sbit hw=P33;意思是把hw(红外)的值赋给P3.3,也就是把P3.3的接口赋给hw这个变量。这样以便接下来写程序的时候不用经常写P3.3,写hw就可以代表P3.3的数值了。由于proteus里面没有红外传感器模块,所以电路中用一个开关代替。开关的通断分别代表了红外传感器检测到和没有检测到目标。接下来这个信息将转化为电信号,即高、低电平传给单片机处理。sbit bell=P10;同理是把P1.0赋给bell(铃)这个变量,这个是蜂鸣器报警电路和单片机相连的端口。接下来单片机会根据之前的hw变量传入的值对bell端口做操作,从而实现对蜂鸣器开关的控制。sbit red=P11;同理P1.1赋给red(红色小灯)这个变量,这样单片机就可以控制这个小灯的亮、灭。void delay(void)uint i;for(i=0;i256;i+);这个部分是延时调用函数。由于单片机内部工作频率很大,为了防止语句之间的混淆影响,个别语句之间要加入延时。这个延时函数的机理就是利用for循环的循环次数来控制延时时间。只是一个单纯的自+1运算但是单片机要处理这些加法的时候就要耗费一部分时间,这部分时间就作为了延时时间。void main(void)第一行意思是主函数开始了,返回值为空,就是什么都不用返回。由于有些函数的调用时候需要返回一个值,这里主函数不需要,用以区别,所以要写(void)。P3=0xff;bell=0;red=1;这些都是对单片机的初始化。给P3口电位拉高,目的是保证电路有信号以前蜂鸣器不会响,小灯不会亮,还有区别开关按下以后的低电平。这里bell=0;与之前论述不矛盾,因为蜂鸣器的发声原理是高低电平的交替频率产生不同音调的声音。只要蜂鸣器两端电平不产生变化,蜂鸣器是不会发出声音的。red=1;这句话功能和P3=0xff;一样,我认为可以省略。if(hw=0)bell=bell;red=0;delay();elsebell=0;red=1;接下来通过一个while(1)死循环保证单片机不停的扫描hw这个变量。从而是单片机不停的运算这个if语句。这里面通过判断hw(红外)这个变量的电位来决定执行不同的命令,来控制报警电路的开关。如果hw变量有反应,说明接受到信号。接下来hw变量已经变为0,这个信号传给单片机。单片机让bell变量值取反,red值赋为0,这样只要hw还一直为0,蜂鸣器就一直响,红色LED就一直亮。否则当hw变为1时,bell和red就还原为初始化的值,也就是不报警。另外在实际电路的焊接的时候用的器件是有源蜂鸣器。所以实际烧写进单片机的程序也有差别:#include#define uint unsigned int#define uchar unsigned charsbit hw=P12;sbit bell=P10;sbit red=P11;void delay(void)uint i;for(i=0;i256;i+);void main(void) P3=0xff; bell=1; red=1; while(1) if(hw=0)bell=0;red=0;delay();elsebell=1;red=1;这条程序中主要区别在于if(hw=0)时的bell=0;因为proteus中元件库提供的蜂鸣器是无源蜂鸣器,需要用单片机输入高低不同的电平,也就是方波信号来控制蜂鸣器的发声。根据方波的频率来控制蜂鸣器发声的音频高低。但是实际焊接电路的时候我们选用的是有源蜂鸣器,只要bell=0就可以让蜂鸣器一直响,当然音调的高低不可以被调整。6、硬件的设计图6.1如图,采用AT89C2051单片机控制电路。左侧有晶振电路、上电复位电路和红外传感器电路。右侧蜂鸣器报警电路和红色LED。由于proteus中没有红外传感器模块,所以用K2代替。如果K2被按下,P3.3变为低电平,则代表红外传感器探测到了信号。将这个低电平传入单片机,接下来单片机通过检测这个低电平来控制右侧的报警电路。如果K2弹起,P3.3置为高电平,代表红外传感器没有检测到信号,将这个高电平信号传给单片机。接下来单片机根据这个高电平控制右侧报警电路中蜂鸣器要不要报警或者红色LED要不要亮。晶振电路和上拉复位电路之前有详细介绍,LED电路比较简单,软件介绍中也有说明,这里就不再过多介绍了主要说一下蜂鸣器驱动保护电路。电路中除了蜂鸣器还有R2、R3、R4三个电阻和Q1一个三极管。其中三个电阻是保护电路部分,三极管是驱动电路部分。三极管基极和发射机之间要有正向阳极电压且要足够大才可以驱动电路开通。这也是为什么这个电路的驱动电源没有和单片机一起用+5V电源,而选用了+12V电源的原因,+5V还不够驱动这个三极管的大小。所以接下来只要单片机控制bell端的电压,即控制基极的电压来控制蜂鸣器的通断。最后由于为了防止蜂鸣器驱动电路中电阻和电路中过多的噪声干扰,我们优化了电路,力求最简:图6.27、仿真图7.1如图,当开关K2按下的时候LED变亮,蜂鸣器看不到,不过确实在发出报警的声音。当开关K2抬起的时候,LED熄灭,蜂鸣器就不响了。优化后电路仿真图:图7.28、PCB电路板的制作这个PCB版图我采用手动布线方式画成的。原则是连线最短,公共端口最近。如图U1为单片机,U1最右上角是20端口,接+,为+5V。最左下角是10端口,接GND,电位为0。电路最右上角R3的2口留线头接+,为+12V:图8.1优化后的PCB版图:图8.29、电路的焊接这个是没通电的成品正面图:图9.1这个是没通电的成品背面图:图9.2这个是接好电源了红外传感器没有红

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论