毕业设计 基于单片机自动灭火系统_第1页
毕业设计 基于单片机自动灭火系统_第2页
毕业设计 基于单片机自动灭火系统_第3页
毕业设计 基于单片机自动灭火系统_第4页
毕业设计 基于单片机自动灭火系统_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

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

文档简介

济源职业技术学院毕业设计题目基于单片机自动灭火系统设计任务书设计题目自动灭火系统设计规定1.本次设计的自动灭火系统,电路简朴,并且易懂,使操作使用者使用非常以便,成本较低,敏捷可靠,连接简朴,具有非常高的实用价值。2.合理设计室内温度、烟雾浓度检的采集和显示系统、报警系统、自动控制系统的总体方案。3.设计内容包括报警系统、自动灭火驱动部分、显示部分、键盘的设计思绪。设计进度规定第一周选定论文题目第二周查找有关资料第三周整顿资料第四面掌握单片机硬件、软件的构成和应用第五周完毕论文,编程调试第六周经老师检查后进行修改毕业论文第七周打印论文,完毕毕业论文第八周答辩指导教师(签名):摘要伴随社会的进步,人们越来越重视火灾的防备工作,许多单位或生产线逐渐引入完善的防火系统,目前市场上的防火大多处在原始的人为手动的灭火,其效率低下,效果并不好,因此全新的自动灭火系统这些年也是应用而生,小到家庭的火灾防备,大到整个森林的火灾防备,这都无疑证明自动灭火在当下甚至未来是一种不可阻挡的发展趋势。本课题重要是围绕AT89C51为设计关键的自动灭火系统,通过烟雾和温度传感器采集信号,MCU的控制来实现自动灭火,应用的范围广泛,可扩展性也是相称的强,针对不一样的场所可以自行改善有关的部分。本次设计的重要方面是信号的检测和单片机程序的控制部分,也是整个自动灭火系统的两个重要方面。关键词:自动灭火系统;AT89C51;烟雾和温度传感器控制部分

目录TOC\o"1-2"\h\u12682设计任务书 I21997摘要 II5360目录 III82681.绪论 1323151.1课题背景 163611.2自动灭火系统设计的意义 141.3自动灭火系统的总体设计方案 2300032.自动灭火系统中火灾探测器的选择 3252052.1概述 334872.2感温探测器选择 4115132.3DS18B20 5162112.4烟雾浓度探测器 8323173.火灾探测器输出信号处理和数据的传播 12189524自动灭火系统MCU控制器 14199024.1概述 14192734.2AT89C51的简介 14160864.3AT89C51与上位机的接口电路 20197375.自动灭火系统外接硬件系统 2280015.1报警部分 22191735.2自动灭火电路驱动部分 23222305.3灭火有关的知识某些简介 24263305.4显示部分 25148395.5键盘的设计思绪 2669366.自动灭火系统软件设计简介 28318717.结论 3119804致谢 3212607参照文献 338467附录A: 3425163附录B.总体电路图 511.绪论1.1课题背景火灾,作为一种具有突发性和强破坏性的灾害现象,严重危害人类生命财产安全和自然环境。据记录,在众多的灾种中,火灾导致的直接损失约为地震的5倍,仅次于干旱和洪涝,而火灾发生的频度则居于各灾种之首。千百年来,人类和火灾进行了长期的斗争,积累了许多防火、灭火的经验教训。伴随社会的不停发展,人们对于火灾的认识不停加深,针对火灾初期不一样特性的多种探测措施越来越多。人类逐渐掌握了火的燃烧机理,燃烧条件和燃烧发展的过程,发明了多种各样防火、灭火的措施。在上世纪70年代后期,开始出现一门新兴的多学科交叉应用基础科学,火灾科学,其中心内容就是用现代高科技手段研究火灾发生、发展和防治的机理和规律,为火灾防治提供新的思想、理论和措施,使得人类对火灾的研究进入了科学化、系统化的轨道,并增进了防火、灭火技术的进步。本文基于上述考虑,通过研发全自动灭火控制系统,满足了顾客的不一样使用环境的需要。通过温度传感器和烟雾传感器检测出信号,也可通过控制电路使电话自动拨号(119),并汇报现场地址。这对有效、迅速扑救具有积极意义。本系统合用于多种消防环境,尤其适合于不能用水做灭火介质的地方,如图书馆、档案馆、计算机房等处。因单片机集成度高,故该装置具有构造简朴,可靠性高,成本低等长处。1.2自动灭火系统设计的意义仓库自动报警灭火系统。美国目前已制定了有关规范对其推广,英国、澳大利亚、也在使用,实践证明仓库内安装该系统可以扑救仓库初期火灾,保护仓库财产安全,减少火灾损失以及为急救货品提供足够的时间并能及时报警。伴随我国自动报警灭火系统的不停发展,自动报警灭火系统大大的减少了火灾的危害性,把火灾给人们带来的经济损失将到了最低,为保证人的生命及财产安全提供了保障。在本次自动报警灭火系统采用了烟雾传感器之间的互锁模式进行控制,防止了因烟雾在仓库中的扩散而引起的其他非着火区域的错误报警与灭火,大大减少了系统的误报率,有很强的实用意义。且在本次设计中还采用了先报警后灭火的报警灭火模式,管理人员提供了有效的火灾确认时间,大大减少了因误报带来的损失,具有很强的实用价值。1.3自动灭火系统的总体设计方案单单片机温度传感器信号处理电路烟雾传感器AD转换器液晶显示设定阀值驱动电路灭火装置的启动故障复位报警电路电压比较器图1-1设计原理框图图1-1基本上完整的阐明了整个系统硬件部分的设计思绪,首先是外界的温度信号和烟雾浓度信号被我们采集,然后通过转化,这里需要做一下阐明,由于温度传感器选用的是集成的DS18B20,自带AD转换,而烟雾传感器输出的信号作为辅助判断,我们为了节省成本,只需要懂得其与否在危险范围内,因此通过简朴的电压比较器即可实现(详细见后文),输入信号进入单片机后,即可由MCU进行判断,然后通过一系列I/O端口发出电平信号,来驱动外界的灭火设备。我们可以通过连接的键盘,到达故障复位,阀值设定等。我们可参照附录的总体电路图,键盘部分、声光报警部分、驱动电路部分均是通过软件编程来控制其运行的。

2.自动灭火系统中火灾探测器的选择2.1概述对于一种自动灭火系统更而言,火灾探测器像是整个系统的一扇窗户,是对外界信息就行读取的渠道,它的重要性也就不言而喻了。怎样对的有效的选用火灾探测器,对于整个自动灭火系统有着实质性的影响。下面我们现对火灾发生的有关特性进行简朴的理解,以确定我们需要从哪些方面来进行火灾的检测。火灾初期有阴燃阶段,产生大量的烟和少许的热,很少或没有火焰辐射,火灾中期发展迅速,产生大量热、烟和火焰辐射。我们针对现场的这些信息搜集,诸如温度、烟雾浓度(产生的气体)、火焰等,来判断火灾与否发生,这是火灾探测基本思绪。因此,我们可以很清晰的懂得了探测器需要完毕的任务,即对温度、烟雾浓度、火焰等有关信息的获取。鉴于本次自动灭火系统重要合用于计算机房、通讯机房、配电房、油浸变压器、自备发电机房、图书馆、档案室、博物馆及票据、文物资料库等场所,我们可以通过对温度和烟雾浓度的检测来判断火灾与否发生。由于场所的不定性,在不一样高度的建筑物设置火灾探测器时可参照表2-1的规定。表2-1点型感烟、感温火灾探测器的实用高度房间高度(m)感烟探测器感温探测器一级二级三级12<h20不适合不适合不适合不适合8<h12适合不适合不适合不适合6<h8适合适合不适合不适合4<h6适合适合适合不适合h4适合适合适合适合通过上表的理解,若是对于一般高度的房间,感烟和感温基本上能满足规定;同步我们需要考虑另一种问题,即探测器所能覆盖的范围,通过参照某些规范和本系统的规定,对火灾探测器的设置如下:(1)一种探测区域内至少应布置一只火灾探测器。(2)在宽度不不小于3m以内的过道顶棚上设置探测器时宜居中布置。感温探测器的安装间距L不应超过10m,感烟探测器的安装间距L不应超过15m,探测器至端墙的距离不应不小于探测器间距的1/2。(3)感烟探测器、感温探测器的保护面积和保护半径应当通过现场的测试检查可知。(4)探测器至墙壁、梁的水平距离不应不不小于0.5m,并且探测器的周围0.5m内不应有遮挡物。(5)探测器宜水平安装,如必须倾斜安装时,倾斜角不应不小于45。当屋顶坡度θ不小于45时,应加木台或类似措施安装探测器。火灾探测器数量的计算: 一种探测区域内所需设置的探测器数量,应由下式计算:(2.1)式中:N—一种探测区域所需设置的探测器数量(只),N1(取整数);S—一种探测区域的面积(m2); A—一种探测器的保护面积;K—修正系数,重点保护建筑K取0.7~0.9,一般保护建筑K取1.0。可以根据所处房间的大小和保护级别来合理安排探测器的数目和位置。2.2感温探测器选择测量温度的关键是温度传感器,本次设计中,我考虑了两种设计方案。(1)方案一采用热电偶温差电路测温,温度检测部分使用低温热偶,热电偶由两个焊接在一起不一样金属导线构成,热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势构成。通过将参照节点保持在已知温度并测量该电压,便可推断出检测节点的温度。数据采集部分使用带有A/D通道的单片机,将随温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,将被测温度显示出来。热电偶电路的长处是测温范围广,且体积下。不过存在输出电压小、轻易受到来自导线环路的噪声影响以及漂移较高的缺陷,并且需要设计A/D转换电路,因此可靠性较差、测量温度精确率低。(2)方案二采用数字温度传感器,将温度直接转化成数字信号经单片机输出。数字温度传感器的内部都包括温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路,其特点是能直接输出数字化的温度数据及有关的温度控制量,自动适配多种微控制器(MCU)。采用数字温度传感器以实现温度数字化,既能以数字形式直接输出被测温度值,具有测量误差小,辨别力高,抗干扰能力强,可以远程传播数据,带串行总线接口等长处。本此感温探测器选用的是DS18B20芯片。DS18B20是美国Dallas企业最新推出的一种单总线系统的数字温度传感器。与老式的热敏电阻温度传感器不一样,它可以直接读出被测温度,并且可根据实际规定通过简朴的编程实现9~12位的数字值读数方式,可以分别在93.75ms和750ms内将温度值转化9位和12位的数字量。因而使用DS18B20可使系统构造更简朴,可靠性更高。芯片的耗电量很小,从总线上“偷”一点电存储在片内的电容中就可正常工作,一般不用另加电源。最可贵的是这些芯片在检测点已把被测信号数字化了,因此在单总线上传送的是数字信号,这使得系统的抗干扰性好、可靠性高、传播距离远。2.3DS18B202.3.1DS18B20特点:(1)单线接口,只有一根信号线与CPU连接单总线器件,具有线路简朴,体积小的特点;(2)不需要备份电源,可通过信号线供电,电源电压范围从3.3~5V;(3)传送串行数据,不需要外部元件;(4)温度测量范围从-55℃~+125℃;(5)通过编程可实现9~12位的数字值读数方式(出厂时被设置为12位);(6)零功耗等待;(7)现场温度直接以“一线总线”的数字方式传播,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如环境控制、设备或过程控制、测温类消费电子产品等。2.3.2DS18B20的内部构造DS18B20内部构造重要由四部分构成:64位激光ROM,温度敏感元件,非易失性温度报警触发器TH和TL,高速暂存器。64位激光ROM是出厂前被光刻好的,它其中保留着该DS18B20的产品信息和产品系列编码,可以看作是该DS18B20的地址序列号。单总线上所有DS18B20器件可以通过检索器件的ROM中的内容进行识别。DS18B20的管脚排列如图2-1所示。图2-1DS18B20管脚排列引脚功能如下:VDD:可选电源脚,电源电压范围3~5.5V。工作于寄生电源时,此引脚应接地;DQ:数据输入/输出脚,漏极开路,常态下高电平。2.3.3DS18B20测温原理DS18B20内含两个温度系数不一样的温敏振荡器,其中温敏振荡器1相称于测温元件,温敏振荡器2相称于标尺,通过不停比较两个温敏振荡器的振荡周期,得到两个温敏振荡器在测量温度下的振荡频率比值,根据频率比值和温度的对应曲线,得到对应的温度值。其原理图如图2-2所示:详细测温过程如下:首先由预置器2将温度寄存器预置为对应于温度下限(-55℃)的值。然后,由预置器1对计数器1也预置一种对应于温度下限(-55℃)的计数值,计数器1接受温度振荡器1的输出信号并进行减法运算。计数器

2接受温敏振荡器2的输出信号得到实际温度值并送给温度寄存器作为比较标尺。假如计数器1首先递减到0,那么将向温度寄存器输出一种信号,温度寄存器的值将增长一位,对应温度值增长一种辨别率的值(如辨别率为0.5℃时,对应温度值增长0.5℃),阐明实测温度高于-55℃。随即,斜率累加器根据两个温敏振荡器的温度特性曲线计算出下一种温度位置处计数器1的预置计数值,对计数器1再次进行预置。计数器1和计数器2再次开始计数。假如计数器2先于计数器1抵达0,完毕一次测温。温度寄存器中的值为测量所得的目前温度值。通过这个过程不仅完毕了测温,并且将完毕了温度值的数字化,省去了A/D转换器。图2-2DS18B20测温原理DSl8B20中的数字温度传感器的辨别率可配置为9、10、11和12位,出厂默认设置为12位辨别率,对应的温度值辨别率分别为0.5、0.25、0.125和0.0625。温度信息的低位、高位字节内容中,还包括了符号位S(是正温度还是负温度)和二进制小数部分,详细形式为:低位字节:

MSB23MSB2221202-12-2LSB2-3LSB2-4高位字节:MSBSMSBSSSS26LSB25LSB24这是12位辨别率的状况,假如配置为低的辨别率,则其中无意义位为0。在DSl8B20完毕温度变换之后,温度值与储存在TH和TL内的告警触发值进行比较。由于是8位寄存器,因此9~12位在比较时忽视。TH或TL的最高位直接对应于16位温度寄存器的符号位。假如温度测量的成果高于TH或低于TL,那么器件内告警标志将置位,每次温度测量都会更新此标志。只要告警标志置位,DSl8B20就将响应告警搜索命令,这也就容许单线上多种DSl8B20同步进行温度测量,虽然某处温度越限,也可以识别出正在告警的器件。2.3.4与单片机的接口电路本次设计中采用的是外部供电方式,其与单片机接线方式如图2-3所示: 图2-3DS18B20的接线方式2.4烟雾浓度探测器烟雾传感器属于气敏传感器,是气-电变换器,它将可燃性气体在空气中的含量(即浓度)转化成电压或者电流信号,通过A/D转换电路或者LM339比较器将模拟量转换成数字量后送到单片机,进而由单片机完毕数据处理、浓度处理及报警控制等工作。传感器作为烟雾检测报警器的信号采集部分,是仪表的关键构成部分之一。由此可见,传感器的选型是非常重要的。2.4.1烟雾传感器简介(1)烟雾传感器的分类(a)运用物理化学性质的烟雾传感器:如半导体烟雾传感器、接触燃烧烟雾传感器等。(b)运用物理性质的烟雾传感器:如热导烟雾传感器、光干涉烟雾传感器、红外传感器等。(c)运用电化学性质的烟雾传感器:如电流型烟雾传感器、电势型气体传感器等。(2)烟雾传感器应满足的基本条件一种烟雾传感器可以是单功能的,也可以是多功能的;可以是单一的实体,也可以是由多种不一样功能传感器构成的阵列。不过,任何一种完整的烟雾传感器都必须具有如下条件:(a)能选择性地检测某种单一烟雾,而对共存的其他烟雾不响应或低响应;(b)对被测烟雾具有较高的敏捷度,能有效地检测容许范围内的烟雾浓度;(c)对检测信号响应速度快,反复性好;(d)长期工作稳定性好;(e)使用寿命长;(f)制导致本低,使用与维护以便。 (3)常见烟雾传感器可检测烟雾种类由于烟雾的种类繁多,一种类型的烟雾传感器不也许检测所有的气体,一般只能检测某一种或两种特定性质的烟雾。例如氧化物半导体烟雾传感器重要检测多种还原性烟雾,如CO、H2、C2H5OH、CH3OH等。固体电解质烟雾传感器重要用于检测无机烟雾,如O2、CO2、H2、Cl2、SO2等。2.4.2离子型烟雾传感器综合考虑本次选用的是离子型传感器,型号为HIS-07或者NIS-07,如下为NIS-07的技术参数:DC:9V;输出电压5.6+0.4V;电流损耗:27+3pA;敏捷度0.6+0.1V;湿度:90%如下。下面简介下离子型传感器的工作原理:离子烟雾传感器单电离室的工作原理,如图4-2所示。图2-4电离室工作原理图图2-4是单电离室的构造图,P1和P2是一对电极,在电极之间放有放射性物质241Am,不停放出α射线,高速运动的α离子撞击极板间的空气分子,将其电离为正离子和负离子,从而使电极之间本来不导电的空气具有了导电性。假如在极板P1和P2之间加上一种电压E,极板间本来杂乱无章的正负离子,在电场的作用下作有规则的运动,从而在极板间形成电离电流,施加的电压越高,则电离电流越大,当电离电流增长到一定值时,将不再增长,此电流称为饱和电流。实际使用的离子烟雾传感器电路如图2-5所示。为了减少温度、湿度等环境条件变化对电离电流带来的影响,以提高传感器工作的稳定性,将两个电离室串接起来与电源相接,上面的一种为赔偿电离室,下面的一种为检测电离室,在构造上检测电离室做成烟雾轻易进入的型式,而赔偿电离室做成烟雾很难进入、而空气又能慢慢进入的型式。当有火灾发生时,烟雾进入检测电离室,由于烟离子的阻挡作用,首先使电离后的正负离子在电场中的运动速度减少,另首先使α射线的电离能力减少,从而使检测电离室的电离电流减小,这一现象,相称于赔偿电离室的等效电阻未变,而检测电离室的等效电阻变大,从而使A点的电位升高。显然烟雾浓度越大,烟离子的阻挡作用越强,A点电位越高。这一电压信号经由T1、T2构成的跟随电路,传送给模/数转换电路,实现对烟雾浓度的采样。采用离子源作为烟敏元件的突出特点是电流消耗极低,适合在系统中使用。图2-5离子烟雾传感器电路

3.火灾探测器输出信号处理和数据的传播我们都懂得火灾探测器的输出信号可以是模拟信号,也可以是数字信号,而单片机所能识别只有TTL电平的数字信号,高于2.2V为逻辑1,低于0.8V为逻辑0,这就需要我们对传感器的输出信号进行转换。同步,由于现场的多种干扰原因会导致信号的失真,频率的混叠,这也就规定我们对输出的模拟信号进行处理,以最大程度地原始地复现外界信息的变化。从前面的对于DS18B20的简介,它是一种集成的可编程的温度传感器,体积小小,数字化,网络化,精度高、接线简朴,输出的直接为数字信号,传播串行的数据,不需外部设备,下面简朴的阐明下DS18B20与单片机信号处理的次序:初始化单总线系统;执行某种ROM操作指令;执行存储器操作指令;处理数据。假如测温现场需要多种温度传感器,PC与DS18B20的连接可使用DALLAS提供的单总线到PC串口或并口的适配器,常用的有DS9097串行口适配器和DS1410并行口适配器,这样只需要一条双绞线(一条为信号线,一条为地线)从控制器引入测温现场,然后将多种DS18B20挂在其上就行了。由于本次信号的关键还是温度,对于烟雾浓度是用来辅助判断,为了节省成本,将不采用AD转换,用一种简朴的电压比较器LM339来与预设定的电压值比较输出一种电压信号直接传播到单片机,即无需对烟雾浓度的详细值进行精确的理解,只是判断与否在危险范围内,这样可以省去诸多信号处理电路,详细离子型烟雾传感器的输出信号的处理电路如下:图3-1离子烟雾传感器信号处理电路可以根据测试现场的环境来设定参照输入电压或者通过调动滑动变阻器即可实现简朴的浓度预设值,需要进行现场的调试。输出直接接到单片机的端口P1.0,低电平为安全,高电平为处在危险状况。下面对上述电路进行简朴的分析:如图3-1选用LM339为电压比较器,比较器电路自身也有技术指标规定,如精度、响应速度、传播延迟时间、敏捷度等,大部分参数与运放的参数相似在规定不高时可采用通用运放来作比较器电路。电压比较器是对两个模拟电压比较其大小(也有两个数字电压比较的,这里不简介),并判断出其中哪一种电压高。当“+”输入端电压高于“-”输入端时,电压比较器输出为高电平;当“+”端电压低于“-”输入端时,电压比较器输出端为低电平。由于比较器与运放的内部构造基本相似,其大部分参数(电特性参数)与运放的参数项基本同样(如输入失调电压、输入失调电流、输入偏置电流等)。因此计算时直接把它当做运放,离子烟雾传感器的电压输出在5.6+0.4v的范围左右波动,设为U,输出为U0。参照电压可以取5V,设为Vcc,则输出

4自动灭火系统MCU控制器4.1概述控制器是整个灭火系统的灵魂,因此我们选择是需要慎之又慎。在众多的51系列单片机中,要算ATMEL企业的AT89C51更实用,因他不仅和8051指令、管脚完全兼容,并且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器顾客可以用电的方式瞬间擦除、改写,一般专为ATMELAT89Cx做的编程器均带有这些功能。显而易见,这种单片机对开发设备的规定很低,开发时间也大大缩短。写入单片机内的程序还可以进行加密,这又很好地保护了你的劳动成果。单对AT89C51来说,在实际电路中可以直接互换8051和8751。由于内部RAM的存在,可以减少I/O扩展芯片、锁存器及片外RAM等等,使整个设计显得简朴明了,因此我们选择AT89C51。4.2AT89C51的简介4.2.1有关AT89C51单片机AT89C51单片机的构造框图如图3.1所示。它重要由下面几种部分构成:1个8位中央处理单元(CPU)、片内Flash存储器、片内RAM、4个8位的双向可寻址I/O口、1个全双工UART(通用异步接受发送器)的串行接口、2个16位的定期器/计数器、多种优先级的嵌套中断构造,以及一种片内振荡器和时钟电路。CPCPU中断控制振荡器片内Flash存储器总线控制片内RAM4I/O端口ETC定期器1定期器0串行端口外部中断P0P2P1P3地址/数据TXDRXD计数器输入图4-1AT89C51单片机的构造框图4.2.2重要性能1.与MCS-51兼容

2.4K字节可编程闪烁存储器

寿命:1000次写/擦循环

数据保留时间:

3.全静态工作:0Hz-24Hz

4.三级程序存储器锁定

5.128*8位内部RAM

6.32可编程I/O线

7.两个16位定期器/计数器

8.5个中断源

9.可编程串行通道

10.片内振荡器和时钟电路此外,AT89C51是用静态逻辑来设计的,其工作频率可下降到0Hz,并提供两种可用软件来选择的省电方式——空闲方式(IdleMode)和掉电方式(PowerDownMode)。在空闲方式中,CPU停止工作,而RAM、定期器/计数器、串行口和中断系统都继续工作。在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,故只保留片内RAM中的内容,直到下一种硬件复位为止。4.2.3引脚功能阐明AT89C51引脚图如图4-2所示图4-2VCC:供电电压。VSS:接地。P0口:P0口为一种8位漏级开路双向I/O口,每脚可吸取8个TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0可以用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一种内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接受输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,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口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的某些特殊功能口,如下表所示:

口管脚备选功能

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2/INT0(外部中断0)

P3.3/INT1(外部中断1)

P3.4T0(记时器0外部输入)

P3.5T1(记时器1外部输入)

P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同步为闪烁编程和编程校验接受某些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存容许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定期目的。然而要注意的是:每当用作外部数据存储器时,将跳过一种ALE脉冲。如想严禁ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用。此外,该引脚被略微拉高。假如微处理器在外部执行状态ALE严禁,置位无效。

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管与否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。4.2.4时钟振荡器AT89C51中有一种用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图4-3。外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路,对外电容C1、C2虽然没有十分严格的规定,但电容容量的大小会轻微影响振荡频率的高下、振荡器工作的稳定性、起振的难易程序及温度稳定性,假如使用石英晶体,我们推荐电容使用30pF(±10pF),而如使用陶瓷谐振器提议选择40pF(±10F)。顾客也可以采用外部时钟。采用外部时钟的电路如下图所示。这种状况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一种2分频触发器后作为内部时钟信号的,因此对外部时钟信号的占空比没有特殊规定,电脑最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的规定。图振荡电路图4-3时钟振荡电路4.2.5编程方式编程前,须设置好地址,数据及控制信号,编程单元的地址加在P1口和P2口的P2.0-P2.3<11位地址范围为0000H-0FFFH>,数据P0口输入,引脚P2.6,P2.7和P3.6,P3.7的电平设置见表3-4,PSEN为低电平,RST保持高电平,EA/引脚是编程电源的输入端,按规定加上编程电源,ALE/PROG引脚输入编程脉冲(负脉冲)。编程时,可采用4—20MHz的时钟震荡器,AT89C51编程措施如下:在地址线上加上要编程单元的地址信号。在数据线上加上要写入的数据字节。激活对应的控制信号。在高电压编程方式时,将EA/端加上+12V编程电压。每对Flash存储阵列写入一种字节或每写入一种程序加密位,加上一种ALE/PROG编程脉冲。变化编程单元的地址和写入的数据,反复1—5环节,直到所有文献编程结束。每个字节写入周期是自身定期的,一般约为1.5ms。4.2.6数据查询AT89C51单片机用数据查询方式来检测一种写周期与否结束,在一种写周期中,如需读取最终写入的那个字节,则读出的数据的最高位(P0.7)是本来写入字节最高位的反码。写周期完毕后,有效的数据就会出目前所有输出端上,此时,可进入下一种字节写周期,写周期开始后,可在任意时刻进行数据查询。4.2.7Ready/Busy字节编程的进度可通过“RDY/BSY”输出信号监测,编程期间,ALE变成高电平“H”后P3.4(RDY/BSY)端电平被拉低,表达正在编程状态(忙状态)。编程结束后,P3.4变为高电平准备就绪状态。4.2.8复位电路在振荡,有两个机器周期(24个振荡周期)以上的高电平出目前此引脚时,将使单片器运行时机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0-P3口均置1引脚体现为高电平,程序计数器和特殊功能寄存器SFR所有清零。当复位脚由高电平变为低电平时,芯片为ROM的0000H处开始运行程序。该芯片的复位脚为9脚,因此复位电路接STC89C52RC的9脚,详细电路如下图所示。当采用的晶体频率是6MHZ时,可取C=22UF,R=1K;当采用的晶体频率为12MHZ时,可取C=10UF,R=8.2K。不过这都是最佳的组合,也可以有其他大小的电容电阻,只要符合电路规定就可以,如本文就采用22UF的电容和10K的电阻。图4-4复位电路4.3AT89C51与上位机的接口电路本次的串口通信的设计重要是考虑到其可扩展性进行设计的,由于灭火系统也许用于多点和网络型的实时监测,这对于数据的处理规定较高,需要接到上位机PC,为此我们设计了一种基于RS232的串口通信,以备扩展需要,下面就基于RS232的串口通信做简朴的简介。1.RS232协议原则RS232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5V~+15V,负电平在-5V~-15V电平。当无数据传播时,线上为TTL电平,从开始数据传播到结束,线上电平从TTL电平到RS232电平再返回TTL电平。接受器经典的电平在+3V~+12V与-3V~-12V。由于发送电平与接受电平的差仅为2~3V左右,因此其共模克制能力差,再加上双绞线上的分布电容,其传播距离最大为约15m,最高速率为20kbps。2.MAX232简介RS232用正负电压来表达逻辑状态,与TTL以高下电平表达逻辑状态规定不通,因此要用RS232总线进行串行通信时需外接电路以实现电平转换。在发送端用驱动器将TTL电平转换成RS232电平,在接受端用接受器将RS232电平再转换成TTL电平。MAX232内部有电荷汞电压转换器,可将+5V电源变换成RS232所需的±10V电压,以实现电压的转换,既符合RS232的技术,又可实现+5V单电源供电,因此MAX收发器电路给短距离串行通信带来极大的以便。硬件连接

单片机有一种全双工的串行通讯口,因此单片机和计算机之间可以以便地进行串口通讯。进行串行通讯时要满足一定的条件,计算机的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一种电平转换电路,采用专用芯片MAX232进行转换,虽然也可以用几种三极管进行模拟转换,不过还是用专用芯片更简朴可靠。采用三线制连接串口,也就是说和计算机的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。电路如图4-4所示,MAX232的第11脚和单片机的11脚连接,第12脚和单片机的10脚连接,第15脚和单片机的20脚连接。图4-5基于rs232串口通信电路

5.自动灭火系统外接硬件系统5.1报警部分本次报警部分分2个部分,一种是LED灯光的闪烁,一种是蜂鸣器的报警。LED报警:由2个不一样颜色的二极管构成,分别接到单片机的P0.5和P0.6,其中P0.5为黄色,预警,即烟雾浓度指示灯,当烟雾浓度不满足测试值时便开始发光;P0.6端口接红色LED,即温度超过阀值便开始不停的闪烁(闪烁轻易引起人们的注意),发出火灾警告。蜂鸣器报警下图5-1为声音报警部分的电路图,通过简朴的三极管Q9014驱动电路和蜂鸣器构成,其中一种电阻是偏置电阻,给三极管提供偏置电压。这个电路的工作过程可简朴的描叙如下:驱动电路的输入端与单片机的I/O口相连,当I/O口输出一种高电平,三极管Q的基极B得到高电平,三极管导通,电流从VCC经集电极C流向发射极E,并流入蜂鸣器BP,这样蜂鸣器BP得到工作电流而发出“滴滴”的提醒音。图5-1蜂鸣器报警电路

5.2自动灭火电路驱动部分5.2.1概述本部分由两组构成,一组用来作为初级阶段的火灾驱动,一组作为下一阶段的火灾驱动,详细的灭火设备和选用的物质和现场紧密有关的。5.2.2固态继电器SRR固态继电器又名固态开关。是一种新奇的四端以弱控器的无触点功率控制元件。一般施加输入信号后其主控回路呈导通状态,无信号时呈阻断状态,固态继电器为一种四端组件:两个输入控制器,两个输出受控端。它由三部分构成:输入控制部分、隔离部分及输出受控部分。输入控制部分一般由限流电阻或恒流电路及光电二极管构成;隔离部分一般由光电隔离器构成,也有用变压器隔离的。输出部分一般由光敏控制器、电压过零控制器、驱动器、可控硅及阻容吸取部分构成,固态继电器的如图6-2所示。恒流恒流电路发光二极管过零控制器光敏检测器与门驱动器可控硅图5-2SRR的构造构成示意图5.2.3固态继电器特点(1)输入控制电压低(3~14V),驱动电流小(3~15mA),输入控制电压与TTL、DTL、HTL电平兼容,直流或脉冲电压均能作输入控制电压;(2)输出与输入之间采用光电隔离,可实目前以弱控强的同步,做到强电与弱电完全隔离,两部分之间的安全绝缘电压不小于2kV,符合国际电气原则UL的器件;(3)输出无触点、无噪音、无火花、开关速度快;(4)输出部分内部一般具有RC过压吸取电路,以防止瞬间过压而损坏固态继电器;(5)有多种规格可选择:输入有电阻限流直流、恒流直流、交流等类型。输出有直流输出方式和交流输出方式。输出额定电压有(220~380V)交流电压及(30~180V)直流电压。交流输出中有过零触发型和非过零触发型(移相型);(6)过零触发型固态继电器对外界的干扰非常小;(7)采用环氧树脂全灌封装,具有防尘、耐湿、寿命长等长处。5.2.4驱动电路部分如下为图6-3,当AT89C51输出为高电平信号时,通过或非门后为低电平信号固态继电器SSR导通,使电磁阀开通,从而到达自动喷淋效果。相反,输出为低电平信号时,通过或非门为高电平信号,固态继电器SSR截止。图5-3SRR驱动电路5.3灭火有关的知识某些简介按照燃烧原理,一切灭火措施的原理是将灭火剂直接喷射到燃烧的物体上。或者将灭火剂喷洒在火源附近的物质上,使其不因火焰热辐射作用而形成新的火点。如下为几种常用的措施:

冷却灭火法:

这种灭火法的原理是将灭火剂直接喷射到燃烧的物体上,以减少燃烧的温度于燃点之下,使燃烧停止。或者将灭火剂喷洒在火源附近的物质上,使其不因火焰热辐射作用而形成新的火点。冷却灭火法是灭火的一种重要措施,常用水和二氧化碳作灭火剂冷却降温灭火。灭火剂在灭火过程中不参与燃烧过程中的化学反应。这种措施属于物理灭火措施。隔离灭火法:隔离灭火法是将正在燃烧的物质和周围未燃烧的可燃物质隔离或移开,中断可燃物质的供应,使燃烧因缺乏可燃物而停止。详细措施有:1、把火源附近的可燃、易燃、易爆和助燃物品搬走;

2、关闭可燃气体、液体管道的阀门,以减少和制止可燃物质进入燃烧区;3、设法阻拦流散的易燃、可燃液体;

4、拆除与火源相毗连的易燃建筑物,形成防止火势蔓延的空间地带。

窒息灭火法:窒息灭火法是制止空气流入燃烧区或用不燃烧区或用不燃物质冲淡空气,使燃烧物得不到足够的氧气而熄灭的灭火措施。详细措施是:1、用沙土、水泥、湿麻袋、湿棉被等不燃或难燃物质覆盖燃烧物;2、喷洒雾状水、干粉、泡沫等灭火剂覆盖燃烧物;

3、用水蒸气或氮气、二氧化碳等惰性气体灌注发生火灾的容器、设备;4、密闭起火建筑、设备和孔洞;5、把不燃的气体或不燃液体(如二氧化碳、氮气、四氯化碳等)喷洒到燃烧物区域内或燃烧物上。目前市场上存在的灭火设备大多基于以上几种灭火原理设计而成的,对于不一样的场所和状况,我们可以灵活的安装和选用灭火设备,以到达最佳的经济效益和灭火效果。5.4显示部分本次的显示部分采用4位的七段共阴数码管显示,部分电路如5-1图所示,通过P2端口提供段选信号来点亮各位和小数点,再通过p0.1、p0.2来进行位选信号的输出,即每次输出的数据送到个位、十位还是百位或是小数位,也就是动态显示。七段数码管有不一样的尺寸,以适应不一样场所的需要。它的七个显示段可以独立地控制发光或者熄灭,这样一来不一样段组合的就形成了不一样的数字或者英文字母。所谓共阴就是7个数码管的负极相连接到GND,而正极由我们来控制;共阳就是这7个发光二极管的正极相连,接到电源正极,而负极则是有我们来控制。在实际的应用中选择共阴或是共阳取决于设计的以便性,本次我们采用共阴。图5-4显示电路5.5键盘的设计思绪键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是人工干预单片机的重要手段。按键是一种常开型按钮开关。平时(常态时),按键的两个触点处在断开状态,按下键时它们才闭合(短路)。本次键盘采用最简朴的上拉电阻和开关与单片机接口相连,由于本次I/O端口的数目足够,故直接与8个端口相连构成8键构成的键盘系统,可参照总电路图,其功用如下:启动、停止、确认、取消、数字加1、数字减1、设置、空白键(为了设计时可以做成4*2)。启动与停止是通过中断来实现的,分别接单片机的INT0和INT1,重要合用于人为的控制系统的运作,即启动按下,不管外界的状况怎样,SSR1SRR2控制端输出高电平,整个灭火设备进入工作状态;设置键、确认、取消、数字+1、数字-1是用来调整温度上限设定的阀值,即报警预设值的设定,初始状态我们给它设定为70摄氏度,可以人为根据现场的环境来增减。CPU通过中断响应和随机扫描两种方式来获取键盘的信号,然后转到内部的程序来执行对应的环节,详细的可参照程序流程图部分

6.自动灭火系统软件设计简介软件流程是程序编写的关键,也是整个控制系统工作的关键思想,因此一种合理有效的流程构思显得尤为重要。主程序的重要功能是负责读取烟雾浓度信号,温度的实时显示,读出并处理DS18B20的目前温度值,同步通过扫描和中断来调用键盘子程序到达阀值调整、故障人工操作等。如图7-1为整个程序的主程序流程图。图6-1主程序流程图参照附录的汇编程序做下简朴的部分原理解释,系统初始化重要是对波特率的设置,单片机与上位机之间的传播是串口,因此需要一种8位的UART,对波特率设置是必须的;同步也对中断的容许位进行了设定,中断申请是靠外部的INTO和INT1输入电平来决定,一旦提出了中断申请,立马转去执行中断子程序SETUP和STOP;系统初始化完毕后,转去判断烟雾输入电平的高下,从而进行初步火灾的判断,决定与否执行启动2路继电器,无论怎样都要转去执行温度本分的信号采集和比较,这部分也是本次程序设计的关键和难点。DS18B20的初始化环节如下:(1)先将数据线置高电平“1”。(2)延时(该时间规定的不是很严格,不过尽量的短一点)(3)数据线拉到低电平“0”。(4)延时750微秒(该时间的时间范围可以从480到960微秒)。(5)数据线拉到高电平“1”。(6)延时等待(假如初始化成功则在15到60毫秒时间之内产生一种由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,不过应注意不能无限的进行等待,否则会使程序进入死循环,因此要进行超时控制)。(7)若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)至少要480微秒。(8)将数据线再次拉高到高电平“1”后结束。接下来要进行的是DS18B20的写操作如下为操作环节:(1)数据线先置低电平“0”。(2)延时确定的时间为15微秒。(3)按从低位到高位的次序发送字节(一次只发送一位)。(4)延时时间为45微秒。(5)将数据线拉到高电平。(6)反复上(1)到(6)的操作直到所有的字节所有发送完为止。(7)最终将数据线拉高。如下为DS18B20的读操作环节:(1)将数据线拉高“1”。(2)延时2微秒。(3)将数据线拉低“0”。(4)延时15微秒。(5)将数据线拉高“1”。(6)延时15微秒。(7)读数据线的状态得到1个状态位,并进行数据处理。(8)延时30微秒。完毕DS18B20温度的读取,然后与设定的上限值进行比较,决定与否启动2路继电器和有关的报警措施。同步要对键盘进行扫描,确定与否变化温度上限值,可参照键盘子程序部分KEYWORK,重要能实现的内容如下,按下设置键,开始进入温度上限变化的程序,按+,个位会自动增长1,假如超过10,则执行个位清零,十位+1,:按下-,则个位会自动减1,假如个位数字为0,则执行十位减1,个位数值变为9。接下来假如收到COFIRM,则设定的数值就成功了,若是DELE,则取消设置,保留原有的数值,转到主程序继续执行。

7.结论本次毕业设计历时3个月,期间多种查阅资料,问询老师有关的前沿信息,终于在今天基本上完毕所有的设计包括阐明书的撰写,心里异常的高心,在此先要感谢我的指导老师常小明老师,再要感谢下平时互相讨论的同学和学校方面的督促,在你们的协助下,我才得以完毕本次毕业设计。在拿到自动灭火这个课题时,首先要做的事就是对课题的任务,规定和条件进行仔细的分析和研究,找出关键问题,根据关键问题提出实现的原理和措施,并画出原理框图。原理方案确定好了之后就是细节部分的研究,这也是非常的复杂,单就传感器的选择就要考虑多种原因,加上本次的设计对场所的不定性规定,我尽量比较全面的考虑问题,以使整个系统有足够强的扩展性,可以在多种场所有其一定程度的价值性。当所有的原因的排除或考虑后来,先对电路图进行了绘制,采用了Protel绘制的。后期重要是软件方面的设计,由于本次传感器的特性,软件实质是整个系统的关键。鉴于之前对于单片机的编程掌握程度不够,这次设计之前大量的阅读和查阅有关的程序,然后用汇编语言进行了本次软件的编写,再次也多亏了有关书籍的协助。本次毕业设计使我对本专业有了个愈加完美的认识,更深入的认识到测控技术与仪器的研究领域,我想这期间的经验将对我后来工作生活学习产生不可磨灭的影响。

致谢首先感谢指导老师常小明不吝赐教,这些日子对我们多方监督通过这次毕业设计,使我深刻地认识到学好专业知识的重要性,也理解了理论联络实际的含义,并且检查了大学三年的学习成果。虽然在这次设计中对于知识的运用和衔接还不够纯熟,不过我将在后来的工作和学习中继续努力、不停完善。这三个月的设计是对过去所学知识的系统提高和扩充的过程,为此后的学习和发展打下了良好的基础。回首在大学的学习生活,有苦有乐,感谢诸多老师予以我的关怀,爱惜和栽培。三年的生活与10级的众同学朝夕相处,在即将毕业的前夕祝愿大家把这段回忆永远存在心中。我敬爱的父母二十数年来为我的成长费尽心血,倾注了无微不至的爱,他们的殷切但愿也是我前进的动力。由于自身水平有限,设计中一定存在诸多局限性之处,敬请各位老师批评指正。

参照文献[1]张宏林.VisualC++串口通信与工程实践[M].北京:人民邮电出版社,.[2]赖寿宏主编.微型计算机控制技术.北京:机械工业出版,.[3]徐爱钧.单片机高级语言C51应用程序设计[M].北京:电子工业出版社,.[4]杨欣.51单片机从零开始[M].北京:清华大学出版社,.[5]谢自美.电子线路设计.试验.测试(第二版)[M].武汉:华中科技大学出版社,.[6]江国强.现代数字逻辑电路.北京:电子工业出版社,.[7]张国雄.测控电路.北京:机械工业出版社,.[8]李刚.现代测控电路.北京:高等教育出版社,.[9]赵茂泰.智能仪器原理及应用.北京:电子工业出版社,1999.[10]施文康.检测技术.北京:机械工业出版社,.[11]陈守仁.自动检测技术及仪表.北京:机械工业出版社,1998.[12]王永华.现代电气控制及PLC技术.北京:北京航空航天大学出版社,:[13]陈立定.电器控制于可编程控制器.广州:华南理工大学出版社,:[14]姜文源.建筑火灭设计手册.北京:中国建筑工业出版社,1997: [15]盛建.火灾报警自动消防系统.北京:天津大学出版社,[16]WestGermany.IntersectionWithoutSignals[M].ProceedingofanInternationalWorkshop16-18March,1998.附录A:程序(汇编语言)单片机内存分派申明! *************************************************LED0EQUP0.0;数码管小数位位选LED1EQUP0.1;数码管个位位选LED2EQUP0.2;数码管十位位选LED3EQUP0.3;数码管百位位选TEMPHEQU31H;用于保留读出温度的高8位TEMPLEQU30H;用于保留读出温度的低8位DIS0EQU40H;显示缓冲寄存器小数位DIS1EQU41H;显示缓冲寄存器个数位DIS2EQU42H;显示缓冲寄存器十数位DIS3EQU43H;显示缓冲寄存器百数位TEMPHCEQU44H;温度转换寄存器高8位TEMPLCEQU45H;温度转换寄存器低八位TMSETVHEQU33H;报警上限设定值BT_VLEQU34H;目前显示数据DISH_VLEQU24H;报警上限个位数寄存内存位置DISH_VHEQU23H;报警上限十位数寄存内存位置TEMPER_LEQU35H;用于保留读出温度的低8位TEMPER_HEQU36H;用于保留读出温度的高8位TMROMVHEQU37H;报警上限;**************************************************CHK_0BITP3.2;数据脚定义CHK_1BITP3.3CHK_2BITP1.2CHK_3BITP1.3CHK_4BITP1.4CHK_5BITP1.5CHK_6BITP1.6CHK_7BITP1.7;**************************************************ORG0000H;程序入口地址AJMPSTARTORG0003HLJMPSETUPORG0013HLJMPSTOPSTART:MOV TMOD,#20H ;波特率设置 MOV TL1,#0E8H;送初值的低8位 MOV TH1,#0E8HSETBEA;CPU容许中断祈求SETBEX1;容许外部中断源1中断SETBEX0;容许外部中断源0中断 CLR ET1;定期器T1中断容许位置0 SETB TR1;启动T1 MOV SCON,#40H MOV PCON,#00H CLR ES;严禁串行口中断 MOV R0,#40HMOVR2,#04HJNBP1.0SRR2SRR2:SETBP3.7CLRP0.5; MOVP1,#0FFH;MOVP2,#0FFH;MOVDISH_VL,#00H;MOVDISH_VH,#00H;MOVTEMPH,#00H;MOVTEMPL,#00H;MOVTMSETVH,#32H;报警预设上限值;**************************************************LCALLSET_18B20;先复位DS18B20MOVA,#0CCH;跳过ROM匹配LCALLWRITE_18B20;MOVA,#0B8H;发出读温度命令LCALLWRITE_18B20;LCALLGET_TEMPER;调用读温度子程序LCALLCONVTEMP;温度BCD码计算处理子程序LCALLDISPBCD;显示区BCD码温度值刷新子程序;**************************************MOVA,TMSETVH;调上限设置值到调整显示寄存ANLA,#0FH;MOVDISH_VL,A;MOVA,TMSETVH;SWAPA;ANLA,#0FH;MOVDISH_VH,A;;****************************************MAIN:MOVTEMPHC,#00H;给转换寄存器高8位清零MOVTEMPLC,#00H;给转换寄存器低8位清零JNBCHK_0,KEYWORK;判断按键与否按下JNBCHK_1,KEYWORKJNBCHK_2,KEYWORKJNBCHK_3,KEYWORKJNBCHK_4,KEYWORKJNBCHK_5,KEYWORKJNBCHK_6,KEYWORKJNBCHK_7,KEYWORKLCALLGET_TEMPER;调用读温度子程序LCALLCONVTEMP;调用数据处理程序LCALLDISPBCD;调用BCD码刷新子程序LCALLDISPLY;调用显示子程序LCALLBT_WORK;调用目前值转换子程序LCALLEMGERCY;调用报警程序 LCALL TRSA ;调用发送程序AJMPMAIN;转主程序;****************************************KEYWORK:KEYWORK1:LCALLDELAYT;调延时去抖;****************************************JNBCHK_0,K0WORKCHK_0与否按下,按下转LCALLDELAYTJNBCHK_1,K1WORK;CHK_1与否按下,按下转JNBCHK_2,TEMRESETJNBCHK_7,K5WORKAJMPKEYWORK1;转去扫描按键;按键功能程序;***************************************K0WORK:CLRP0.5CLRP0.6SETBP0.7SETBP3.7AJMPKEYWORK1K1WORK:CLRP0.7CLRP3.7SETBP0.5SETBP0.6AJMPKEYWORK1TEMRESET:JNBCHK_3,K3WORKJNBCHK_4,K4WORKLCALLDELAYAJMPKEYWORK1K3WORK:INCDISH_VL;上限值+1调整程序MOVA,DISH_VL;CJNEA,#10,OUT;MOVDISH_VL,#00H;INCDISH_VH;MOVA,DISH_VH;CJNEA,#10,,OUT;MOVDISH_VH,#00H;K4WORK:DECDISH_VLMOVA,DISH_VLCJNEA,#00,OUTMOVDISH_VL,#09HDECDISH_VHMOVA,DISH_VHCJNEA,#00,OUTMOVDISH_VH,#09HOUT:JNBCHK_5,COFIRMJNBCHK_6,DELECONFIRM:MOVDIS1,DISH_VL;MOVDIS2,DISH_VH;AJMPKEYWORK1DELE:AJMPKEYWORK1K5WORK:NOPAJMPKEYWORK1;;*************************************MOVA,DISH_VL;写入设定上限值MOVTMSETVH,A;MOVA,DISH_VH;SWAPA;ORLA,TMSETVH;MOVTMSETVH,A;LCALLWRITE_18B20;;***************************************LCALLSET_18B20;先复位DS18B20MOVA,#0CCH;跳过ROM匹配LCALLWRITE_18B20;MOVA,#48H;温度上限和下值COPY回E2PRAMLCALLWRITE_18B20;AJMPMAIN;转主程序报警和驱动外设程序;*************************************EMGERCY:MOVA,BT_VL;CJNEA,TMSETVL,X0;比较目前温度与设定下限温度值LCALLBIAOJING;LJMPOUT;X0:JNCX1;LCALLBIAOJING;LJMPOUT;X1:CJNEA,TMSETVH,X2;LCALLBIAOJING;LJMPOUT;X2:JCGUAN;LCALLBIAOJING;OUT:RET;*************************************EMGERCY:CLRP0.6;开标志灯SETBP0.4;开蜂鸣器SETBP0.7RETGUAN:SETBP0.6;关标志灯CLRP0.4;关蜂鸣器RET;目前值转换子程序;************************************BT_WORK:MOVBT_VL,#00H;MOVBT_VL,DIS1;目前显示保留转换程序MOVA,DIS2;SWAPA;ORLA,BT_VL;MOVBT_VL,A;RET;;读温度子程序;**************************************GET_TEMPER:LCALLSET_18B20JBF0,TSS1RETTSS1:MOVA,#0CCHLCALLWRITE_18B20MOVA,#44HLCALLWRITE_18B20LCALLDISPLYLCALLSET_18B20MOVA,#0CCHLCALLWRITE_18B20MOVA,#0BEHLCALLWRITE_18B20LCALLREAD_18B20RET;**************************************;18B20读数程序SET_18B20:SETBP1.1NOPCLRP1.1MOVR2,#250DJNZR2,$SETBP1.1MOVR2,#30DJNZR2,$

温馨提示

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

评论

0/150

提交评论