资源描述
目 录1 引言1.1 选题的意义11.2 国内外研究概况及发展趋势21.2.1 研究概况21.2.2 发展趋势21.3 火灾报警系统的总体方案22 楼宇自动化2.1 楼宇自动化系统简介42.2 楼宇自动化系统的组成与基本功能42.3 楼宇自动化控制系统的原理42.4 楼宇自动化系统设备的发展历史及相关产品简介53 硬件设计3.1 温度气体信号采集模块63.2 显示部分方案设计63.3 报警及执行部分方案设计73.4 火灾报警系统主要器件的选择73.4.1 主控制芯片的选择73.4.2 采集系统主要器件的选择83.4.3 液晶显示模块的选择113.4.4 三端稳压器7805124 火灾报警系统的硬件电路设计4.1 电源部分电路134.2 采集部分电路144.2.1 可燃性气体浓度采集电路144.2.2 温度采集电路154.3 液晶显示部分电路164.4 控制部分电路184.4.1 复位电路184.4.2 时钟电路184.4.3 控制执行电路194.4.4 报警电路204.5 火灾报警器的电路图205 系统主要程序的设计5.1 主程序215.2 温度测量和处理的软件设计225.3 可燃气体浓度采集的软件设计265.4 液晶显示的软件设计286 结论34参考文献35附 录附录A 程序清单37附录B 火灾报警器的原理图44附录C 火灾报警器的PCB图4544楼宇自动化系统设计(火灾报警器)1引言1.1选题的意义楼宇自动化系统(BAS)对整个建筑的所有公用机电设备,包括建筑的中央空调系统、给排水系统、供配电系统、照明系统、电梯系统,进行集中监测和遥控来提高建筑的管理水平,降低设备故障率,减少维护及营运成本。 设计楼宇自动化系统的主要目的在于将建筑内各种机电设备的信息进行分析、归类、处理、判断,采用最优化的控制手段,对各系统设备进行集中监控和管理,使各子系统设备始终处于有条不紊、协同一致和高效、有序的状态下运行,在创造出一个高效、舒适、安全的工作环境中,降低各系统造价,尽量节省能耗和日常管理的各项费用,保证系统充分运行,从而提高了智能建筑的高水平的现代化管理和服务,使投资能得到一个良好的回报。楼宇机电设备监控系统,作为智能建筑楼宇自动化系统非常重要的一部分,担负着对整座大厦内机电设备的集中检测和控制,保证所有设备的正常运行,并达到最佳状态。随着我国智能建筑(IB)业的发展,高层建筑及建筑群体越来越多,从而也促进消防系统以迅猛的速度向前迈进。在智能建筑的建筑物自动化系统(BAS)中消防系统是非常重要的一个子系统,担负着保障人员及财产安全的重任。该论文设计了某综合楼的消防系统,主要是消防系统的感应机构,即探测器、手动报警按钮、报警器、警报器、消火栓按钮等报警系统,和其执行机构,即消火栓灭火系统、火灾事故广播、应急照明、疏散指示标志、防排烟系统、防火卷帘门等灭火系统和各种联动控制系统的具体设置和产品选型,并根据产品报价和具体的产品用量做了该设计的预算书。随着现代社会的进步,人们的生活水平也在不断的提高。以往家庭厨房大都是用木材做燃料来做饭,而现在大多数家庭都改用罐装煤气、液化石油气或者天然气。但危险也随着它们而进入了人们的生活,因为罐装煤气、液化石油气和天然气都是易燃易爆物品,一旦泄露,随时都可能给人们造成生命和巨大的财产损失。考虑到大多数家庭都存在着以上的安全问题,人们就非常需要一套用来预防事故发生的环境监控系统,而火灾报警系统就是专门为解决这一问题而设计的。该装置能时时监控你厨房里的温度和可燃气体的浓度,当检测到可燃气体超标时便会启动报警装置并同时开启排气扇将可燃性气体排出去,为家庭的人身和财产安全提供了保障。1.2国内外研究概况及发展趋势1.2.1研究概况我国的火灾自动报警控制系统经历了从无到有、从简单到复杂的发展过程,其智能化程度也越来越高。目前国内厂家多偏重用于大型仓库、商场、高级写字楼、宾馆等场所大型火灾报警系统的研发,他们采用集中区域报警控制方式,其系统复杂、成本较高。而在居民住宅区、机房、办公室等小型防火单位,需要设置一种单一或区域联网、廉价实用的火灾自动探测报警装置,因此,研制一种结构简单、价格低廉的火灾报警器是非常必要的。随着电子技术的飞速发展,各类分立电子元器件已及其所构成的相关功能单元已逐渐被功能更强大,性能更稳定,使用更方便的集成电路所取代。由集成电路构成的各种自动控制,自动测量,自动显示电路遍及各种电子产品和设备,单片微型计算机简称为单片机,又称为微控制器,是微型计算机的一个重要分支。单片机是上个世纪70年代中期发展起来的一种大规模集成电路芯片,是集CPU、RAM、ROM、I/O接口和中断系统于同一个硅片的器件。80年代以来,单片机发展迅速,各类新产品不断涌现,出现了许多高性能新型机种,现已成为自动化和各类控制领域的支柱产业之一。1.2.2发展趋势a.系统不仅能实现监测监控,而且在软件技术上应研究开发能根据被监测环境地点的参数进行有效的危险性判别、分析和提出专家决策方案。同时系统应用软件应向网络化发展,按统一的格式向外提供监测数据。b.针对通信协议不规范和传输设备物理层协议不规范尽,应尽快寻找一种解决系统兼容性的途径或制定相应的专业技术标准,这对促进住宅监控技术发展和系统的推广应用均具有十分重要的意义。c.研制高可靠性瓦斯传感器。1.3火灾报警系统的总体方案本系统包含了六个小的电路块,其中复位电路的工作方式是采用上电自动复位,用来对整个工作系统做好工作前的准备,一上电就使得中央处理器CPU和系统中的其它部件都处于一个确定的初始状态,并从这个状态开始工作。时钟电路采用的是12MHZ的晶振作为系统软件及硬件调试的工作时钟。对于环境中温度及气体浓度,则通过数字温度传感器及可燃性气体传感器来获取。显示部分采用的是液晶显示。当采集到的气体浓度超出正常值时,CPU便启动报警电路及外部设备控制执行电路,该部分电路主要由蜂鸣器及继电器构成,用来实现对可燃性气体浓度超标时的报警和排气工作。系统的总体方案结构原理框图如图1.1所示。气体监控电路单片机AT89C52复位电路时钟电路LCD显示电路温度监控电路报警及执行电路图 1.1 火灾报警系统总的结构原理框图2楼宇自动化2.1楼宇自动化系统简介楼宇自动化系统也叫建筑设备自动化系统(BuidingAutomationSystem简称BAS),是智能建筑不可缺少的一部分,其任务是对建筑物内的能源使用、环境、交通及安全设施进行监测、控制等,以提供一个既安全可靠,又节约能源,而且舒适宜人的工作或居住环境。2.2楼宇自动化系统的组成与基本功能建筑设备自动化系统通常包括暖通空调、给排水、供配电、照明、电梯、消防、安全防范等子系统。根据我国行业标准,BAS又可分为设备运行管理与监控子系统和消防与安全防范子系统。一般情况下,这两个子系统宜一同纳入BAS考虑,如将消防与安全防范子系统独立设置,也应与BAS监控中心建立通信联系以便灾情发生时,能够按照约定实现操作权转移,进行一体化的协调控制。 建筑设备自动化系统的基本功能可以归纳如下:(1)自动监视并控制各种机电设备的起、停,显示或打印当前运转状态。(2)自动检测、显示、打印各种机电设备的运行参数及其变化趋势或历史数据。(3)根据外界条件、环境因素、负载变化情况自动调节各种设备,使之始终运行 于最佳状态。(4)监测并及时处理各种意外、突发事件。(5)实现对大楼内各种机电设备的统一管理、协调控制。(6)能源管理:水、电、气等的计量收费、实现能源管理自动化。(7)设备管理:包括设备档案、设备运行报表和设备维修管理等。2.3楼宇自动化控制系统的原理楼控系统采用的是基于现代控制理论的集散型计算机控制系统,也称分布式控制系统(Distributedcontro systems简称DCS)。它的特征是“集中管理分散控制”,即用分布在现场被控设备处的微型计算机控制装置(DDC)完成被控设备的实时检测和控制任务,克服了计算机集中控制带来的危险性高度集中的不足和常规仪表控制功能单一的局限性。安装于中央控制室的中央管理计算机具有CRT显示、打印输出、丰富的软件管理和很强的数字通信功能,能完成集中操作、显示、报警、打印与优化控制等任务,避免了常规仪表控制分散后人机联系困难、无法统一管理的缺点,保证设备在最佳状态下运行。2.4楼宇自动化系统设备的发展历史及相关产品简介楼宇设备自动化系统到目前为止已经历了四代产品:第一代:CCMS中央监控系统(20世纪70年代产品)BAS从仪表系统发展成计算机系统,采用计算机键盘和CRT构成中央站,打印机代替了记录仪表,散设于建筑物各处的信息采集站DGP(连接着传感器和执行器等设备)通过总线与中央站连接在一起组成中央监控型自动化系统。DGP分站的功能只是上传现场设备信息,下达中央站的控制命令。一台中央计算机操纵着整个系统的工作。中央站采集各分站信息,作出决策,完成全部设备的控制,中央站根据采集的信息和能量计测数据完成节能控制和调节。第二代:DCS集散控制系统(20世纪80年代产品) 随着微处理机技术的发展和成本降低,DGP分站安装了CPU,发展成直接数字控制器DDC。配有微处理机芯片的DDC分站,可以独立完成所有控制工作,具有完善的控制、显示功能,进行节能管理,可以连接打印机、安装人机接口等。BAS由4级组成,分别是现场、分站、中央站、管理系统。集散系统的主要特点是只有中央站和分站两类接点,中央站完成监视,分站完成控制,分站完全自治,与中央站无关,保证了系统的可靠性。第三代:开放式集散系统(20世纪90年代产品)随着现场总线技术的发展,DDC分站连接传感器、执行器的输人输出模块,应用ON现场总线,从分内部走向设备现场,形成分布式输入输出现场网络层,从而使系统的配置更加灵活,由于onWorks技术的开放性,也使分站具有了一定程度的开放规模。BAS控制网络就形成了3层结构,分别是管理层(中央站)、自动化层(DDC分站)和现场网络层(ON)。第四代:网络集成系统(21世纪产品)随着企业网Intranet建立,建筑设备自动化系统必然采用Web技术,并力求在企业网中占据重要位置,BAS中央站嵌入Web服务器,融合Web功能,以网页形式为工作模式,使BAS与Intranet成为一体系统。网络集成系统(EDI)是采用Web技术的建筑设备自动化系统,它有一组包含保安系统、机电设备系统和防火系统的管理软件。EBI系统从不同层次的需要出发提供各种完善的开放技术,实现各个层次的集成,从现场层、自动化层到管理层。EBI系统完成了管理系统和控制系统的一体化。3硬件设计3.1温度气体信号采集模块本系统的采集部分电路设计包括两部分:温度采集电路和可燃气体浓度采集电路的设计。温度采集电路的设计:考虑到本系统设计成本及电路复杂性的关系,我们这里采用数字温度传感器来直接获得环境中的温度,不需要进行A/D转换,便可直接与单片机相连进行数据的传输,硬件电路简单。气体浓度采集电路的设计:根据我们日常生活中经常接触到的可燃性气体成分,本系统采用的可燃性气体传感器的型号是MQK1,此传感器对我们日常所接触到的煤气、天然气和瓦斯的成分都比较敏感。由此传感器获得的信号经调理电路处理,便可作为A/D转换模块的输入模拟信号。所获得的模拟电信号经A/D转换送入CPU中处理。由此可设计出可燃气体浓度采集部分的方案框图,如图3.1所示。可燃气体传感器单片机AT89C52温度传感器DS18B20A/D转换传感器调理电路 图3.1温度气体采集模块方框图3.2显示部分方案设计常见的显示方式主要有数码管和LCD显示两种,本系统的显示电路如用数码管显示则电路会比较复杂,且达不到显示的要求,因为数码管不能用于显示字符。而液晶显示电路较简单,可直接与单片机的I/O口相连,动态显示效果好、清晰度高,可操作性强,且能满足显示要求。设计的显示部分方案框图如图3.2所示。 单片机AT89C52 图3.2 显示部分方框图3.3报警及执行部分方案设计在报警电路中,我们采用了一个比较简单的电路,它由一个蜂鸣器、一个三极管和一个电阻组成,当单片机给它一个低电平时,报警电路就发出报警。这能满足本次设计的需要,所以我们选择了这个简单可行的电路。在执行电路中,我们也采用了一个比较简单的电路,它由两个电阻、 一个光耦 、一个三极管 、一个二极管和一个继电器组成。当单片机给它一个高电平时,继电器便吸合,使外部电路导通,排气工作启动。设计框图如图3.3所示。 单片机AT89C52控制执行电路报警电路液晶显示模块GDM0801A 气体监控电路报警电路图 3.3 报警及执行方案的结构原理框图3.4火灾报警系统主要器件的选择主控芯片的选择和元器件的选择直接关系到整个电路运行的情况,通过了解和学习各方面所需器件的原理和功能,选择了更加适合这次课题的芯片和元器件,在不影响系统正常工作的前提下,使得电路尽可能的简单,制作成本尽可能的低。3.4.1主控制芯片的选择作为一个系统的控制核心,选择正确又适用的芯片很重要。考虑到我们所学的基础知识,我们决定采用51系列芯片来作为主控芯片,最后我们结合这次课题的具体要求和经济实用方面的考虑,我们选择了51系列单片机中的AT89C52芯片来作为这次总设计的主控芯片。AT89C52是美国ATMEL公司的低功耗、高性能CMOS8位单片机,片内含8K可反复擦写的只读程序存储器和256Byte的RAM。器件采用Atmel公司高密度非易失性存储器技术生产,与标准MCS-51指令和8052引脚完全兼容。片内置通用8位CPU和FLASH存储单元,片内震荡器及时钟电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。AT89C52主要性能特点:1.与MCS-51单片机产品指令和引脚完全兼容;2.8K字节可重擦写Flash闪速存储器;3.1000次擦写周期;4.全静态操作:0Hz24MHz;5.三级加密程序存储器;6.256x8字节内部RAM;7.32个可编程I/O口线;8.三个16位定时器/计数器;9.八个中断源;10.可编程全双工串行UART通道;11.低功耗空闲和掉电模式。3.4.2采集系统主要器件的选择(一)数字温度传感器的选择考虑到本系统对采集到的温度精度要求不高,设计成本及电路复杂性的关系,我们这里采用数字温度传感器的型号是DS18B20。DS18B20是DALLAS半导体公司推出的一线总线技术的典型产品。它能够直接读出被测温度并且可根据实际要求通过简单的编程实现精度1/21/6的四级转换,可以分别在93.75ms和750ms内将温度值转化9位和12位的数字量。其内部结构如图3.4所示。其内部结构主要包括7个部分:(1)寄生电源;(2)温度传感器;(3)64位激光(laser)ROM与单线接口;(4)高速暂存器,便笺式RAM,用于存放中间数据;(5)TH触发寄存器和TL触发寄存器,分别用来存储用户设定的温度上、下限、tH 、tL值;(6)存储与控制逻辑;(7)8位循环冗余校验码(CRC)发生器。图3.4 DS18B20的内部结构示出寄生电源电路。当I/O或VDD引脚为高电平时,这个电路便“取”得电源。只要符合指定的定时和电压要求,I/O将提供足够的功率。寄生电源的优点是双重的:1)利用此引脚,远程温度检测无需本地电源,2)缺少正常电源条件下也可以读ROM。为了使DS18B20能完成准确的温度变换,当温度变换发生时,I/O线上必须提供足够的功率。因为DS18B20的工作电流高达1mA,5K的上拉电阻将使得I/O线没有足够的驱动能力。如果几个DS18B20在同一条线上而且企图同时变换,那么这一问题将变得特别尖锐。供电方式检 测64位ROM和一线口存储器和控制逻辑便笺式存储器CRC发声器温度传感器高温度触发器TH低温度触发器TLVDDDQVDDGND 图3.4 DS18B20的内部结构图 3.5 DS18B20引脚在总线主机上不知道总线上DS18B20是寄生电源供电还是外部VDD供电的情况下,在DS18B20内采取措施来通知采用的供电方案。总线上主机通过发出跳过(Skip)ROM的操作约定,然后发出读电源命令,可以决定在DS18B20总线上是否有需要强上拉。在此命令发出后,主机接着发出读时间片。如果是寄生电源供电,DS18B20将在单线总线上送回“0”;如果由VDD引脚供电,它将送“1”。如果主机接到一个“0”,它知道它必须在温度变换期间在I/O线上提供强的上拉。DS18B20的测温原理如图3.6所示,低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器l。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器l和温度寄存器被预置在-55所对应的一个基数值。计数器l对低温度系数晶振产生的脉冲信号进行减法计数,当计数器l的预置值减到0时,温度寄存器的值将加l,计数器l的预置将重新被装入,计数器l重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器l的预置值。DS18B20的配置寄存器斜率累加器计数器1=0计数器2=0比较温度寄存器预置低温度系数晶振高温度系数晶振预置停止加1LSB置位/清零 图 3.6 DS18B20测温原理 配置寄存器为中间结果暂存器中的字节4。配置寄存器可以设置DS18B20温度转换的精度。可以设置精度为9位、10位、11位、12位。上电缺省的分辨率为12位精度。用户可根据需要改写配置寄存器以获得合适的分辨率。(二)可燃性气体传感器根据我们日常生活中经常接触到的可燃性气体成分,本系统采用的可燃性气体传感器的型号是MQK1,此传感器对我们日常所接触到的煤气、天然气和瓦斯的主要成分都比较敏感。MQK1可燃气体传感器主要用于检测空气中CO、CH4、H2等可燃气体的浓度,其原理为传感器的内部阻抗随可燃气体的浓度而变化。MQK1的测量范围为10010000PPM(PPM为体积比例,表示百万分之一),工作环境的温度:-1045,湿度95。其引脚及电学参数如图3.7所示。图 3.7 引脚及电学参数图(三)A/D转换器A/D转换器用于实现模拟量与数字量之间的转换。按转换原理,模数转换器可分为四类:计数式A/D转换器、双积分式A/D转换器、逐次逼近式A/D转换器和并行式A/D转换器。目前最常用的是积分式A/D转换器和逐次逼近式A/D转换器。双积分式A/D转换器的主要优点是转换精度高、抗干扰性能好、价格便宜。其缺点是转换速度较慢。因此这种转换器主要用于速度要求不高的场合。另一种常用的A/D转换器是逐次逼近式的。逐次逼近式A/D转换器是一种速度较快、精度较高的转换器。其转换时间大约在几微秒到几百微妙之间。根据系统的需要,我们这里选择了常见的ADC0809转换芯片来实现。ADC0809是一个典型的逐次逼近式8位CMOS型A/D转换器,片内有8路模拟选通开关、三态输出锁存器以及相应的通道地址锁存与译码电路。它可以实现8路模拟信号的分时采集,转换后的数字量输出是三态的(总线型输出),可直接与单片机数据总线相连接。ADC0809采用+5V电源供电,外接工作时钟。当典型工作时钟为500HZ时,转换时间为128s。3.4.3液晶显示模块的选择LCD显示控制模块的系统示意图图3.8为使用LCD显示控制模块的系统示意图,对于用户来说,只需要提供命令给LCD显示控制模块,就可以对LCM进行显示操作。 图 3.8 LCD显示控制模块的系统示意图LCD系统的特点LCD液晶显示器是一种利用液晶的扭曲/向列效应制成的新型显示器,它具有微功耗、体积小、抗干扰能力强、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。另一特点是,LCD本身不发光,是通过借助外界光线照射液晶材料而实现显示的被动显示器件。根据系统设计显示的需要,我们这里采用点阵式字符型液晶显示器,型号为GDM0801A。外型尺寸如图3.9所示:图 3.9 GDM0801A的外型尺寸图液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。3.4.4三端稳压器7805线性集成稳压器分固定式输出、可调式输出两种类型,又以三端固定或可调式集成稳压器的应用范围为最广。主要用途:适用于各种电源稳压电路。主要特点: 输出稳定性好、使用方便、输出过流、过热自动保护。 封装形式:TO-220 图 3.10 7805封装4火灾报警系统的硬件电路设计4.1电源部分电路要能成为独立的单片机系统,首先就要拥有能够提供系统正常工作的抗干扰直流稳压电源。即要求设计的电源电路能够直接将220V交流电转变为5V直流电,其中包含了变压器、整流桥、7805三端稳压块,极性电容和一般电容。220V的交流电通过变压器降低其电压,再经过整流桥进行整流,然后,通过由一个极性电容C4和一个一般电容C5组成的滤波电路,用于滤去整流输出电压中的纹波。桥式整流电路的优点是输出电压高,纹波电压较小,管子所承受的最大反向电压较低,同时因电源变压器在正、负半周内都有电流供给负载,电源变压器得到了充分的利用,效率较高。滤波电路有两种形式:一是电容滤波电路,一是电感滤波电路。因为电抗元件在电路中有储能的作用,并联的电容器C在电源供给的电压升高时,能把部分能量储存起来,而当电源电压降低时,就能把能量释放出来,使负载电压比较平滑,即电容C具有平波的作用。与负载串联的电感L,当电源供给的电流增加时,它把能量存储起来,而当电流减小时,又的能量释放出来,使负载电流比较平滑,即电感L也有平波的作用。但是电容滤波电路多用于小功率电源中,电感滤波电路则多用于较大功率电源中。所以在这个设计中我们要选用的是电容滤波电路。之后,通过三端集成稳压器来调节输出电压,使其输出的电压有可靠的精度和稳定性。其中电路中接入电容C7来实现频率补偿,防止稳压器产生高频自激振荡和抑制电路引入的高频干扰,C6是电解电容,用于减小稳压电源输出端由输入电源引入的低频干扰信号。我们采用的是三端集成稳压器的典型电路接法,这样我们就可以得到一个相对不受外界干扰的5V直流电源。给这个系统带来更好的工作环境。经过这个整体的设计思路,可以得到具体的电路图如图4.1所示。图 4.1 电源部分电路图4.2采集部分电路本系统的数据采集部分电路由两个部分组成。一部分是可燃气体浓度采集电路,其中包括气体浓度的数据采集及处理工作和A/D转换电路。前面的工作主要由可燃性气体传感器及传感器调理电路来完成,后面的A/D转换则由ADC0809和单片机组成的电路来完成,用来实现环境中可燃性气体浓度的监测。另一部分则是温度获取电路,该部分电路由数字温度传感器及其附属电路和CPU来组成,用来检测环境中的温度。4.2.1可燃性气体浓度采集电路(一)传感器调理电路的设计 涉及到空气中可燃气体浓度数据的采集,一般都需要选择好相应的传感器。根据本系统设计的背景、要求及目的,我们选择的可燃性气体传感器的型号是MQ-K1,该传感器对瓦斯、煤气、天然气的主要成分比较敏感。由于可燃性气体传感器采集到的气体浓度信号比较微弱,所以还要经过传感器调理电路的处理。调理电路主要由集成运算放大器和一些电阻构成。由此可的其框图如图4.2所示。可燃气体传感器 MQ-K1电压跟随电路差分比较电路比较输出限幅电路脉宽调整电路ViVO1VO2VO3VO图 4.2 传感器调理电路原理框图根据实际情况,我们可以得到该部分电路的原理图如图4.3所示。图 4.3 传感器调理电路原理图(二)A/D转换电路的设计ADC0809型芯片有8路模拟量输入通道,我们这只用到一路模拟量输入通道,即启用IN7。为了选中这一路,我们把ADDA、ADDB、ADDC三个引脚全都置为高电平,即与5伏的电源相连。再根据芯片特性,把没用到的其他7路模拟量输入通道都接地。芯片工作所需时钟引脚CLK与单片机的地址锁存端口引脚ALE直接连接。根据主控芯片AT89C52的P1口特性,我们将其与ADC0809芯片的8路数字量输出端相连。最常用的控制方式有两种:查询方式和中断方式。这两种方法各有各的优点,查询方式的编程简单,而中断方式的单片机工作效力高,所以我们这里采用中断方式控制,用到的是外部中断0,电路连接是EOC引脚通过非门与INT0脚相接。再根据P2口特性,我们取P2.0脚作为选中ADC0809芯片的地址管脚8。因此我们可以得到A/D转换电路图如图4.4所示:图 4.4 A/D转换电路图4.2.2温度采集电路由上述对DS18B20的详细介绍大家可以总结出DS18B20具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题。(1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格地保证读写时序,否则将无法读取测温结果。(2)在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个。在实际应用中并非如此, 当单总线上所挂DS18B20超过8个时,就需解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。(3)连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通信距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通信距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。(4)在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入循环。这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。由以上对DS18B20的介绍可知,DS18B20的供电方式有两种:一种是寄生电源供电;另一种是外部电源供电。从分析中可以看出DS18B20这两种供电方式都各有其优点,但从另一方面来看寄生电源方式需要强上拉电路,软件控制则变得复杂(特别是在完成温度转换和拷贝数据到EEPROM 时),同时芯片的性能也有所降低。因此,出于减轻软件负担和条件允许的情况(在不影响工作性能的前提),我们本次课题就温度数据采集这部分电路的设计采用外部电源供电方式。由此设计出温度采集电路图如图4.5所示。 图 4.5 温度采集电路图4.3液晶显示部分电路为了满足系统显示的需要,我们采用液晶显示模块来实现显示功能。LCD本身不发光,是通过借助外界光线照射液晶材料而实现显示的被动显示器件,因此功耗很低,只要求液晶周围有足够的光强。必要时,可选用背光源来保证LCD显示信息。在此系统的设计中,为了降低功耗,我们不采用背光源,因此液晶显示模块的15、16两管脚不用,即悬空。根据主控芯片AT89C52的P0口特性,P0口可作为一般的数据输入输出口。在此,我们把P0口作为数据的输入输出口,并直接与液晶显示模块GDM0801A的DB0DB7相连来传输数据。液晶模块的使能端与P2.7管脚连接,读写信号线R/W和P3.6相连,寄存器选择端RS和单片机的P2.6连接,而液晶显示器对比度调整端VO悬空。由此可知显示部分电路的原理框图如图4.6所示,电路图如图4.7所示。图 4.6 显示部分电路的原理框图图 4.7 显示部分电路的电路图4.4控制部分电路4.4.1复位电路计算机在启动运行时都需要复位,使中央处理器CPU和系统中的其它部件都处于一个确定的初始状态,并从这个状态开始工作。MCS-51单片机有一个复位引脚RST,它是史密特触发输入,只要RST保持高电平,MCS-51保持复位状态,AT89C52此时的P1、P2、P3口都输出高电平。当RST变为低电平后,退出复位,CPU从初始状态开始工作。我们使用的是CMOS型的51单片机,要使RST在上电的时候得到一个高电平,需要在RST复位端接一个电容至电源和一个电阻接地,就能实现上电自动复位。系统插上电源时就能够进行自动复位,RST端出现一段时间的高电平,器件复位。根据以上的设计思路可以设计出上电自动复位电路如图4.8所示。图 4.8 复位部分电路图 4.4.2时钟电路时钟电路是计算机的心脏,它控制着计算机的工作节奏。MSC-51单片机允许的时钟频率是因型号而异的,典型值为12MHz。CMOS型单片机内部有一个带反馈的线性反相放大器,XTAL1、XTAL2分别为反相放大器输入和输出端,外接定时反馈元件以后就组成振荡器,产生时钟送至单片机内部的各个部件。在单片机的外部接一个晶振而后电容就组成了振荡器,加电以后延迟一段时间(约10ms)振荡器起振产生时钟,不受软件控制。振荡器产生的时钟频率主要是由晶振参数来确定。外接的两个电容的作用有两个:一是使振荡器起振,二是对振荡器的频率f起微调作用(电容大,f变小),其典型值为30PF。因为我们这次使用的单片机是AT89C52,所以我们就采用了这个典型的时钟电路,其晶振值和电容值采用的都是典型值。则时钟电路的电路图如图4.9所示。图 4.9 时钟电路的电路图4.4.3控制执行电路根据课题要求和系统需要,即当监测到环境中可燃性气体浓度超标时,系统要能启动外部设备将可燃性气体排出,以降低气体浓度的要求。在这里,我们选择了以交流220V为额定工作电压的排气扇作为外部设备。为了能根据要求控制排气扇的启停,我们选择继电器作为单片机控制排气扇启停的中间桥梁。通过单片机控制继电器的吸合与断开,来实现排气扇的启动和停止。我们所用到的元器件有:两个电阻、 一个光耦 、一个三极管 、一个二极管和一个继电器。我们把单片机P2口的第三管脚,即P2.2直接与光耦的1引脚相连,4脚串连一个电阻和5伏的电源连接。3引脚直接接5伏电源,2引脚通过电阻与三极管的基极b相连。三极管的发射极e接地,集电极c接继电器线圈的一端,线圈的另一端与5伏的电源相连,再在继电器线圈的两端反相并联一个二极管。则所得电路原理图如图4.10所示。由图可见,当给P2.2管脚置为低电平时,光耦导通,从而三极管也导通,继电器吸合接通排气扇的工作电路。 图 4.10 控制执行电路图4.4.4报警电路根据课题要求和系统需要,我们的系统中要有一个报警电路,考虑到成本问题,我们一开始就决定要设计一个比较简单的报警电路,首先我们必须要有一个报警器,在这里我们选择了常用的蜂鸣器,要使这个蜂鸣器进行工作,直接接电源是不能发出报警的。那么就需要加一个电流放大器件,我们使用了NPN三极管8050与电源连接来对电流进行放大。在这部分设计中,用AT89C52的P2口来与报警电路进行相连,P2口作为输出口,该位的输出引脚由内部的拉高电路拉成高电平。选择的是P2口中的P2.3引脚与报警电路进行连接,当系统运行到需要报警时,P2.3口由内部软件设计将得到一个高电平,如果直接与蜂鸣器相连,由于电流过小,将不能驱动蜂鸣器进行报警,如果直接与8050相连接,单片机直接给出的电源将超过其正常工作的电压范围。所以我们在中间再串联一个电阻,进行限流,就能够达到预计的要求。故报警电路将由一个电阻,一个三极管和一个蜂鸣器组成。可以看到这个电路相当简单,并且也能够实现其基本功能。根据以上的设计思路设计出的报警部分电路图如图4.11所示。 图 4.11 报警部分电路图4.5火灾报警器的电路图 根据引言部分的火灾报警器的方框图,和本章种介绍的各部分的电路图,可以连接成火灾报警器的电路图(见附录B)。5系统主要程序的设计5.1主程序首先,在主程序书写开始之前,先要完成变量的定义以及显示器引脚定义,本系统软件的基本定义如下:温度检测的变量定义TEMPEQU30H ;温度值存放中间单元定义 TEMP1EQU40H ;温度值高字节存储单元定义 TEMP2EQU41H ;温度值低字节存储单元定义显示器引脚定义RS EQU P2.6 ; 寄存器选择的引脚定义RW EQU P3.6 ; 读写信号线引脚定义E EQU P2.7 ; 使能端定义其次,完成几乎每个程序开头都应有的说明。例如:ORG 0000H ;程序开始地址 LJMP START ;转初始化 ORG 0003H ;外部中断0入口地址 LJMP EXINT0 ;转外部中断0 ORG 0100H 然后,对DS18B20的初始化,开外部中断0及显示接口初始化,以完成显示模块LCD的清屏。本系统的情况如下:LCALL RESET ;DS18B20的初始化SETB F0 ;置中断发生标志MOVX DPTR,A ;启动A/D(P2.0=0,WR=0)SETB IT0 ;置外部中断0为边沿触发SETB EX0 ;允许外部中断0SETB EA ;开中断LCALL P_INIT_DISP ;显示接口初始化最后,调用DS18B20测温子程序、温度处理子程序、中断子程序及液晶显示子程序,并把检测到的气体浓度值与预存好的临界浓度值进行比较,从而确定报警电路及控制执行电路的启动与否。因此主程序框图如图5.1所示。开始DS18B20的初始化开外部中断0液晶显示器初始化调用测温子程序调用温度处理子程序采用中断方式采集可燃性气体浓度调用液晶显示子程序 显示字符“CHAOBIAO”可燃性气体浓度是否 超标?NY驱动执行机构报警调用液晶显示子程序显示温度调用液晶显示子程序 显示字符“NORMAL”图5.1 主程流程图5.2温度测量和处理的软件设计1)DS18B20的温度测量子程序主要完成对DS18B20的初始化,测温以及将温度数据由DS18B20的暂存存储器的前两个字节读出保存在40H和41H中。其程序流程图5.2所示。DS18B20作为一线总线器件要求采用严格的信号时序,以保证数据的完整性。而DS18B20能否正常的工作和得到正确的温度数据决定了整个设计能否成功,所以DS18B20的初始化、写和读信号的软件编程要严格的按照其时序进行。 DS18B20初始化设置DS18B20分辨率发SKIP ROM 命令发温度开始转换命令发读温度命令,从DS18B20 中读出两个字节的温度数据,并存于40H、41H返回开始 图5.2 DS18B20测温子程序流程图DS18B20的初始化程序:RESET:L0: CLR P1.0 MOV R2, #160L1: NOP DJNZR2,L1 SETB P1.0 ;主机发置位脉冲持续600s MOVR2,#20L4: DJNZR2,L4 ;等待60s CLRC ORLC, P1.0 ;数据线应变低 JC L0 ;没准备好,重来 MOVR6,#30L5: ORLC, P1.0 ;C中的值与P1.0的值求或再送给C JCL3 ;数据线变高初始化成功 DJNZR6,L5 ;数据线低电平可持续240s SJMP L0 ;初始化失败,重来L3: MOVR2, #120L2: DJNZR2,L2 ;应答过程最少480s RETDS18B20写子程序WRITE: MOVR3, #8WR1: SETB P1.0 MOV R4, #6 RRC A ;A中的值带进位右环移 CLR P1.0WR2: DJNZR4,WR2 ;数据线变低16s MOV P1.0, C ;命令字按位送 MOV R4, #20WR3: DJNZR4,WR3 ;保证整个写过程持续60s DJNZ R3,WR1 SETB P1.0 RETDS18B20读子程序READ: MOV R6,#8RE1: CLR P1.0 MOV R4, #4 NOP ;低电平持续2s SETB P1.0 ;P1.0改为输入RE2: DJNZ R4,RE2 ;等待12s MOV C, P1.0 RRC A ;按位读入 MOV R5, #20RE3: DJNZ R5, RE3 ;保证读过程持续60s DJNZR6, RE1 ;R6减1不等于0跳至RE1 MOV TEMP, A SETBP1.0 ;P1.0口置1 RET1) 温度处理子程序该子程序主要完成对存放在40H、41H两单元里的二进制数据进行十进制转化,并用ASCII码表示,最后有存回到40H、41H两单元里的过程。从而可以得到该子程序的流程图5.3所示。取温度高字节的低四位放入A中累加器A中值左移四位,并放回40H取温度低字节的高四位放入A中累加器A中值右移四位,并放回41H把40H中的值转换成十进制并用ASCII码表示把41H中的值转换成十进制并用ASCII码表示返回开始图5.3 温度处理子程序流程图BASCII:MOV A, 40H ;把40H中的值送入A中ANL A, #0FH ;A中值的高四位清零RL A RL ARL ARL A ;A中的值左移四位MOV 40H, A ;把A中的值送回40H中MOV A, 41H ;把41H中的值送给AANL A,#0F0H ;将A中的值低四位清零RR ARR ARR ARR A ;A中的值右移四位MOV 41H, A ;把A中的值送回41H中MOV A, 40H ;把40H中的值送入A中ORL A, 41H ;A中的值与41H中的值求或MOV B, #0AH ;把立即数“0A”送入B中 DIV AB ;A中的值整除B中的值,商的整数部分存入A中,余数在B中 ADD A, #30H ;A中的值加“30H”,即转换成ASCII码 MOV 40H, A ;将A中的值送回40H中,为温度值的十位 MOV A, B ;将B中的值送入A中 ADD A, #30H ;A中的值加“30H”,即转换成ASCII码 MOV 41H, A ;40H、41H分别为温度十进制数(ASCII码),41中的值为个位5.3可燃气体浓度采集的软件设计此部分程序设计的功能是,采用外部中断0的方法,把经A/D转换的气体浓度读入到单片机中,和预先存好的气体浓度临界值进行比较,从而确定报警电路及执行机构的启动或停止。常用的软件设计方法有两种:查询方式、中断方式。为了提高CPU的工作效力,我们这采用中断方式来实现气体浓度的采集工作,即用到CPU的外部中断0。当A/D转换结束时,转换结束状态信号端(EOC)会由低电平变为高电平,利用这一电平的变化,作为外部请求中断信号源,而CPU的外部中断0为低电平有效,所以我们用了一个非门来实现EOC和INT0的连接8。为了更好的说明问题,附出相应的硬件原理图,如图4.4所示。外部中断0的入口地址是0003H,所以必用的两条指令是: ORG 0003H LJMP EXINT0保护现场产生读信号来读取结果再次启动A/D转换恢复现场中断返回图5.4 气体浓度监测中断服务子程序流程图由此我们可得气体浓度监测中断服务子程序流程图5.4所示。此外,当检测到的可燃气体的浓度超过预存的报警临界浓度值时,要能通过单片机来控制报警装置及外部执行机构的启动,即使蜂鸣器响和继电器吸合,从而达到报警和排出可燃气体的目的。因此,我们根据硬件电路可知,把P2口的P2.2和P2.3两管脚都置0即可。指令如下: CLR P2.2 ;启动报警装置 CLR P2.3 ;继电器吸合气体浓度监测中断服务子程序如下:EXINT0: PUSH ACC ;保护现场MOVX A,DPTR ;产生读信号来读取结果 MOV R0,A ;把A中的值送入R0指出的内部RAM存储单元中 MOV DPTR,#0FEFFH MOV A,#00HMOVX DPTR,A ;再次启动转换POP ACC ;恢复现场RET0 ;中断返回5.4液晶显示的软件设计要想液晶显示模块(LCM)正常工作,显示我们需要的内容,就必须先对液晶显示模块进行初始化。其中液晶显示模块初始化的内容包括:清屏并光标复位(01H)、显示模式的设置,如设置成:8位2行5x7点阵(38H)、显示器开、光标开、光标允许闪烁(0FH)及文字不动、光标自动右移(06H)等功能的设置。而GDM0801A液晶模块内部的控制器共有11条控制指令,如下所示,它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左移S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线N:低电平时为单行显示,高电平时双行显示F:低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。
展开阅读全文