《大专机电一体化_毕业设计.doc》由会员分享,可在线阅读,更多相关《大专机电一体化_毕业设计.doc(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、河南工业职业技术学院Hunan Industry Polytechnic毕 业 设计 类 别 毕业设计 题 目 图书馆智能防火报警系统设计 系 名 称 机电工程系 专业及班级 机电1002 学生姓名 叶小青 学 号 19指导教师 田林红完成日期 2012 年 月日 摘要本文介绍了住宅智能化中的防盗防火报警系统。智能化防盗防火报警系统集防盗防火功能于一体,可全天候自动检测盗警和火警,当确定警情时自动通过电话报警。传感器采用微波探测器和温度探测器,分别对盗情和火情进行检测,当有人闯入时,微波探测器检测到盗情,然后向单片机发出中断申请,单片机控制电话拨号电路,模拟摘机,自动拨打110,并播放预先录制
2、好的录音,当发生火灾时,温度探测器检测到火情,则自动拨打119并播放录音,也可以自行设置所要拨打的号码,如事主的手机号码,录音需自行录制。本系统采用了美国ATMEL公司生产的AT89C51单片机,美国公司XICOR生产的低功耗CMOS的串行EEPROM-X25045,加拿大Mitel公司生产的DTMF信号编/解码芯片MT8888,语音模块采用美国ISD公司的ISD1420语音芯片,整体功耗较小,兼容性好,稳定性高。本系统通过密码来识别主人身份,系统开启后只有输入正确的密码才能关闭系统。本系统同时还具有自我诊断功能,出现故障能自动进行处理。系统从硬件和软件两方面进行了抗干扰设计,使其具有较好的抗
3、干扰能力,完成系统可靠工作。关键词:智能防火防盗报警系统;自动拨号;探测器AbstractThis article introduced in the house intelligent fireproof and theft-proof alarm system. intelligent fireproof and theft-proof alarm system set fireproof and theft-proof function in a box, and all-weather automatic detection the theft-alarm and the fire-a
4、larm, then dial the police sentiment automatically with telephone call. The sensor uses the microwave detector and the temperature detector, to robs the sentiment and the state separately carries on the examination, when some people broke into, microwave detector to detect unauthorized situation, an
5、d then sent to the interruption SCM applications, MCU control telephone dial-up circuit , Simulated pick, automatically dial 110, and play pre-recorded sound recording, when the fire occurred, the temperature detector to the fire detection, automatically dial 119 and audio recording can also set up
6、by a number to dial, such as the victim Phone number, recording own record. This system uses the U.S. ATMEL companys AT89C51 SCM, U.S. companies XICOR production of low-power CMOS Serial EEPROM-X25045, Canada, Mitel companys signal for DTMF / decoder chip MT8888, voice module using the U.S. ISD comp
7、anys ISD1420 voice chip, a smaller overall power consumption, compatibility, and high stability. Through this system to identify the owner as password, the system opened only after entering the correct password to shut down the system. The system also features a self-diagnosis, failure can be automa
8、tically processed. Hardware and software systems from two aspects of the anti-interference design, so as to make it a better anti-interference capabilities, reliable system to complete the work.Key words : intelligent fireproof and theft-proof alarm system; automatic Dial; detector目录第一章 绪论1第二章 系统设计方
9、案22.1智能报警系统的总体构成22.2 报警系统的功能及工作过程2第三章 系统硬件设计43.1 防盗探测器电路设计43.2 防火探测器电路设计53.3 用户端自动报警器总体设计63.3.1 自动报警器电路设计63.3.2 串行EEPROM-X250458第四章 系统软件设计104.1 控制模块程序设计104.2 拨号模块程序设计134.3 语音模块程序设计154.4 密码及显示模块程序设计164.5 读写数据模块程序设计17第五章 系统的抗干扰措施195.1 系统硬件抗干扰措施195.2 系统软件抗干扰措施20附 录21结束语29致 谢30参考文献31 第一章 绪论改革开放以来,在城市大发展
10、的过程中,大量外地人口涌入城市,给社会治安带来很大压力。工厂、机关和居家失盗、失火、抢劫事件时有发生;个别地方尤为严重,损失惊人。由此引起公安部门的高度重视和社会各届人士的普遍关注。有些部门和居民小区开始派人白天守卫、夜间巡逻,并纷纷购置防护铁门、铁栏杆等被动防范措施,将主人装在铁笼子中以求安全。一旦发生警性(如火警或煤气泄漏),才发现铁笼子将消防人员拦在事故现场之外,难以即时救助,实为弊端。从整顿市容角度来看,亦不雅观。为此,政府部门提倡采用高科技手段实现技术防范措施。在社会治安的现实需求和政府部门的推动下,市场上国产和进口的防盗报警应运而生。本文所要介绍的智能防盗防火报警系统,正是在智能住
11、宅蓬勃发展的背景下,为了满足用户对安全的强烈要求,而设计并开发的。系统的首要任务是根据住宅小区的类型、使用功能及防护风险等要求,为保障小区人身财产安全,通过运用传感器探测、双音多频远程数据传输等技术综合形成智能报警系统,从而达到保障住宅安全的目的3。双音多频(DTMF)信令的传输速度,使得它广泛应用于各种通信和控制系统中。DTMF 信号收发芯片的发送部分采用信号失真小、频率稳定性高的开关电容式D / A 变换器,可发出16 种双音多频DTMF 信号:接收部分用于完成DT信号的接收、分离和译码,并以4 位并行二进制码的方式输出。当遇到盗情、火情等各种险情的时候,该系统可以通过电话网络自动向相关部
12、门发出语音求救信号,从而达到保护用户生命财产的目的。第二章 系统设计方案2.1智能报警系统的总体构成 本防盗防火报警系统是一种新型的电子安全报警系统,该系统的设计是将电子探测、智能控制和电话通讯技术相结合,从而形成一个防盗、防火报警系统5。系统总体构成包括防盗防火探测器、用户端自动报警器与通讯线路三个模块,系统组成框图如图2-1 所示。防盗探测器 微波探测器密码控制电路防火探测器 温度探测器用户端自动报警器AT89C51电话机接口电路拨号电路报警开关紧急呼救开关语音检测与报警电路指示灯控制输出/输入电源电路图2-1 智能住宅防盗防火报警系统组成框图用户端自动报警器安装于居民住宅,用于对居民住宅
13、各个不同部位的不同类型探测器进行监测与控制,并对从各个探测器采集来的数据进行处理。当出现异常情况时,通过家中的电话线路自动拨号报警,并与中央控制器建立联系。系统不需要另外占用电话线路,当有报警信号时,报警电话享有电话线路的优先权。2.2 报警系统的功能及工作过程智能住宅防盗防火报警系统具有以下特点和功能:1. 系统采用模块化设计。前端报警器能够快速、准确地检测到现场的异常状态,经确认后及时通报给中央控制器。并能够可靠地进行盗情、火情报警,通过电话线拔打预先设置的1-6 组电话手机号码(小区监控管理中心电话、用户个人电话、用户单位电话、盗警电话110 、火警电话119 、紧急呼救电话),进行语音
14、报警。报警完毕自动回到警戒状态,等待下一次报警。2.用户端自动报警器可检测探测器或传输线路发生的故障(如探头断线或掉电等), 并可向中央控制器报告故障情况。3. 系统开关机采用密码控制且允许修改密码,防止误报同时增加用户端自动报警器的保密性。4. 用户端自动报警器内提供备用电源,在没有市电的情况下,交直流供电自动切换,确保系统在停电时能继续工作。系统的基本工作过程:用户端的防范现场,一旦有人入侵、或发生火灾等紧急情况时,与之相应的报警探测器(各种防火、防盗及手动报警按钮等)则立即向用户端自动报警器发出报警信号。接到警情事件后,自动报警器立即进行确认(多次巡检中断信号),若50s 后无人解除警情
15、同时警情确认无误后,进行事件的现场声(蜂鸣器)、光(LED )报警,同时用户端自动报警器自动向相关部门拨打预先设置好的报警电话号码,进行语音报警。在用户端自动报警器的面板上设有LCD 显示器、键盘以及三色警灯(LED ) ,三色警灯分别指示火灾或红外微波双鉴的防火防盗报警、正常工作及系统出现故障的状态,即报警灯(红)、工作灯(绿)和故障灯(黄)。正常时LCD 显示时间,事件发生时锁定显示当时的时间。用户端报警器同时具有探头故障报警功能,避免由于探头掉电而漏报,出现故障时点亮故障灯;如果判断探头掉线(被剪断),则声光报警。如果出现误触发而报警时可以通过触发延迟时间(505 定时器)去解除,另外用
16、户端自动报警器还具备状态信息(如有无交流电、备用电池电量是否不足等)上报的功能,可以对预设的普通电话、手提电话实现报警。 本章节主要介绍了系统总体设计方案,确定了原理框图,对报警系统的运行做了分析,并设计了防火和防盗探测器,为后续章节研究防火防盗报警系统的模块化设计打下了理论基础。第三章 系统硬件设计3.1 防盗探测器电路设计 实际电路中,是由振荡器电路产生并发射近微波段电磁波形成微波场,天线把电信号转换为相应的电磁波辐射到周围空间,辐射半径可达10m 以上(如果想继续增大辐射半径或提高灵敏度可以通过调整天线的大小和方向来完成)。当有人在场中运动时,反射回去的微波将发生频率变化,从而使微波探测
17、器输出一个与人体运动速度有关的低频电信号。根据该特性,也选择微波探测器用于盗情的检测。天线比较电路微波振荡电路前级放大两级放大滤波电路LED电源图3-1 微波探测器原理框图环形天线和它周围的电阻、电容和MOS 场效应管组成了近微波段高频自激振荡电路(它的振荡频率在1GHz 左右),微波探测器原理如图3-1所示,当电路接通电源以后,振荡产生的单频、等幅信号通过外接天线发射到空间,产生一个立体空间微波防护区,天线既发射振荡信号,也接收回波。反射回来的微波信号与原信号之间混频后产生微弱的频移信号,该信号送放大器进行放大。放大后的信号送窗口式鉴幅比较输入端,经比较将一定强度的探测信号转换为宽度不同的等
18、幅脉冲输出。微波探测器电路使用的主要元件是单电源通用四运算放大器KIA324P 、环形天线、微波振荡管C3355 及一些外围元器件,外接6V 电源。其电路图如图3-2 。当有人在该微波防护区内移动时,振荡频率和幅度发生相应的变化。根据多普勒效应,该波动的频率与物体运动的快慢有关,而幅度与距离有关。混频后高频信号因为过高而失去作用,剩下微弱的低频信号经U1 作前级放大,10 pF 电容与7.5K 电阻构成充电电路,充电电压作为第一级比较器U4 的基准电压,同时实现延时功能,即只有前级放大电压高于该参考电压时,输出才为高电平,此时,C9O15 导通,最后信号经U2 、U3 构成的窗口比较器比较后输
19、出探测到的信号。实验过程中报警范围实测约为7-8 米,探测到有效信号时,有20 秒的报警信号输出,LED 发光做出预警指示,可有效的进行实时探测。该电路可以工作在较宽的电压范围内(标准电压是32V ,但实际可以工作在很宽的电压范围内),当检测到异常信号时为高电平。图3-2 微波探测器电路图3.2 防火探测器电路设计温度探测器使用数字温度传感器DS18B20 , 5V 直流电压供电。DS18BZO 的测温原理是利用温敏振荡器的频率随温度变化的关系,把温度信号直接转换为串行数字信号,通过内部计数器对受温度影响的振荡器周期的计数可实现温度测量。探测器中DS18B20 采用寄生电源供电方式,保证在有效
20、的DS18B2O 时钟周期内能提供足够的电流,图3-3 中采用一个MOSFET 管和MCU 的I/O 口来完成对DS18B2O 的总线上拉,然后通过另一I/O 对DS18B2O 进行控制并取得温度值。图3-3 温度探测器电路3.3 用户端自动报警器总体设计用户端自动报警器是本课题的设计重点,自动报警器组成框图如图3-4 所示,主要包括拨号模块、语音模块、电话接口模块、键盘密码显示模块以及电源模块。报警器功能已在1.2 节具体描写过,这里不再详述,本节着重介绍与自动拨号功能相关的硬件电路设计。微波防盗探测器温度探测器用户端自动报警器CPUAT89C51看门狗电路EEPROMDTMF拨号电路语音检
21、测电路电话接口电路开关电路输入输出控制电路备用电源图3-4 用户端自动报警器组成框图3.3.1 自动报警器电路设计自动报警器电路见图3-5 。时钟电路由两个30P 的电容和12MHz 的晶振构成。复位电路由电阻、电容、二极管和按键开关构成,具有上电复位和手动复位的功能。单片机的INTO 、INT1 分别与盗警、火警传感器相连,实现各种警情的采集。为防止环境干扰信号对触发中断的影响,当响应中断后,对中断信号多次(如5 次)巡检,确认是中断信号时,才去执行中断处理子程序,否则认为是外界干扰信号不执行报警处理,有效降低误报几率。图3-5 自动报警器电路P2.1 与语音电路相连,实现语音的回放控制。P
22、2.2 接通讯接口转换芯片的数据发送、接收片选端RE (DE)。P2.3 与电话接口电路相连,实现模拟摘挂机的控制。P2.4 接探头掉线检测端,单片机对该口定时查询,正常时为高电平,当检测到低电平即发出掉线警报。P2.5 接交流电源掉电报警信号(交流断电后由直流电源继续供电,直流电源放电低于预警值后向自动报警器发直流断电预警信号。P1.0 、P1.1 、Pl.2 为接键盘电路的三根I/0 口线,Pl.3 接紧急呼救按键。Pl.5 接液晶显示器的串行时钟输入端,Pl.6 接液晶显示器的数据输入端。Pl.7 接多路开关CD4O51 的片选端INH , PI.4 、P2.6 分别接多路开关的输入端A
23、 、B 。多路开关输出分别接报警LED 、蜂鸣器,有警报发生时开关的输出I/O 口给出高电平信号。PO.O 、P0.1 、P0.2 和P0.3 分别与MT8888 的DO 、Dl 、D2 和D3 相连,用作数据总线。P2.0 与MT8888 的RSO 相连,控制MT8888 内部寄存器的选择。P2.7 与MT8888 的CS 相连,控制MT8888 的选通。P3.6 、P3.7 分别与MT8888 的WR和RD相连,控制MT8888 的读写。P0.4 、P0.5 接EEPROM 的串行输入和串行输出端,P0.6 、PO.7 分别接EEPROM 的串行时钟输入和片选输入端。3.3.2 串行EEP
24、ROM-X25045 本设计中采用了具有可编程的串行EEPROM-X25045。X25045 是美国公司XlCOR 低功耗CMOS 的产品(备用电流10uA 、工作电流3mA) ,它把看门狗定时器、VCC 监控电路和EEPROM 三种常用功能组合在单个封装内,增大了电路密度,减少了体积,提高了系统的可靠性,是设计成直接与许多通用的微控制器系列的同步串行外设接口(SPI)相接的512X8 位EEPROM 。本系统中X25045 依次存储了标志字段、用户编号、话机号码、报警器编号、警情代号、系统设置等数据信息。VCC 监控功能是指只要VCC 电平降至低于最小转换电压或者看门狗定时器达到其编程的超时
25、极限值,RESET 的输出为高电平。 X25045 包括一个8 位指令寄存器,它可以通过SI (P0.4)输入来访问,数据在SCK (P0.6)的上升沿由时钟同步输入。在整个工作周期内,/CS (P0.7)必须为低电平,/WP 必须为高电平。X25045 监视总线,如果在预置时间内没有总线活动,那么它将提供RESET 信号输出。在S1 线上输入的数据在/CS 变为低电平后的SCK 的第一个上升沿被采样,由SCK 的下降沿输出到50 (P0.5)线上。SCK 是静态的,允许用户停止时钟并在其后恢复操作。所有的指令、地址和数据都以MSB (最高有效位)在前的方式传送,读和写指令的指令格式中均包含有
26、地址高位A8 ,此位用于选择器件的上半部或下半部。在上电和字节、页或状态寄存器写周期完成以后及WP 变为低电平时,写使能锁存器被复位(即禁止写操作),因此写操作前必须设置写使能锁存器。如图3-6所示:D7D6D5D4D3D2D1D01-正在写,0-没有写操作1-锁存器置位,0-锁存器复位块保护位看门狗定时器位图3-6 状态寄存器格式本系统中对X25045 的读数据、写数据、置位写使能的操作过程简述如下: 1. 从X25045 中读数据的操作为:把CS 拉低以选择芯片:发送8 位的读(READ )指令;送8 位的字节地址;将所选定地址的存储器中的数据移到S0 线上。继续提供时钟脉冲可连续读出接下
27、的地址空间中的数据。每移出一个字节数据之后,字节地址自动增加到下一个较高地址。达到最高地址($1FFH)时,地址计数器翻转至$OOH ,无限循环下去。把CS 置为高电平,可以中止操作。2. 置位写使能锁存器操作为:/CS 先被拉到低电平;由时钟同步送入写使能指令;将/ CS 变为高电平,否则写操作忽略。3. 写数据到X25045 的操作为:拉低/CS 并保持在低电平;发送写指令;写数据。可以连续写多达4 个字节的数据,但必须是这4 个字节驻留在同一页上。否则计数器将翻转到页的首地址并重新写可能已有数据写入的任何单元。X25045 具有允许简单的三线总线工作的串行外设接口(Serial Peri
28、pheral Interface , SPI) ,最高可达1MHz 串行时钟频率。这里用单片机的三根口线Pl.3 、Pl.4 、Pl.5 来模拟SPI 接口。X25045 接口电路如图3-7 所示,P0.4 与X25045 的串行输入脚SI 相连,用于输出操作码、字节地址以及写入数据;P0.5 与X25045 的串行输出引脚SO 相连,用于读出数据;P0.6 与X25045 串行时钟输入脚SCK 相连,作为串行数据输入和输出的时钟信号。由于X25045 的复位输出信号为高电平有效,故和89C51 复位方式一致。本系统中自动报警器也将处理过的数据存入X25045。 看门狗定时器(WDO 和WDI
29、)位用于设置延时时间。这些非易失性的位通过WRSR 指令来设置。本系统中采用0.6s 的超时周期。第四章 系统软件设计自动报警器软件部分采用模块化设计,分为主控模块、摘挂机模块、拨号模块、语音模块、显示模块及读写数据模块。应用汇编语言编程,在Keil uVISion2 环境里,使用Top 2000-B 型编程器将程序写入单片机。编程语言的软件设计采用MCS-51 汇编语言编写自动报警器中相关程序(如拨号、语音、读写X25045 等)。4.1 控制模块程序设计由于单片机的P3.2 和P3.3 脚分别和防盗、防火传感器相连,因此,一旦发生险情,转密码子程序,若解码正确则取消报警,否则将产生中断,在
30、中断服务子程序里,位地址7FH 被置1 ,证明发生险情,然后根据险情类别,将7EH 或7DH 置1 ,其中,7EH 为盗警标志位,7DH 为火警标志位。主程序在运行期间首先检测探头与电源状态,一切正常后等待中断的发生。当检测到7FH (中断标志)被置1 后,调密码显示子程序,密码正确系统重新检测中断信号,密码有误则主程序首先判断7EH 的情况,如果被置1 ,则调用控制模块PROCESS 完成后续处理,处理完成后记录报警信息,再检测是否同时发生了火险,即7DH 是否被置1 ,如果被置1 ,则同样调用控制模块PROCESS 完成后续处理。如果没有发生盗警,即7EH 没有被置1 ,则不用检测7DH
31、,认为发生了火警,则直接调用PROCESS 完成后续处理。开始延迟100ms拨号初始化探头掉线检测电源状态检测有险情密码及显示盗警调用PROCESS记录盗警信息火警调用PROCESS记录火警信息图4-20 主程序流程图开始调用摘机子程序调用检测子程序调用判断子程序有拨号音调用拨号子程序调用检测子程序调用判断子程序有忙音有回铃音定时50S到调用挂机子程序延时5S调用语音子程序调用摘机子程序调用延时子程序返回图4-21 控制模块PROCESS 流程图图4-21 为控制模块PROCESS 流程图,它是整个系统软件的核心,控制整个系统完成摘机,信号音判断、拨号,发出语音求救信号,最后挂机。由于考虑到拨
32、号音、忙音、回铃音的存在,因此这个模块较主程序复杂一些。 首先,调用摘机子程序模拟摘机,再调用检测和判断子程序判别是否有拨号音,如果没有,则跳转到ERROR ,调用挂机子程序,延时后重新调用摘机子程序;如果检测到拨号音,则接下来调用拨号子程序,在拨号子程序里,将根据7EH 、7DH 被置位情况拨相关部门的电话,如管理中心电话或户主电话等。拨号完毕后,重新调用检测和判断子程序,判别此时是忙音还是回铃音,如果是忙音,则跳转到ERROR ,调用挂机子程序,延时后重新调用摘机子程序:如果是回铃音,则重新调用检测和判断子程序,判别此时对方是否摘机,如果仍然是回铃音,则继续调用检测、判断子程序,直到505
33、 计时时间到,则调用挂机子程序,延时后,再重新调用摘机子程序;如果不是回铃音,则调用语音程序,将事先录制好的报警语音回放出来,最后调用挂机子程序,结束process 模块的执行,返回主程序,等待再次被调用。4.2 拨号模块程序设计信号音检测与判断开始置MT8888为CP模式置T0定时,T1计数T0、T1赋初值定时、计数开始R2=1005秒定时到返回图4-22 检测子程序流程图开始R2R3=1600调用MINUS子程序C置位R2R3=800调用MINUS子程序C置位置拨号音标志位返回R2R3=50调用MINUS子程序C置位返回置忙音标志位返回置回铃音标志位返回图4-23 判断子程序流程图MT88
34、8O 在工作之前要进行初始化,它的初始化过程要经过下面的步骤:读状态寄存器、写CRA =000OB 、写CRA=000OB 、写CRA = IOOOB 、写CRB =OOB 、读SR 、写CRA =11OIB 、写CRB = D000OB 。为了检测信号音,应将MT8888 设置为呼叫处理模式,即CP 模式。该模式下MT8888 可检测各种信号音,如拨号音、忙音、回铃音。只要位于中心频率45OHz 、带宽25OHz 左右的信号音就可以经滤波器选择、高增益比较器限幅、从施密特触发器得到代表信号音的方波信号,并从IRQ/CP 端输出,微处理器可通过IRQ/CP 端分析呼叫过程。根据程控交换机的标准
35、,拨号音为45OHz 的连续正弦波,正负误差25Hz ,忙音为45OHz 的正弦波,0.35s通,0.35s断,回铃音为450Hz 的正弦波,1s 通,4s 断。因此,依据MT8888 的CP 检测模式,可对IRQ 脚输出的方波计数5s ,根据结果判断是哪种信号音。拨号音计数上限:( 450 + 25 ) * 5 =2375 ,计数下限:( 450 -25 ) * 5 = 2125 :同理,忙音的计数范围是1041-1212 ,回铃音的计数范围是425-475 ,无信号音的计数为O 。考虑到计数误差,我选择了2000 作为拨号音和忙音的分界线,900 作为忙音和回铃音的分界线,400 作为回铃
36、音和无信号音的分界线。检测子程序流程图如图3-22 。首先将MT8888 设置为呼叫处理模式,接着将单片机的TO 设置成定时方式,T1 设置成计数方式,由于需要定时5s ,而选择定时方式1 ,晶体振荡器选择12MHz ,则最大定时时长为65.53ms ,所以,需要用软件扩展定时。计时开始后,计数也即开始19。在定时中断服务子程序里,判断5s 定时时间是否到,如果时间到,则从检测子程序里跳出,否则,继续计数。最后,计数值高八位存储到THI 中,低八位存储到TL1 中,供判断子程序进行判断。判断子程序流程图见图3-23 。在此子程序里,将计数值分别与2000 、900 、250 这三个数进行比较,
37、即调用MINUS子程序,将计数值与上述比较值做双字节的无符号减法,然后根据寄存器C 被置位情况,对拨号音标志位7CH 、忙音标志位7BH 、回铃音标志位7AH 进行置位或清零,然后返回。DTMF 拨号程序设计:MT8888 在自动拨号应用里,应将工作方式设置为突发方式,在此种情况下,双音频信号持续和暂停时间为5lms ,符合自动拨号要求。在将MT8888 设置为突发模式的时候,需要进行如下步骤:写控制寄存器A、写控制寄存器B、写发送数据寄存器、等待中断或读状态寄存器。 拨号子程序流程图见图4-24。首先将MT8888 设置为突发方式,然后判断是否为盗情,即7EH 是否被置位,如果没有,则跳转到
38、拨管理中心电话号码部分;如果被置位,则拨打用户电话号码,最后,该程序返回。4.3 语音模块程序设计语音子程序流程图参见图4-25 。单片机P2.1 口由高电平变为低电平,触动ISD142O 的放音脚,放音开始,因为ISD1420 最长录音时间为20 秒,所以,延时23 秒后,单片机P2.1 脚由低电平变为高电平,放音结束,然后进入下一次放音状态,直至三次放音结束,清除警情标志位7EH 后,程序返回。开始置MT8888为BURST模式是盗情读X25045防盗电话读X25045防火电话拨用户电话拨中心电话返回返回图4-24 拨号子程序流程图开始回放开始延时23秒回放结束回放3次返回图4-25 语音
39、子程序流程图4.4 密码及显示模块程序设计密码及显示子程序流程图如图4-26 所示,用于控制报警器外部输入。工作流程介绍见3.2.2 节。开始N=0解码输入密码正确错误输入告警N=N+1N6?50秒定时中断返回修改密码输入新密码探头掉线检测图4-26 密码及显示子程序流程图4.5 读写数据模块程序设计本系统中对X25045 的编程包括上电初始化、系统工作时对X25045 的读写以及看门狗的访问。上电初始化包含看门狗定时器的启动设置、X25045 中数据的有效性检查、以及必要的数据块保护设置等。对于自动报警器,因为X25045 中只保存报警及探测器正常与否等关键信息,因此可将即固定在所希望的电平
40、上。写数据子程序流程图如图4-27 所示。开始初始化读状态寄存器RDSR正在写(WIP=1)?写使能WREN写操作WRITE(/CS=0)包括Ag地址送地位地址送4个字节数据送完?启动写操作/CS=1读状态寄存器RDSR正在写(WIP=1)?写禁止WRDI(可选)返回自动加1图4-27 写数据子程序流程图第五章 系统的抗干扰措施5.1 系统硬件抗干扰措施用户端自动报警器工作环境较恶劣,易受到各种干扰的侵犯。根据其来源不同,主要有空间干扰(通过电磁辐射进入)、过程通道干扰(通过与自动报警器及中央控制器相连的前向和后向通道进入)、供电系统干扰以及印制板与电路间产生的相互干扰。所以在设计上,应该采取
41、必要的软硬件措施,免除和减小各种不良因素对系统的影响和损害,从而提高系统的稳定性和可靠性。本系统在硬件设计过程中,主要采取以下几个方面的措施来提高系统的抗干扰能力:1. 对于空间辐射干扰的抑制,主要解决办法是屏蔽。静电屏蔽使用导体材料即可。为达到电磁屏蔽的目的,可以把控制系统安装在用铁板做成的封闭机箱内,来屏蔽外部静电和电磁场的干扰。2. 设计印制电路板时,合理布线,力求将系统中个元件之间、电路之间可能产生的不利影响限制在最低程度。元件排列及信号走线尽量有序,短直,简洁,避免相邻电路相互影响了尽量避免过长的平行走线,减少布线的分布电容。接地线尽量加宽以减少接地电阻,并解决好接地点问题。避免印制
42、电路形成环路接受噪声形成干扰。按钮等在操作时会产生火花,必须利用RC 电路加以吸收。3. 电源的设计将强弱电严格分开,不把它们设计在一块电路板上,电源线的走向尽量与数据传递的方向一致。在印制电路板的各个关键部位配置去藕电容,电源输入端跨接10 协F 的电解电容。每片集成电路电源的引脚上并接0 . 01 协F 高频电容。对于抗噪声能力弱、关断时电流变化大的器件和ROM 、RAM 存储器件(集成块),应在芯片的电源线(VCC )和地线(GND )间直接接入0.01 uF 去耦电容。4. CMOS 芯片的阻抗很高,易受外界的干扰,故电路中不使用的输入端不允许悬空,否则会引起逻辑电平不正常。根据实际情
43、况,将多余的输入端与正电源或地相接。实践表明,元器件的质量对系统影响很大。应选择正品元器件。使用前还要进行必要的筛选。对于接插件,应选择抗震性能好,接合可靠,防松的接插件。传输电缆应具有良好的屏蔽层,耐老化,抗损伤,不易断线。5. 电阻系统本身对静电的防护也是至关重要的。静电产生的原因主要有两种模式:人体带电和电场感应带电。考虑人体带电模式,鉴于人主要接触开关机控制CPU 模块,且主要是键盘。为防止静电危害,在键盘的3 个引线上对地分别串上3 个防静电电容,本系统采用0.01uF 的电容。6. 无论系统采取什么样的抗干扰措施,系统总会受到一些干扰使系统中的单片机的程序跑飞。为了使程序跑飞后,系
44、统能恢复正常运行,本系统采用硬件看门狗X25045 。5.2 系统软件抗干扰措施在单片机应用系统中,由于程序及一些重要常数都存储在ROM 中,这就为软件的抗干扰创造了良好的前提条件。控制系统受干扰后反应在单片机上就是所谓的“冲程序” , 即程序指针乱跳,出现程序跑飞和非法死循环,导致程序失控。因此,需对单片机系统采取一些有效措施,这里主要采取了以下几种措施。1. 数据传输的差错控制本系统采用检错重发。首先对所发送的数据进行异或操作,把最后的结果也发送出去。接收端对接收到的所有数据进行异或操作。若结果为零,则传输正确,否则传输错误,通知发送端重发。2. 对重要数据进行程序复核在程序的执行中对重要
45、数据进行复核,本系统主要对输入的键值进行复核,看是否正确,若正确则进行处理,否则忽略。3. 指令冗余当cPU 受到干扰后,往往将一些操作数当作指令码来执行,引起程序混乱。本系统的软件设计中,在一些对程序流向起决定作用的指令之间插入两条NOP 指令,保证弹飞的程序迅速纳入正确的控制轨道。此类指令有:RET 、RETI 、ACALL 、AJMP、JZ 、JNZ 、JC 、JB 、JNB 、等。在某些对系统工作状态至关重要的指令(如SETB EA 之类)前也可插入两条NOP 指令,以保证被正确执行。一些关系系统能否正常运行的重要指令,如中断操作,系统开关机标志设定等,必须在程序中多写一些,这样可以保
46、证系统即使受到干扰越过一条指令,还会遇到其它相同的指令,系统仍能正常运行。1. 多加入一些NOP 操作程序计数器受到千扰后,内容被破坏,可能从错误的入口处开始执行程序。如一个三字节的指令,单片机从第二字节开始执行,则程序变得不可预料。插入NOP 指令可以使PC 纳入正常运行轨道,使接下来的指令完整执行,不被拆散。插入原则如各种转移指令前插入NOP 指令;在重要的指令前插入NOP 指令:每隔若干条指令插入NOP 指令。附 录自动拨号语音报警程序;InitializationORG 000HLJMP MAINORG 0003HLJMP ALARMOORG 000BHLJMP TIMERORG 0013HLJMP ALARM1ORG 002BH;MAIN programMAIN: MOV SP,#40H ;Set stack pointACALL DELAYMOV 30H,#08HMOV 31H,#01HMOV 32H,#05HMOV 33H,#0AHMOV 38H,#04HMOV 39H,#07HMOV 3AH,#0AHMOV 3BH,#08HMOV 3CH,#02HMOV 3DH,#02HMOV 3EH,#0AHCYCLE:CLR 7FH ;Bit 7