毕业设计(论文)-智能安防报警控制系统的设计与实现(软件部分).doc_第1页
毕业设计(论文)-智能安防报警控制系统的设计与实现(软件部分).doc_第2页
毕业设计(论文)-智能安防报警控制系统的设计与实现(软件部分).doc_第3页
毕业设计(论文)-智能安防报警控制系统的设计与实现(软件部分).doc_第4页
毕业设计(论文)-智能安防报警控制系统的设计与实现(软件部分).doc_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计说明书(论文)作 者:学 号:系 (院):专 业:测控技术与仪器题 目:智能安防报警控制系统的设计与实现 软件部分讲师指导者: (姓 名) (专业技术职务)评阅者: (姓 名) (专业技术职务)2011年6月毕业设计说明书(论文)中文摘要智能小区是信息时代的产物,随着我国国民经济和人民生活水平的不断提高,居民对居住环境的要求也越来越高,生活的舒适、温馨、信息畅通、安全尤其是安全成为人们不惜花重金追求的目标,智能小区是我国住宅小区发展的必然方向。本文首先对智能小区的概念及构成情况作了总体的阐述,介绍了智能小区在国内外的研究现状,指明了智能小区中安防的重要性以及智能小区的发展方向。当今社会上,出现了许多智能安防报警器,而这些产品大都是针对居民小区所做出的相应的报警,即为家庭式。但是随着社会的发展,煤气报警器也在发展,也将由单一的家庭式,发展为小区监控。本文就是学习如何对一个小区的烟雾、温度、时间进行监控,并设计了一个监控一个单元的智能报警系统。智能报警系统采用了8位8051单片机为系统的CPU,单个烟雾浓度对应模拟量利用A/D转换为数字量。整个系统的硬件电路设计合理,性能安全可靠。本系统的软件编写采用的是C语言,整个程序的思路清晰,考虑全面。可以在执行的开始和过程中,修改报警临界值,增大了使用的地域和领域;在报警时可以指出烟雾报警并且发光,增强了人性化。 关键词报警临界值,智能报警系统,语音报警,单片机控制 淮阴工学院毕业设计说明书(论文) 第 50 页 共 50 页毕业设计说明书(论文)外文摘要Title Intelligent security alarm control system design and implementation Part Of Software AbstractIntelligent districtis outcome of Information ages.With our economic and living standard growing stably,residents requirement of environment is becoming increasingly higer.They require their residential environments to be comfortable, fragrant and safe,especiatly safty is their will and intelligent district is their inevitabily final direction.This paper firstly introduces the concept and constitution of intelligent district,discusses the reseach condition of domestic and international,indicates the importance of public security and development direction of intelligent district.In the current society, a lot of Intelligent security alarm have appeared, and these products are mostly to letting out corresponding alarms made of dweller , it is family. But with the development of society, coal gas alarm develop too, family by a single one too, develop into the district to control. This text studies how to let out and control the Smoke, temperature and time, and has designed a intelligence warning system of controlling one unit. Intelligence warning system adopt 8 8051 one-chip computer CPU of system, one coal smoke density corresponding analog quantity of unit utilize A/D person who changes figure into, The hardware circuit of the whole system is reasonable in design, performance is safe and reliable. what the software of this system is written and adopted is a C language , the train of thought of the whole procedure is clear, it is overall to consider. Can revise the warning critical value , has increased the region and field to use in beginning and course of carrying out ; When the alarm may point out smoke alarm and shine, have strengthened humanization. Keywords alarm threshold, security keeping away,intelligent alarm system, phonetic alarm1 引言1.1 课题背景随着信息技术的发展和实际安全的需求,人们在校区楼道等公共地方都安装智能安防系统进行了安全布防。其主要目的是一旦有不安全的事件发生,就可以进行自动报警。目前,智能的安防系统主要是计算机和外围设备以及软硬结合的集成系统。计算机通过串并口的方式控制外围相关设备,实现布防、检测和报警。本文从实际应用出发,根据低成本、高性能、易维护和易升级的客户要求,设计和实现一个基于WebService的智能安防报警系统。该系统以计算机为控制中心,通过并串口连接方式控制相关设备,实现了现场监控、实时录像和自动报警。同时,系统的开放式的对外接口便于客户端的多样化和与其他应用系统进行集成。实践证明,本文的思路和设计是可行的和有效的。1.2 国内外研究现状计算机的普及和信息技术的迅猛发展,人们己不满足于传统的居住环境,对家庭及住宅小区提出了更高的要求,智能化被引入家庭,并迅速在世界各地发展起来。人们对居住环境要求的日见增高,体现在希望住宅不仅更便利、舒适而且更安全。家庭及住宅小区智能化的定义,在国际上至今尚无一致的般认为,在现代化的城乡住宅小区内综合采用微型计算机、自动控制、通信与网络及智能卡等技术,建立一个由住宅小区综合物业管理中心与安防系统、信息通信服务与管理系统和家庭智能化系统组成的“三合一”住宅小区服务与管理集成系统,最终目的是使每一住户得到满足其要求的最佳方案。1.3 课题研究方向为满足住宅小区用户的安全和科学系统化管理的需要,以及为了对随时发生的情况进行全面、及时的了解和掌握,对意外情况能迅速做出正确判断,并给出正确、快速的指挥和处理。整个控制系统运用了单片机控制技术实现了对室内完善的、全方位、立体的人体探测、烟雾探测、门窗防撬、玻璃破碎探测、紧急呼救报警、室温检测及时间显示等功能。设计的报警控制系统技术先进、性能可靠、使用非常方便,充分体现了人性化设计的特点,适合于小区和楼内等场合集中的地方。2 总体设计2.1 设计要求本课题设计的单片机智能报警系统具有以下功能:a) 实现对烟雾测量的实时监测且具有光报警功能;b) 实现对室温检测及时间显示的功能;c) 本课题要完成微机监控管理、单片机实时检测处理等设计;d) 系统要有一定的可扩展性和稳定性;e) 完成外文资料翻译。3 硬件总体设计LCD显示模块AT98C52烟雾检测模块报警指示灯模块温度检测模块按键模块时间显示模块 图3.1硬件总体设计框图 3.1 系统硬件设计3.1.1 控制器模块系统中的CPU采用AT89C52单片机它采用CHMOS工艺及高密度、非易失存储技术制造,与805l引脚和指令系统完全兼容,其内部包含:1个8位CPU;1个片内振荡器及时钟电路;8KB PEROM;3个16位定时肼数器;32个IO口。1个全双工串行口;8个中断源。31.2 按键与显示模块本系统从实际需要考虑,采用独立式按键。共设4个按键,用于调节时间与设定闹铃,分别是:设置键、闹铃键、小时键、分钟键。31.3 烟雾检测模块火灾中气体烟雾主要是CO,和CO2。TGS202气体传感器能探测C02,CO,甲烷等多种气体,它灵敏度高,稳定性好,适合于火灾中气体的探测。当TGS202探测到CO:或CO时,传感器的内阻变小,输出端电压迅速上升。选择适当的电阻阻值,使得当气体浓度达到一定程度(如CO浓度达到006)时,输出端获得适当的电压(设为3 v)。31.4 温度检测模块由于机舱空间比较大,本模块设置了8个检测点。通过多路选择开关CIM051对8个点的检测信号进行选通输入。温度传感器采用美国Dallas半导体公司的DSl8820。它采用lWire总线技术,将地址线、数据线、控制线合为一根信号线,允许在这根信号线上挂接多个1-Wire总线器件;采用特有的温度测量技术:可提供9-12位(二进制)数据来指示传感器温度;在整个温度测量范围内具有2叱的精度;很容易直接读取被测温度值,并且电路比较简单,软件设计也比较简单。3.1.5 AT89C52AT89C52为8 位通用微处理器,采用工业标 准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。 (1) P0 口P0 口是一组8 位漏极开路型双向I/O 口, 也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的 方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。 在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 (2) P1 口P1 口是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。 与AT89C51 不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX), Flash 编程和程序校验期间,P1 接收低8 位地址。 表.P1.0和P1.1的第二功能引脚号功能特性P1.0T2,时钟输出P1.1T2EX(定时/计数器2)(3)P2 口P2 口是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑 门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。 在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX RI 指令)时,P2 口输出P2 锁存器的内容。 Flash 编程或校验时,P2亦接收高位地址和一些控制信号。 (4)P3 口P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻 辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。 P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能 P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。(5)数据储存器AT89C52 有256 个字节的内部RAM,80H-FFH 高128 个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字节的RAM 和特殊功能寄存器的地址是相同的,但物理上它们是分开的。 当一条指令访问7FH 以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128 字节RAM 还是访问特殊功能寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器。 例如,下面的直接寻址指令访问特殊功能寄存器0A0H(即P2 口)地址单元。 MOV 0A0H,#data 间接寻址指令访问高128 字节RAM,例如,下面的间接寻址指令中,R0 的内容为0A0H,则访问数据字节地址为0A0H,而不是P2 口(0A0H)。 MOV R0,#data 堆栈操作也是间接寻址方式,所以,高128 位数据RAM 亦可作为堆栈区使用。 定时器0和定时器1: AT89C52的定时器0和定时器1 的工作方式与AT89C51 相同。(6)定时器2定时器2 是一个16 位定时/计数器。它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON(如表)的C/T2 位选择。定时器2 有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON 的控制位来选择。定时器2 由两个8 位寄存器TH2 和TL2 组成,在定时器工作方式中,每个机器周期TL2 寄存器的值加1,由于一个机器周期由12 个振荡时钟构成,因此,计数速率为振荡频率的1/12。 在计数工作方式时,当T2 引脚上外部输入信号产生由1 至0 的下降沿时,寄存器的值加1,在这种工作方式下,每个机器周期的5SP2 期间,对外部输入进行采样。若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为0,则在紧跟着的下一个周期的S3P1 期间寄存器加1。由于识别1 至0 的跳变需要2 个机器周期(24 个振荡周期),因此,最高计数速率为振荡频率的1/24。为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次。在捕获方式下,通过T2CON 控制位EXEN2 来选择两种方式。如果EXEN2=0,定时器2 是一个16 位定时器或计数器, 计数溢出时,对T2CON 的溢出标志TF2 置位,同时激活中断。如果EXEN2=1,定时器2 完成相同的操作,而当T2EX 引脚外部输入信号发生1 至0 负跳变时,也出现TH2 和TL2 中的值分别被捕获到RCAP2H 和RCAP2L 中。另外,T2EX 引脚信号的跳变使得T2CON 中的EXF2 置位,与TF2 相仿,EXF2 也会激活中断。当定时器2工作于16位自动重装载方式时,能对其编程为向上或向下计数方式,这个功能可通过特殊功能寄存器T2CON(见表5)的DCEN 位(允许向下计数)来选择的。复位时,DCEN 位置“0”,定时器2 默认设置为向上计数。当DCEN置位时,定时器2 既可向上计数也可向下计数,这取决于T2EX 引脚的值,参见图5,当DCEN=0 时,定时器2 自动设置为向上计数,在这种方式下,T2CON 中的EXEN2 控制位有两种选择,若EXEN2=0,定时器2 为向上计数至0FFFFH 溢出,置位TF2 激活中断,同时把16 位计数寄存器RCAP2H 和RCAP2L重装载,RCAP2H 和RCAP2L 的值可由软件预置。 若EXEN2=1,定时器2 的16 位重装载由溢出或外部输入端T2EX 从1 至0 的下降沿触发。这个脉冲使EXF2 置位,如果中断允许,同样产生中断。 定时器2 的中断入口地址是:002BH 0032H 。 当DCEN=1 时,允许定时器2 向上或向下计数,如图6 所示。这种方式下,T2EX 引脚控制计数器方向。T2EX 引脚为逻辑“1”时,定时器向上计数,当计数0FFFFH 向上溢出时,置位TF2,同时把16 位计数寄存器RCAP2H 和RCAP2L 重装载到TH2 和TL2 中。 T2EX 引脚为逻辑“0”时,定时器2 向下计数,当TH2 和TL2 中的数值等于RCAP2H 和RCAP2L中的值时,计数溢出,置位TF2,同时将0FFFFH 数值重新装入定时寄存器中。 当定时/计数器2 向上溢出或向下溢出时,置位EXF2 位。当T2CON(表3)中的TCLK 和RCLK 置位时,定时/计数器2 作为波特率发生器使用。如果定时/计数器2 作为发送器或接收器,其发送和接收的波特率可以是不同的,定时器1 用于其它功能,如图7 所示。若RCLK 和TCLK 置位,则定时器2工作于波特率发生器方式。 波特率发生器的方式与自动重装载方式相仿,在此方式下,TH2 翻转使定时器2 的寄存器用RCAP2H 和RCAP2L 中的16位数值重新装载,该数值由软件设置。 在方式1 和方式3 中,波特率由定时器2 的溢出速率根据下式确定:方式1和3的波特率=定时器的溢出率/16定时器既能工作于定时方式也能工作于计数方式,在大多数的应用中,是工作在定时方式(C/T2=0)。定时器2 作为波 特率发生器时,与作为定时器的操作是不同的,通常作为定时器时,在每个机器周期(1/12 振荡频率)寄存器的值加1,而作为波特率发生器使用时,在每个状态时间(1/2 振荡频率)寄存器的值加1。波特率的计算公式如下: 方式1和3的波特率=振荡频率/32*65536-(RCP2H,RCP2L) 式中(RCAP2H,RCAP2L)是RCAP2H 和RCAP2L中的16 位无符号数。 定时器2 作为波特率发生器使用的电路如图7 所示。T2CON 中的RCLK 或TCLK=1 时,波特率工作方式才有效。在 波特率发生器工作方式中,TH2 翻转不能使TF2 置位,故而不产生中断。但若EXEN2 置位,且T2EX 端产生由1 至0 的 负跳变,则会使EXF2 置位,此时并不能将(RCAP2H,RCAP2L)的内容重新装入TH2 和TL2 中。所以,当定时器2 作为波特率发生器使用时,T2EX 可作为附加的外部中断源来使用。需要注意的是,当定时器2 工作于波特率器时,作为定时器运行(TR2=1)时,并不能访问TH2 和TL2。因为此时每个状态时间定时器都会加1,对其读写将得到一个不确定的数值。 然而,对RCAP2 则可读而不可写,因为写入操作将是重新装载,写入操作可能令写和/或重装载出错。在访问定时器2或RCAP2 寄存器之前,应将定时器关闭(清除TR2)。(7)时钟振荡器AT89C52 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。 这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图10。 外接石英晶体(或陶瓷谐振器)及电容C1、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF10pF,而如使用陶瓷谐振器建议选择40pF10pF。 用户也可以采用外部时钟。采用外部时钟的电路如图10 右图所示。这种情况下,外部时钟脉冲接到XTAL1 端,即内部 时钟发生器的输入端,XTAL2 则悬空。 由于外部时钟信号是通过一个2 分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但 最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。(8)中断AT89C52 共有6 个中断向量:两个外中断(INT0 和INT1),3 个定时器中断(定时器0、1、2)和串行口中断。所有这些中断源如图9 所示。 这些中断源可通过分别设置专用寄存器IE 的置位或清0 来控制每一个中断的允许或禁止。IE 也有一个总禁止位EA,它能控制所有中断的允许或禁止。 注意表5 中的IE.6 为保留位,在AT89C51 中IE.5 也是保留位。程序员不应将“1”写入这些位,它们是将来AT89 系列产品作为扩展用的。 定时器2 的中断是由T2CON 中的TF2 和EXF2 逻辑或产生的,当转向中断服务程序时,这些标志位不能被硬件清除,事实上,服务程序需确定是TF2 或EXF2 产生中断,而由软件清除中断标志位。 定时器0 和定时器1 的标志位TF0 和TF1 在定时器溢出那个机器周期的S5P2 状态置位,而会在下一个机器周期才查询到该中断标志。然而,定时器2 的标志位TF2 在定时器溢出的那个机器周期的S2P2 状态置位,并在同一个机器周期内查询到该标志。(9)数据查询AT89C52 单片机用Data Palling 表示一个写周期结束为特征,在一个写周期中,如需读取最后写入的一个字节,则读出的数据的最高位(P0.7)是原来写入字节最高位的反码。写周期完成后,所输出的数据是有效的数据,即可进入下一个字节的写周期,写周期开始后,Data Palling 可能随时有效。 Ready/Busy:字节编程的进度可通过“RDY/BSY 输出信号监测,编程期间,ALE 变为高电平“H”后,P3.4(RDY/BSY)端电平被拉低,表示正在编程状态(忙状态)。编程完成后,P3.4 变为高电平表示准备就绪状态。 程序校验:如果加密位LB1、LB2 没有进行编程,则代码数据可通过地址和数据线读回原编写的数据,采用如图12的电路。加密位不可直接校验,加密位的校验可通过对存储器的校验和写入状态来验证。 芯片擦除:利用控制信号的正确组合(表6)并保持ALE/PROG 引脚10mS 的低电平脉冲宽度即可将PEROM 阵列(4k字节)和三个加密位整片擦除,代码阵列在片擦除操作中将任何非空单元写入“1”,这步骤需再编程之前进行。 读片内签名字节:AT89C52 单片机内有3 个签名字节,地址为030H、031H 和032H。用于声明该器件的厂商、型号和编程电压。读AT89C52 签名字节需将P3.6 和P3.7 置逻辑低电平,读签名字节的过程和单元030H、031H 及032H 的正常校验相仿,只返回值意义如下: (030H)=1EH 声明产品由ATMEL公司制造。 (031H)=52H 声明为AT89C52 单片机。 (032H)=FFH 声明为12V 编程电压。 (032H)=05H 声明为5V 编程电压。3.1.6 DS18B20(1)DS18B20的主要特性 1.1、适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电 1.2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯 1.3、 DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温 1.4、DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内 1.5、温范围55+125,在-10+85时精度为0.5 1.6、可编程 的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温 1.7、在9位分辨率时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快 1.8、负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。 (2) DS18B20的外形和内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM 、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。4 软件设计软件的设计是此次毕业设计的重中之重。它的好坏直接关系毕业设计的成功与否。软件编程用C语言完成的,需要能熟练的掌握C语言,还要熟悉AT89C52单片机。从程序流程图、通信协议、编写程序、编译、到最后的调试,过程很复杂的。下面作详细介绍:系统软件程序包括主程序和中断服务子程序。主程序的功能是完成系统的初始化、信号采集及处理、信息显示、烟雾超限报警、温度测量显示及时间的显示。根据系统工作特点,程序采用结构化的软件设计方法。4.1 总体框图根据方案的设计思想,我们从中就可以得到了烟雾报警系统的总体框图如图4-1所示下:ADC0804转换器烟雾传感器烟雾声光报警AT89C52温度传感器温度时间及闹铃AND_4 图4-1烟雾报警系统的总体框图使用AT89C52单片机,选用烟雾传感器作为敏感元件,利用ADC0804转换器和声光报警电路,开发了可用于家庭或小型单位火灾报警的烟雾报警器。整个设计由4大部分构成:烟雾传感器、A/D转换电路、AT89C52单片机、声光报警电路。其中,烟雾传感器是将现场温度、烟雾等非电信号转化为电信号;转换电路是将完成将烟雾传感器输出的模拟信号到数字信号的转换。声光报警模块由单片机和报警电路组成,由单片机控制实现不同的声光报警功能。综合考虑各因素,本文选择NIS-09烟雾传感器用作采集系统的敏感元件。火灾中气体烟雾主要是CO2和CO。NIS-09烟雾传感器能探测CO2,CO,甲烷、煤气等多种气体,它灵敏度高,稳定性好,适合于火灾中气体的探测。A/D转换器选用ADC0804转换器。4.2 主程序的设计主程序的主要功能是负责烟雾超限的实时显示及报警、温度测量显示及时间的显示,对超过预设警戒线的浓度进行报警。其流程图如图4.2所示:开始系统初始化调用烟雾采集子程序集数据处理是否超过3.5v报警控制子程序调用显示子程序调用温度数据采集及时间数据采集温度、时间显示声提示返回时间及闹铃设定调用闹钟修改时间 是 否 是 否 是 否 图4.2 主程序流程图LCD程序如下:/*主函数*/#include#includepublic.h#includelcd1602.h#define uchar unsigned char#define uint unsigned intvoid write_com(uchar com)/写指令(command)函数LCDRS=0; /RS=0表示写指令P1=com; /把指令通过P1口赋给LCD1602delay(500);LCDEN=1; /为使EN产生一个上升沿。delay(500);LCDEN=0; /EN产生一个上升沿!void write_data(uchar dat) /写数据(data)函数 LCDRS=1; /RS=1表示写数据P1=dat; /把数据通过P1口赋给LCD1602delay(500);LCDEN=1; /为使EN产生一个上升沿。delay(500);LCDEN=0; /EN产生一个上升沿!void init(void) /初始化函数LCDEN=0; /将使能信号拉低write_com(0x38); /写指令0x38:显示模式设置write_com(0x0c); /写指令0x0e:开显示,不显示光标,光标不闪烁write_com(0x06); /写指令0x06:当写一个字节后地址指针加1,屏幕不移动write_com(0x80); /写指令0x80:数据地址指针设置void lcd_str(uchar *str)while(*str)write_data(*str);str+;5 仿真程序调试5.1 编程KEIL环境介绍KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。KEILC51标准C编译器为80C51微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强,更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2IDE可为它们提供单一而灵活的开发环境。5.2 程序流程在整个程序流程中,经常要控制一部分指令重复执行若干次,以便简短的程序完成大量的处理任务。这种按某种控制规律重复执行的程序称为循环程序。循环程序有先执行后判断何先判断后执行两种基本结构。而我们要选用的是先判断后执行。因为烟雾传感器的输出电压量为5.66.0v之间。根据单极性输入的转换关系D=4096VIN/VFS,计算出它的数字量最小值:D1=40965.6/10=2294;最大值D2=40966/10=2458.然后把它们的数字量转化为二进制数。D1、D2转换为二进制数分别是100111110110、100110011010。由于AD574A输出12位数据,所以当单片机读取转换结果时,应分两次进行:当A0=0时,读取高8位;当A0=1时,读取低4位。AD574A的STS与80C51的P1.0线相连,故采用查询方式读取转换结果。我们将A/D转换器读取结果存入17H、18H、19H、20H单元中。其中17H存入的是较小数D1的高八位10011111,18H存入的是较小数D1的低四位0110;19H存入的是较大数的高八位10011001,20H存入的是较大值的低四位1010。开始初始化调用A/D转换子程序是否超过3.5v 声报警结束将数值存入单元以后,接下来就是比较。当被测的数值经计算机的转换在比较范围内,经程序设定80C51单片机的P2.0就会输出脉冲启动报警电路程序。程序流程图如图5-1所示。 否 是 图5.1 程序流程图5.3 Keil编程步棸5.3.1 打开Keil软件5.3.2 新建工程工程新建工程创建文件夹、命名为目标选择设备Atmel 89c525.3.3 新建文件新建文件保存到创建文件夹、命名:“.asm”“.c” 录入程序保存5.3.4 添加文件到组右击目标文件1下的源程序组1添加文件到组1选择已生成的*.asm(或*.c)文件、单击添加关闭5.3.5 生成.hex文件在目标文件夹1右击为目标文件夹选择属性输出生成hex文件画勾确定5.4 protues仿真5.4.1 声光报警模块由单片机的P2口的P25控制1个发光二极管,予以光指示,如下图4.5所示。当这些输出端输出电压大于4v时,对应的信号灯便会发光报警。 图5.1 发光报警器声光报警信号由PNP三极管放大、蜂鸣器、电阻等组成。声光报警电路在单片机P3.7口的控制下,可以实现当时间值达到闹铃值时报警。具体接线图见下图所示:图5.2 闹铃报警器下图为时间设置键及闹铃设置键的接线图: 图5.3 时间及闹铃设置5.4.2 LCD 显示模块本次设计要显示烟雾电压值、温度值、时间值、闹铃值,本设计就采用了动态显示,在动态显示方式时,本次设计采用AT89C52单片机的P1口作为数据输入口。图5.4 LCD显示模块5.4.3 A/D 转换电路A/D转换电路采用了常用的8位8通道数模转换专用芯片ADC0804,是因为其速度较高、功耗低,在低分辩率(12位)时价格很高。通过与其他型号的转换电路比较合本次设计参数的要求:测量范围(0-1000ppm),测量精度(10ppm),选用精度要求不高的、价格低廉的逐次比较型ADC0804,其电路原理图如图5.5所示。气体传感器的输出接到ADC0804的IN0。ADC0804的通道选择地址A,B,C分别接地。当P2.7=0时,与写信号WR共同选通ADC0804。图中ALE信号与SC信号连在一起,在WR信号的前沿写入地址信号,在其后沿启动转换。由图知,输出地址7FFFH可选通通道IN0,实现对气体传感器输出的模拟量进行转换。图中ADC0804的转换结束状态信号EOC接到89C52的INT0引脚,当A/D转换完成后,EOC变为高电平,表示转换结束,产生中断。在中断服务程序中,将转换好的数据送到指定的存储单元。P0ALEA T89C52 /INT0/WRP2.7/RDD0-D7 ACLOCK BADC0804 C EOC SC V(+) ALE V(-)OE IN0 气体传感器GND+5V 图5.5 ADC0804与单片机接口原理图 图5.6 A/D转换电路5.5 软件调试单片机的程序设计调试分为两种,一种是使用软件模拟调试,意思就是用开发单片机程序的计算机去模拟单片机的指令执行,并虚拟单片机片内资源,从而实现调试的目的,但是软件调试存在一些问题,如计算机本身是多任务系统,划分执行时间片是由操作系统本身完成的,无法得到控制,这样就无法实时的模拟单片机的执行时序,也就是说,不可能像真正的单片机运行环境那样执行的指令在同样一个时间能完成(往往要完成的比单片机慢)。为了解决软件调试的问题,第二种是硬件调试,硬件调试其实也需要计算机软件的配合,大致过程是这样的:计算机软件把编译好的程序通过串行口、并行口或者USB口传输到硬件调试设备中(这个设备叫仿真器),仿真器仿真全部的单片机资源(所有的单片机接口,并且有真实的引脚输出),仿真器可以接入实际的电路中,然后与单片机一样执行。同时,仿真器也会返回单片机内部内存与时序等情况给计算机的辅助软件,这样,就可以在软件里看到真实的执行情况。不仅如此,还可以通过计算机软件实现断点、单步、全速、运行到光标的常规调试手段。Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。可以说这个软件专门对付那些好学想偷赖的同学而设计的,如果没有设备,没有电子元件,对制作面包板等怕麻烦,就可以考虑这个软件来实现直观的仿真效果,当然这个软件的关键用途是给电子技术人员及时解决理论与实际的问题,可以快速测试某些常规理论电路并得出初步的结论。先按照设计的硬件电路画出仿真电路,双击电路中的单片机AT89C52,弹出如图如图5.7的窗口,设置晶振频率,加入HEX文件,点击OK。然后点击运行,即可看到设计的电路的运行结果。图5.7 设置晶振频率和加入HEX文件图 5.8 仿真运行结 论本文通过AT89C52单片机实现对室内烟雾探测、温度测量、时间显示及闹铃设置的设计。利用烟雾传感器、温度传感器对室内烟雾、室内温度进行采集,对采样的数据进行数字滤波由y=(1000/255)*x 得出,adc采样值除以255,得出实际的气体浓度值。当达到报警值时,进行相应的报警,达到保护安全的目的。本系统由传感器模块,A/D转换模块,通行模块,显示模块,报警模块等几部分组成。成功的对所编写的程序实现调试,基本达到既定的目标,本次设计研究取得一定的成果,但仍有不足,比如没能够很好的解决对报警后的后续保护工作,还有没能通过实物实现软硬联调,有些遗憾。此次设计考虑的情况较简,未对复杂多变的现实情况进行全面分析,这些不足激励着我应继续努力学习和实践。致 谢经过三个多月的设计和开发,本毕业设计已经基本完成。通过本次毕业设计,使我对单片机的了解进一步加深,无论在硬件还是在软件方面使我对电子产业都有了更深的了解,使我拥有了独立开发单片机软硬件的经验,也使我拥有了查阅资料和解决设计过程中遇到的实际问题的能力,这些都将成为我以后工作道路上不可或缺的宝贵财富。首先,感谢李建忠、钟睿、张毅刚、赖麒文等同志的专著文献。其次,感谢系里的领导和老师们,感谢他们在毕业设计论文阶段对自己的严格要求和关心支持。还要感谢所有帮助过自己的同学们,与他们的讨论和交流给了自己很多有益的启迪,对自己掌握学科知识、完成设计任务和论文写作给予了很大帮助。最后感谢本次设计论文指导老师:李华老师。本设计论文是在他悉心指导下完成的,李老师特别注重工作方法、工作方向的指导,使自己的工作能力得到了很大的提高。导师严谨的治学态度、对科研工作的执着追求、谦逊和蔼的风范对自己产生的深远影响,使自己受益终

温馨提示

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

评论

0/150

提交评论