资源描述
红外人体报警器设计报告一、课题意义随着社会的发展,科学技术的进步和安全防范意识的增强,人们越来越注重自身所处的环境是否安全。当家中无人或者仅有老人孩子在家时,必须考虑家庭成员生命和财产的绝对安全。目前,许多住宅小区的安防主要依靠安装防盗窗、防盗门以及人工防范。这样不仅有碍美观,不符合防火的要求,而且不能有效地防止坏人的侵入。本课题研究红外报警监控系统,它集红外报警、温湿度测量显示、实时时钟为一体,简单实用,抗干扰能力强、灵敏度高、安全可靠,具有较高的应用价值。二、课题要求及系统功能红外报警监控系统由红外热释电传感器、温湿度传感器、DS1302时钟电路、EEPROM存储电路、液晶屏和键盘组成。其主要功能有:1、 红外热释电传感器获取人体入侵信息,当监控功能打开并且有人入侵时,驱动蜂鸣器报警,LED报警灯亮。2、 报警时间自动存储至EEPROM存储器,当按查询按钮时显示上次报警时间。3、 不间断测量当前温度和湿度数据,并在液晶屏上实时显示。4、 具备不间断时钟电路,当前时间在液晶屏显示。时钟电路具有后备电池,系统掉电后始终依然运行,再次上电显示当前时间,无须重新调时。5、 四键键盘可以调校时钟初始值,具体方法是连续按设置键直至“年”、“月”、“日”、“时”、“分”、“秒”相应的位置闪烁,再通过Up键和Down键调整数值,调整完毕继续按设置键进入正常状态。6、 可以通过设置键打开或关闭监控报警功能。7、 可以查询上次报警时间,再次按查询键退出查询状态。三、课题理论基础1、热释电效应原理热释电传感器是一种将热量变化转换为电量变化的能量转换器件。因红外线具有很强的热效应,当交互变化的红外线照射到晶体表面时,晶体温度迅速变化,这时会发生电荷的变化,从而形成一个明显的外电场,这种现象称为热释电效应。热释电红外传感器内部的热释电晶体的极化,随着温度的变化而变化。当恒定的红外辐射照射在探测器探头上时,热释电晶体温度不变,晶体对外呈电中性,探测器没有电信号输出,因而恒定的红外辐射不能被检测到。另外热释电晶体输出的是电信号,不能直接使用,需要用电阻将其转换为电压形式,该电阻阻抗高达104M欧,故引入N 沟道结型场效应管接成共漏形式来完成阻抗变换。热释电红外线元件是一种典型的热量传感器,常用红外光发射能量作为整个防盗报警装置中检测入侵者及其活动的手段。2、被动式热释电传感器防盗报警工作原理热释电人体红外线传感器是上世纪80年代末期出现的一种新型传感器件, 现在电子防盗报警设备研制中已得到广泛的应用。通常我们采用的热释电传感器防盗报警电路,是利用该电路检测到有人进入防范区时通过能量变化导致产生电信号,最终电声报警。其工作原理如下:一般人体体温是37,所以会发出波长10um左右的红外线,被动式红外传感器探头就是靠探测人体发射的10um 左右的红外线进行工作的。人体发射的10um 左右的红外线通过菲涅耳滤光片增强后聚集到红外感应源上,红外感应源通常采用热释电元件,这种元件接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,经后续电路检测处理后就能产生报警信号了。在红外探头中有两个关键性的器件,一个是热释电红外传感器,它能将波长为8 12um 之间的红外信号的变化转变为电信号,并对自然界中的可见光信号具有抑制作用,因此在红外探测器的有效警戒区内,当无人体移动时,热释电红外感应器感应到的只是背景温度,没有信号变化,所以不能产生电信号,也不会报警;当人体进人警戒区,通过菲涅耳透镜,热释电红外感应器感应到的是人体温度与背景温度的差异信号,此时产生电信号,从而报警。另外一个器件就是菲涅耳透镜,它具有聚焦-即将热释电的红外信号反射在红外传感器上的作用, 还能将警戒区内分为若干个明区和暗区,使进入警戒区的移动物体能以温度变化的形式在热释电红外传感器上产生变化热释红外信号,这样热释电红外传感器产生变化的电信号,后续电路经检测处理后产生报警信号。3、被动式红外报警器组成结构被动式红外报警器主要由菲涅耳光学系统、热释电红外传感器、信号滤波和放大电路、信号处理和报警电路等几部分组成( 如图1 所示) 。图1 被动式红外报警器组成框图菲涅尔透镜一般采用聚乙烯塑料片制成,颜色为乳白色或黑色,呈半透明状,但对波长为10Lm左右的红外线来说却是透明的。菲涅耳透镜的焦点一般为5 厘米左右,除有聚焦作用还可形成可见区和盲区,实际应用时一般把菲涅耳透镜固定在传感器正前方1 5 厘米的地方。当物体射出的红外线通过菲涅耳透镜后,传到热释电红外探测器,这时热释电红外探测器将输出脉冲信号,脉冲信号经放大和滤波后,由电压比较器将其与基准值进行比较,当输出信号达到一定值时,报警电路发出警报。被动式热释电红外探头的优点是本身不发生各种类型的辐射,器件的功耗小、隐蔽性好、价格低。缺点是具有容易受各种热源、光源及射频辐射的干扰;被动红外穿透力差,人体的红外辐射容易被遮挡,不易被探头接收;当环境温度和人体温度接近时,探测和灵敏度下降,有时还会短时失灵。目前市场上经常采用P288型热释电红外传感器作为敏感元件,能以非接触方式检测出人体辐射出的红外能量,并将其转化为电信号输出。该传感器外接12V电源,内部装有菲涅耳透镜,检测区域为球形,有效警戒距离为12 15m,方向角为85度。当红外警戒区内无移动物体时,传感器无输出信号,报警电路不工作;当有人闯入警戒区时,只要人体移动,其辐射出的红外线便会被热释电红外传感器所接收,并输出微弱的电信号。该信号经运算放大器A1和A2放大后,会输出一个较强的电信号。再输送给由A3 和A4 组成的双限电压比较器。具体电路如图2所示:图2 热释电传感器检测电路4、DYP-ME003人体感应传感器图2所示电路比较繁琐,调试难度也较大。目前市场上有集成红外人体感应传感器,将热释电传感器、菲涅耳透镜和调理电路集成在一个模块上,可以实现5伏电压供电,性能稳定,使用方便。DYP-ME003人体感应传感器就是这样一款基于红外线技术的自动控制产品,灵敏度高,可靠性强,超低电压工作模式,广泛应用于各类自动感应电器设备,尤其是干电池供电的自动控制产品中。其功能特点:l 全自动感应:人进入其感应范围则输出高电平,人离开感应范围则自动延时关闭高电平,输出低电平。l 光敏控制(可选择,出厂时未设):可设置光敏控制,白天或光线强时不感应。l 温度补偿(可选择,出厂时未设):在夏天当环境温度升高至3032,探测距离稍变短,温度补偿可作一定的性能补偿。l 两种触发方式:a.不可重复触发方式:即感应输出高电平后,延时时间段一结束,输出将自动从高电平变为低电平;b.可重复触发方式:即感应输出高电平后,在延时时间段内,如果有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。l 具有感应封锁时间(默认设置:2.5S封锁时间):感应模块在每一次感应输出后(高电平变成低电平),可以紧跟着设置一个封锁时间段,在此时间段内感应器不接受任何感应信号。l 工作电压范围宽:默认工作电压DC4.5V-20V。l 微功耗:静态电流50微安,特别适合干电池供电的自动控制产品。l 输出高电平信号:可方便与各类电路实现对接。DYP-ME003人体感应传感器的感应范围如图3所示: 图3 DYP-ME003人体感应传感器的感应范围DYP-ME003人体感应传感器的电气参数如表1所示:表1 DYP-ME003人体感应传感器的电气参数电气参数DYP-ME003人体感应模块工作电压范围DC 4.5-20V静态电流 50uA 电平输出高3.3 V /低0V 触发方式L不可重复触发/H重复触发 延时时间5-200S(可调)可制作范围零点几秒-几十分钟封锁时间2.5S(默认)可制作范围零点几秒-几十秒电路板外形尺寸 32mm*24mm感应角度 100度锥角感应距离7米以内工作温度-15-+70度感应透镜尺寸直径:23mm(默认)其外型如图4所示: 图4 DYP-ME003人体感应传感器外型图四、硬件设计本研究设计的温湿度控制器框图如图5所示。图5 红外报警监控系统方框图图中STC89C52单片机随时监控DYP-ME003红外人体传感器送来的报警信号。当报警功能打开并且传感器检测到有人侵入时,单片机通过声(蜂鸣器)光(LED发光管)报警,同时将入侵时间记录在外部存储芯片AT24C04中。系统还可以即时显示当前环境温湿度值。单片机每2秒钟从DHT11温湿度传感器中读入温度和湿度,在液晶屏上即时显示。系统通过DS1302时钟电路获得并显示当前时间。该时间初始值可以通过设置键、上调键和下调键设定,由于具有后备电池,主控系统断电后时钟仍然继续运行。系统通过四键键盘切换开、关报警状态,设定时钟初始值,查询报警时间等。系统各单元电路介绍如下。1、单片机电路本设计选用宏晶公司高性能单片机STC89C52采用主控芯片,其管脚如图6所示。图6 STC89C52单片机管脚图该芯片为52内核8位单片机,兼容Intel等52内核单片机,支持ISP下载,适用于常用检测控制电路。由STC89C52组成的单片机系统原理图如图6所示。图7 单片机系统电路图中ALERT引脚输入DYP-ME003红外人体传感器信号,该信号为高电平时有人入侵,为低电平时表示没有检测到人。DATA引脚为温湿度传感器单总线引脚。2402_SCL和2402_SDA为外存芯片AT24C04通信引脚,该芯片为IIC接口芯片,通过时钟线和数据线二线接口通信。K1、K2、K3、K4为四只按键,分别为设置键、上调键、下调键和查询键。L2为报警LED发光管。P0.0P0.7为LCD数据线,P2.5P2.7为LCD控制线。系统采用11.0572MHz外部晶振电路。2、红外热释电报警传感器电路图8 DYP-ME003红外人体传感器电路传感器使用DYP-ME003红外人体传感器,图中ALERT引脚输出信号,该信号为高电平时有人入侵,为低电平时表示无人入侵。R17电阻为下拉电阻,防止管脚误报。3、温湿度传感器器及检测电路图9 DHT11温湿度传感器外型及管脚DHT11温湿度传感器外型及管脚如图9所示。其中电源引脚的供电电压为 3.5-5.5V。传感器上电后,要等待 1s 以越过不稳定状态在此期间不要发送任何指令。电源引脚(VDD,GND)之间可增加一个100nF 的电容,用以去耦滤波。 DHT11典型应用电路如图9所示,其连接电路简单,只需要占用控制器一个I/O口即可完成上下位的连接。建议连接线长度短于20时用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻。图10 DHT11典型应用电路DHT11数字湿温度传感器采用单总线数据格式,即单个数据引脚端口完成输入输出双向传输。其数据包由5Byte(40Bit)组成。一次通讯时间最大3ms,数据分小数部分和整数部分。 一次完整的数据传输为40bit,高位先出。 数据格式如表2:表2 DHT11数据格式3、DS1302实时时钟电路DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息。每月的天数和闰年的天数可自动调整。时钟操作可通过AM/PM指示决定采用24或12小时格式。其芯片管脚如图11所示。 图11 DS1302管脚图DS1302 与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口:线1-RES复位,2-I/O数据线和3-SCLK串行时钟。时钟/RAM 的读/写数据以一个字节或多达31个字节的字符组方式通信,DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW。DS1302是由DS1202改进而来,增加了以下的特性,双电源管脚用于主电源和备份电源,供应Vcc1为可编程涓流充电电源,附加七个字节存储器。它广泛应用于电话、传真、便携式仪器以及电池供电的仪器仪表等。l 实时时钟具有能计算2100 年之前的秒分时日日期星期月年的能力还有闰年调整的能力;l 31*8位暂存数据存储RAM;l 串行I/O 口方式使得管脚数量最少;l 宽范围工作电压2.0-5.5V;l 工作电流:2.0V 时,小于300nA;l 读/写时钟或RAM 数据时有两种传送方式:单字节传送和多字节传送字符组方式;l 8 脚DIP封装或可选的8脚SOIC封装,根据表面装配;l 简单3线接口;l 与TTL兼容,Vcc=5V;l 可选工业级温度范围-40-+85;l 与DS1202 兼容;l 双电源管用于主电源和备份电源供应,备份电源管脚可由电池或大容量电容输入;l 附加的7字节暂存存储器。DS1302与单片机系统连接电路如图12所示。图12 DS1302电路连接图如图11所示,DS1302的SCLK、I/O和RST三个引脚通过上拉电阻连接单片机的P1.4、P1.5和P1.6。4、LCD显示电路显示部分采用SMC 1602液晶屏进行数据显示,其主要技术参数为:表3 液晶屏技术指标接口信号说明如表4所示。表4 液晶屏接口信号说明与单片机接口电路如图13所示。其中P0.0P0.7接LCD数据线,P2.5P2.7接LCD控制线。图13 LCD与单片机接口电路5、EEPROM存储器电路红外报警监控系统的报警时间存储在EEPROM芯片AT24C04中,并可以通过查询按键查看。AT24C04是IIC芯片,其管脚连接如图14所示,与单片机连接电路如图15所示。 图14 AT24C04管脚图 图15 与单片机连接图6、键盘电路本设计采用四键键盘,电路如图16所示。图16 四键键盘电路 按键直接接单片机P3.2P3.5,程序采用查询方式获取按键状态。7、供电及程序下载电路本设计采用USB接口供电,电源电压5V。同时,USB接口通过内含PL2303芯片的转换电路对单片机进行程序编写。其电路原理如图17所示。图17 供电及程序下载电路五、软件编程1、软件流程图本设计软件主程序流程图如图18所示。图18 软件流程图2、主程序下面介绍main.c主程序编写,其他程序略。(1) 头文件和一些宏定义#include #include #include 1602.h#include dht.h#include 2402.h#include DS1302.h(2) 管脚定义sbit Led_Alert=P36;/报警灯sbit In_Alert=P21; /报警信号输入sbit Beep=P20; /蜂鸣器sbit Key_Up = P32;sbit Key_Down = P35;sbit Key_Set = P33;sbit Key_Review = P34;(3) 常量、变量定义和函数声明/定义标识volatile bit FlagStartRH = 0; /开始温湿度转换标志volatile bit FlagKeyPress = 0; /有键按下标志volatile bit FlagAlert = 0; /报警状态标志volatile bit FlagReview = 0; /查询标志/定义温湿度传感器用外部变量extern U8 U8FLAG,k;extern U8 U8count,U8temp;extern U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;extern U8 U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;extern U8 U8comdata;extern U8 count, count_r;/温湿度传感器用变量U16 temp;S16 temperature, humidity;U16 RHCounter;/按键响应用变量U8 keyvalue, keyUp, keyDown, keySet, keyReview;U8 FlagSet; /DS1302时钟用变量SYSTEMTIME CurrentTime;uchar year, month, day, hour, minute, second;/报警及存储用变量/char * pSave;/字符串显示用变量uchar str16 = 000000;uchar AlertDate9=00-00-00, AlertTime9=00:00:00;uchar hide;/函数声明void int2str(int x, char* str);void Delay1ms(unsigned int count);void Data_Init();void Timer0_Init();void Timer0_ISR () ;void SaveAlert();void LoadAlert();void KeyProcess(uint num);(4) 各子程序/整型转字符串的函数,转换范围0-65536void int2str(int x, char* str) int i=1; int tmp=10; while(x/tmp!=0) i+; tmp*=10; tmp=x; stri=0; while(i1) str-i=0+(tmp%10); tmp/=10; str0=tmp+0; void Delay1ms(unsigned int count)unsigned int i,j;for(i=0;icount;i+)for(j=0;j= 450) FlagStartRH = 1; RHCounter = 0; /设定闪烁标志 if (hide = 1) hide = 0; else hide = 1; /存入报警日期时间void SaveAlert() wrteeprom(0, year); DELAY(1500); wrteeprom(1, month); DELAY(1500); wrteeprom(2, day); DELAY(1500); wrteeprom(3, hour); DELAY(1500); wrteeprom(4, minute); DELAY(1500); wrteeprom(5, second); DELAY(1500);/载入报警日期时间void LoadAlert() uchar value; value = rdeeprom(0); AlertDate0=value/10+48; AlertDate1=value%10+48; value = rdeeprom(1); AlertDate3=value/10+48; AlertDate4=value%10+48; value = rdeeprom(2); AlertDate6=value/10+48; AlertDate7=value%10+48; value = rdeeprom(3); AlertTime0=value/10+48; AlertTime1=value%10+48; value = rdeeprom(4); AlertTime3=value/10+48; AlertTime4=value%10+48; value = rdeeprom(5); AlertTime6=value/10+48; AlertTime7=value%10+48;void KeyProcess(uint num) switch (num) case 1: /Up键被按下 switch (FlagSet) case 0:case 1: break;case 2: /年 if (year99)year+; Write1302(0 x8e,0 x00); /写入允许 DS1302_SetTime(DS1302_YEAR,year); Write1302(0 x8e,0 x80); /禁止写入 break;case 3: /月 if (month12) month+; Write1302(0 x8e,0 x00); /写入允许 DS1302_SetTime(DS1302_MONTH,month); Write1302(0 x8e,0 x80); /禁止写入 break;case 4: /日 if (day31) day+; Write1302(0 x8e,0 x00); /写入允许 DS1302_SetTime(DS1302_DAY,day); Write1302(0 x8e,0 x80); /禁止写入 break;case 5: /时 if (hour23) hour+; Write1302(0 x8e,0 x00); /写入允许 DS1302_SetTime(DS1302_HOUR,hour); Write1302(0 x8e,0 x80); /禁止写入 break;case 6: /分 if (minute60) minute+; Write1302(0 x8e,0 x00); /写入允许 DS1302_SetTime(DS1302_MINUTE,minute); Write1302(0 x8e,0 x80); /禁止写入 break;case 7: /秒 if (second0)year-; Write1302(0 x8e,0 x00); /写入允许 DS1302_SetTime(DS1302_YEAR,year); Write1302(0 x8e,0 x80); /禁止写入 break;case 3: /月 if (month0) month-; Write1302(0 x8e,0 x00); /写入允许 DS1302_SetTime(DS1302_MONTH,month); Write1302(0 x8e,0 x80); /禁止写入 break;case 4: /日 if (day0) day-; Write1302(0 x8e,0 x00); /写入允许 DS1302_SetTime(DS1302_DAY,day); Write1302(0 x8e,0 x80); /禁止写入 break;case 5: /时 if (hour0) hour-; Write1302(0 x8e,0 x00); /写入允许 DS1302_SetTime(DS1302_HOUR,hour); Write1302(0 x8e,0 x80); /禁止写入 break;case 6: /分 if (minute0) minute-; Write1302(0 x8e,0 x00); /写入允许 DS1302_SetTime(DS1302_MINUTE,minute); Write1302(0 x8e,0 x80); /禁止写入 break;case 7: /秒 if (second0) second-; Write1302(0 x8e,0 x00); /写入允许 DS1302_SetTime(DS1302_SECOND,second); Write1302(0 x8e,0 x80); /禁止写入 break; break; case 3: /Set键被按下。FlagSet 0-报警;1-关报警;2-设置年;3-月;4-日;5-时;6-分;7-秒 if (FlagReview=0) /只有不查询时才能设定 FlagSet +;if (FlagSet=1) L1602_string(2,10,A);else L1602_string(2,10, ); if (FlagSet=8) FlagSet = 0; break; case 4: /Review键被按下 if (FlagReview = 0) FlagReview = 1; LoadAlert();L1602_string(1,1, );L1602_string(2,1, ); L1602_string(1,1,AlertDate);L1602_string(1,9, Alert );L1602_string(2,1,AlertTime);L1602_string(2,9, ); else FlagReview = 0; break; default: break; /* 名称 : Main()* 功能 : 主函数*/void main() U16 i, j, testnum; EA = 0;Timer0_Init(); /定时器0初始化 Data_Init();Initial_DS1302();EA = 1;L1602_init();L1602_string(1,1, Welcome to My );L1602_string(2,1,Infrared Monitor);/延时for (i=0;i1000;i+) for (j=0;j1000;j+) ; /清屏L1602_string(1,1, T C);L1602_string(2,1, H %); while(1) /查询报警信号 /FlagSet=0为报警状态, /FlagSet=1为关报警状态, /FlagSet=2,3,4,5,6,7依次为设置年,月,日,时,分,秒状态 if (FlagSet=1)&(In_Alert=0) /首次触发报警则存入报警时间 SaveAlert(); FlagAlert=1; Beep=0;Led_Alert = 0; else /报警未打开或者无警可报 FlagAlert=0; Beep=1;Led_Alert = 1; if (FlagStartRH = 1) /温湿度转换标志检查 TR0 = 0; testnum = RH(); FlagStartRH = 0; TR0 = 1; /读出温湿度,只取整数部分 humidity = U8RH_data_H; temperature = U8T_data_H; /读出日期时间值 DS1302_GetTime(&CurrentTime); year = CurrentTime.Year; month = CurrentTime.Month; day = CurrentTime.Day; hour = CurrentTime.Hour; minute = CurrentTime.Minute; second = CurrentTime.Second; DateToStr(&CurrentTime); TimeToStr(&CurrentTime); /如果不处于查询状态则显示当前日期时间温度湿度 if (FlagReview=0) /清屏 L1602_string(1,1, T C);L1602_string(2,1, );L1602_string(2,12,H %);/显示温湿度 if (temperature0) L1602_string(2,7,-); temperature = abs(temperature); int2str(temperature,str1); L1602_string(1,14,str1); int2str(humidity,str1); L1602_string(2,14,str1); L1602_string(1,1,CurrentTime.DateString); L1602_string(2,1,CurrentTime.TimeString); /产生时间设定时的闪烁效果,只在未查询且闪烁标志置位时运行 if (hide=1) switch (FlagSet) case 0: case 1: break; case 2: /年 L1602_string(1,1, ); break; case 3: /月 L1602_string(1,4, ); break; case 4: /日 L1602_string(1,7, ); break; case 5: /时 L1602_string(2,1, ); break; case 6: /分 L1602_string(2,4, ); break; case 7: /秒 L1602_string(2,7, ); break; default: break; /以下为键盘查询,当有按键从按下到弹起时,该按键被响应。if (Key_Up)&(keyUp=0) FlagKeyPress = 1; keyvalue = 1; else if (Key_Down)&(keyDown=0) FlagKeyPress = 1; keyvalue = 2; else if (Key_Set)&(keySet=0) FlagKeyPress = 1; keyvalue = 3; else if (Key_Review)&(keyReview=0) FlagKeyPress = 1; keyvalue = 4;if (FlagKeyPress = 1) KeyProcess(keyvalue); FlagKeyPress = 0; if (!Key_Up) keyUp = 0;else keyUp = 1; if (!Key_Down) keyDown = 0;else keyDown = 1; if (!Key_Set) keySet = 0;else keySet = 1; if (!Key_Review) keyReview = 0;else keyReview = 1; 六、下载与调试提供例程在uVision4环境下编译,如果是其他版本uVision,只需将所有.c和.h文件拷贝至新建项目,重新编译即可。当编译生成.hex文件后,就可以下载并进行调试了。1、 USB转串口驱动安装打开USB驱动文件夹下的PL2303_Prolific_DriverInstaller_v130.exe安装文件,按提示安装USB转串口驱动程序。安装完成后,插入USB下载线后,在开始-控制面板-打印机和其他硬件-设备管理器,在“端口”分支下有(Prolific USB-to-Serial Comm Port(COMX)。X表示串口号,如果没有说明USB转串口驱动没有安装,须重新安装。记住括号里的COM口号。图19 成功安装USB转串口驱动示意图2、 下载程序打开STC单片机下载软件文件夹,点击运行STC_ISP_V481.exe程序,出现如下界面。图20 下载软件正确选择MCU 类型,COM口(与刚才安装的COM号一致),最高波特率和最低波特率都选2400bps或者1200bps (下载线内PL2303芯片所限,没办法!),并打开正确的.hex数据文件。点击“Download/下载”按纽,窗口出现提示:Chinese:正在尝试与 MCU/单片机 握手连接 . Connection is failure. You can try: 1.Give your MCU Power On Reset. 2.Stop operation, then re-select COM Port. 3.Because PLCC-DIP/PQFP-DIP Socket trace too long. 4.Update the STC ISP.exe version. 5.If still error, your MCU Firmware is error or null.Chinese:连接失败,请尝试以下操作: 1.在单片机停电状态下,点下载按钮,再给单片机上电 2.停止下载,重新选择 RS-232 串口, 接好电缆 3.可能需要先将 P1.0/P1.1 短接到地 4.可能外部时钟未接 5.因 PLCC、PQFP 转换座引线过长而引起时钟不振荡,请 调整参数 6.可能要升级电脑端的 STC ISP.exe 软件 7.若仍然不成功,可能 MCU/单片机内无 ISP 系统引导码, 或需退回升级,或 MCU 已损坏 8.若使用 USB 转 RS-232 串口线下载,可能会遇到不兼容 的问题,可以让我们帮助购买兼容的 USB 转 RS-232 串口线 仍在连接中, 请给 MCU 上电.按下电路板上的电源按纽,保证其有个失电至上电的过程,则窗口显示开始烧录芯片。七、红外报警监控系统安装运行被动红外人体报警器是一种在安防工程中使用极为普遍的一类探测器。但要其正常使用,既要防止漏报,又要减少误报,主要是将误报现象降到最低的限度。要做到这一点,必须首先要了解被动红外探测器的一些基本概念及其技术特点,这样才能根据这些基本的技术特点,从安装、调试、使用等各个环节,按照探测器的基本技术特点,这样才能最大限度的发挥探测器的最大功效。红外人体报警器误报率与安装位置和方式有很大关系,一般应注意以下几点:l 红外人体报警器应离地面2到2. 2米;l 红外人体报警器要远离空调、射灯等空气温度变化敏感的地方;l 红外人体报警器探测范围不能有隔板、大型家具、屏风等遮挡物;l 红外人体报警器最好不要直接对着窗口,否则室外的热气和人员频繁的流动会引起报警器误报。l 红外人体报警器对人体敏感程度还和人的运动方向有关,它对于径向移动反应最不敏感,而对于切向方向移动最为敏感。安装时注意选择合适的位置,避免红外探头误报,以便得到最佳检测灵敏度。当红外人体报警监控系统安装完后,最后所要做的工作是调试报警器。被动红外报警器的调试一般是步测,就是调试人员在警戒区内走S型的线路来感知警戒范围的长度宽度等来测试整个报警系统是否达到要求。可适当DYP-ME003人体感应传感器的灵敏度,过高过低的灵敏度都将影响防范效果。红外报警监控系统调试完毕,正常上电运行,如图21所示。其完整电路图
展开阅读全文