版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的地下停车场火灾自动报警器系统设计随着国内人均GDP的不断提升和汽车行业的不断发展,越来越多的人都拥有 1 1 11.3火灾报警器的国内外现状 11.4火灾报警器的发展趋势 31.5设计任务分析 42、总体方案设计 52.1烟雾检测传感器选型 62.2烟雾传感器的介绍 62.3温度传感器的选择 93、系统的硬件电路 3.2单片机的时钟电路与复位电路设计 3.3MQ-2传感器检测AD采集电路 1 3.5蜂鸣器火灾报警提示电路 3.6按键控制温度及应急报警电路 3.7电源供电模块 3.8.1DS18B20作用 3.8.2DS18B20具体参数及工作方式 3.8.3DS18B20引脚及系统接口电路 3.8.4DS18B20电源供电 4系统软件的设计 4.1整个系统主程序设计及流程图 5、系统电路调试 灾报警器方面的研究课题便主要聚焦于火灾的检测方法。本文的主要设计是选择组件,再配以其他硬件电路实现声光报警的功能。一旦所测温度从如今地下停车场的具体情况来看,会有选择性地安装不同功能的火灾报警系统,这一系统是停车场的神经系统,可以对火灾的早期信号加具体的警报。它发出警报并同时通知用户和周围欧美等国家在十九世纪八十年代就开始研究和开发火灾报警器,并且发展很快。一方面,社会经济发展太快,人们对环境安全和生活时得到维护和更新。这些发达国家非常重视开发和研究多年,从而使得消防指挥中心能够在第一时间得到火灾地点的具体火灾详甚至专门成立了相应的火灾监控服务机构,从而对这一类型的机构需要进行资质的审查,并且受到消防部门到了80年代以后,国内市场才刚刚开始发育,生产厂家大都是仿制外国产品或者是引进国外技术进行生产,没有研制属于自己的核心技术。随着国家实量的企业纷纷入驻中国,并带来了大量先进消防技术和企业得到切实的发展,甚至在部分技术方面已经取得了较大的突破近年来由于和外国企业技术合作,我国的火灾自动报警工程应用技术发展空前迅是较为单一的,算法相对而言也是较为复杂的,验第3页共53页(4)组件连接方式单一。我国的火灾自动报警系统一般是由多线式组件连接为主,总线式组件连接较少。从组件的具体连接方式来看,主要是通过铜芯绝缘导线来具体实现的,这样一来,综合的耗材便很多,成本耗用较大,而且抗性相对不足。与此同时,铜导线相对而言导热性较强,硬度还低,从而使得系统的安装和维护难度较大,从而不利于这一系统报警的准确性的最大程度地实现。(5)火灾自动报警系提供的信息不够准确。由于建筑环境复杂,安装的火灾探测器无法准确地探测各种火灾发生现场的需探测物质的浓度,比如可燃气体、温度、颗粒浓度和光波的强度等指标数据。(6)超早期火灾探测报警技术还不成熟。我国的超早期火灾探测报警技术尚且处于开发阶段,但是国外已超越我国研制出了智能烟火灾探测报警系统,从而通过这些较为智能化的探测手段,达到比普通火灾探测报警系统要好得多的探测效果。通过这些系统的智能化的监控,从而对火灾的发生与否加以判断,系统可以在火灾活动发生之前进行报警,从而使得火灾报警能够真正实现提前实现。但是我国尚未形成这一技术,依然在研发和摸索阶段。1.4火灾报警器的发展趋势面对国内火灾报警器的发展现状以及存在的问题,我们要努力去改变当今的现状,持续加大研制的力度,使得这一技术和功能能够切实实现,切实使得这一系统的数据能够更加准确,并且能够向着智能化的方向而迈进。当然,我们在具体对这一系统技术加以打磨的过程中,主要从以下方面来具体实现的。这一系统的网格化主要强调的是通过网络协议来对系统进行远程数据的实时收集,在需要使用时,能够第一时间加以调用;用网络来监控和管理火灾自动报警系统,将所有系统连接成一个大的网络,这样就可以实现各系统间的数据共享;报警人员能够基于此对火灾的具体信息加以掌握,并且让消防部队能够在第一时间派人前往现场处理这一火灾问题。这一系统的智能化显然正是大势所趋,从而使得系统能够真正达到智能化的效果,能够对数据的模拟量加以自动采集,并且对收集到的各项数据进行综合的分析,从而对现场是否发生火灾进行自动分析,使得探测和报送能够达到高精确度,减少误报的几率。在火灾发生之后,自动报警系统能跟据探测到的各种数据对火灾进行分析,甚至可配合电子地图进行形象提示,然后对消防部队的灭火方案给出合理的建议,持续使得多方面的反应实现联动,从而使得人员和财产的损失能够降到最低,而火灾自动报警系统所获取的信息能够帮助起火原因的排查,从而便于后续对火灾事故责任加以调查。第4页共53页用无线技术连接设备,让有线、无线连接互补,同时在强调火灾自动报警系统的小型化的发展趋势时,主要强调的在体积方面尽量变小,从而使得携带变得方便,综合的使用效果也更为简单。那要怎样实现小型化呢?要(5)社区化本文的火灾自动报警器系统设计任务:(1)系统规划和结构优化。(2)选择适合的单片机作为控制核心;设计和改进硬件电路,让其功能更加完善和强大。系统的硬件电路由数据采集电路、声光报警电路、A/D转换电路、1602液晶显示电路等组成。(3)系统软件开发。根据设计需求,用keil编程软件来编写程序,用Proteus8Professional仿真软件来实现电路仿真。在编写程序的同时,还要标注文本来注释程序的意思,以方便调试和改错优化。(4)进行软硬件调试。2、总体方案设计因此有必要使用运算放大器来放大信号。放大的信号被发送到单片机,并且首先执行A/D转换,然后执行信息处理。处理结果通过无线通信技术发送。系统从整体可分为数块、电源模块1、无线发射模块;报警端内包括蜂鸣器模块、LED指示模块、无线接收模块、电源模块2。采用MQ-2盘热式结构半导体式可燃气体敏感传感器检测以烟雾、可燃气体;采DS-18B20数字温度传感器检测温度。按键选择模块:采用液晶显示屏和按键相结合实现对温度、烟雾浓度值设置。电源模块:电源模块1和电源模块2相同,由电池盒或电路总题框图如图1所示:按键控制申源开关单片机图1总体设计框图根据设计需求,选用51系列单片机STC89C52作为核心控制器件。整个系统由单片机STC89C52控制下工作的。烟雾传感器将检测到的烟雾浓度和温度传感器将检测到第6页共53页的温度变换成电信号,送出模拟信号,给A/D采集电路采集放大,由软件比较已设计好的报警值,如果超过报警值就给出信号,让报警器执行声光报警,最后启动安全措施。本方案需要将传感器检测技术、单片机相结合,应用于实践,这是一次考验,需要不遗余力去完成。2.1烟雾检测传感器选型烟雾传感器的选取对于火灾报警器是最优先的环节。事实上,火灾报警器的信号采集工作的顺利实现是基于烟雾传感器以及温度传感器来切实实现的,前者可以使得收集到的气体和浓度情况能够从物理层面上的信息形成相对应的电信号,后者则可以对停车场具体是否存在火灾的情况加以综合的了解,从而总体上达到检测的具体效果。事实上,通过精确的自动检测以及报警系统的实现,从而达到精确的数据输出主要依靠的便是传感系统的可靠性了。从具体结构来看,主要呈现为:图2烟雾传感器及其结构图烟雾传感器可以使得空气之中的烟气浓度达到一定程度时通过电信号的方式来加以检测。烟雾传感器的工作原理:当烟雾探测器检查到烟雾中某种物质浓度超标时,烟雾探测器的内部敏感元件电阻随着发生变化,并会生成一个电信号传输给单片机进行判定。烟雾传感器的选择主要由建筑环境和探测器技术决定。随着探测器探测技术的不断发展,传感器朝着体积小型化和集成化方向发展,使得烟雾传感器的体积不断的缩小,从而大大提高了烟雾传感器的便携性,使它更容易安装、运输和维护。目前,在许多领域烟雾传感器已得到广泛应用,例如城市公共场所安全、城镇居民家庭安全、工厂防火安全、学校防火全、地下停车场、加油站等人口聚集的地方。但国内所生产的烟雾传感器都不可以准确探测到早期火灾的发生,并且探测功能单(1)烟雾传感器应满足的基本条件(a)它对某种单一烟雾非常敏感,可以起到检测作用,但对其他共存烟雾不响应(2)烟雾传感器的分类错241。事实上,电离室所形成的离子在电场的作用下会形成同性离子靠近的效果。从流的具体变化情况。在烟雾粒子切实进入到电离室之后子烟雾传感器对于在火灾的初始阶段和闷燃阶段检测非常精准,它检测的是0.03um该探测器在探测室内也装有发光装置和接收光源装置子式N型半导体传感器,所以本设计中选择MQ-2半导体气体烟雾传感器作为烟雾传感扰能力强MQ-2气体烟雾传感器对检测液化气、丙烷、氢气等可燃气体的灵敏度高,效MQ-2半导体气体烟雾传感器的结构如图3所示,它由陶瓷管、气体敏感层、测量MQ-2半导体气体烟雾传感器对检测烟雾和部分可燃气体非常有效。这种传感器在加热电压(Vh)AC或DC5±0.2V回路电压(Vc)负载电阻(R1)清洁空气中电阻(Ra)灵敏度(S=Ra/Rdg)响应时间(trec)恢复时间(trec)检测范围>4(在1000ppmC4H10中)定的预设值的时候,则需要借助于放大器来对其进行放大处理。也正是因此,在提到MQ-2半导体气体烟雾传感器时,需要将其模拟信号进行传输,从而借助于A/D转换器切实实现电信号的具体转化,在做完上述步骤的基础上使其进一步传输到单片机控制2.3温度传感器的选择方案1:选用PT100温度传感器。Pt100热电阻是温度测量传感器其中的一种。它一般与、第10页共53页调节器、温度变送器和显示仪表等配套使用,组成测温电路系统,用以测量或调控各种企业生产过程中-200℃-500℃范围内的所有物体的温度。如果对温度传感器有一定的认识的话,一定会了解到其工作原理主要是基于温度的变化而带来的电阻的变化来具体开展的。一旦被测的物体存在一定的温差,就可以据此来加以综合的探测和分析。尽管各种各样的热电阻在形状上是千奇百怪的,但是需要清晰地认识到的是,其总体来说,基本结构是相差无几的,组合要素也是基本相同的。Pt100热电阻的工作原理也是根据热电阻随着环境温度的变化其阻值也变化的特征来测量温度的。当Pt100热电阻阻值发生变化时,PT100温度传感器就可以根据其阻值变化所对应的温度值得出实测温度。Pt100热电阻温度传感器内部装有有压簧式感温元件。它的优点有抗振性强、测温准确、耐压性能强、性能可靠稳定等。唯一不足的是使用起来比较复杂。方案2:采用DS18B20温度传感器。DS18B20的接□方式是总线式,即DS18B20在与其他装置连接时仅需要一条口线即可实现装置与DS18B20的信息双向传输。由于这种总线式连接方式,可以使多个DS18B20温度传感器连接在一起形成传感器网络,可以方便快捷获得某区域环境的温度信息。它还有三个与众不同的寄生电源,使得它在进行远距离测温时,无需本地电源;它在测温精度、转换时间、传输速度、分辨率等方面要比其他温度传感器优秀,还能给用户带来了更方便的使用和更令人满意的效果。通过比较方案2比较符合此设计要求,原因有四个:(1)DS18B20温度传感器比Pt100温度传感器的测温温度范围大,而且DS18B20温度传感器对所测温度误差要小;(2)由于DS18B20温度传感器使用集成芯片,所以它能够直接将被测温度转换成数字温度信号,不需要像Pt100温度传感器那样,还要经过各种转换装置转换成数字信号;(3)DS18B20温度传感器连接方式采用的是总线式,使得它不像Pt100温度传感器那样单点测量温度,能够像网状区域检测环境;(4)DS18B20电路安装方便,维护简单。基于以上综述,选择了DS18B20温度传感器来做本设计的温度传感器。3、系统的硬件电路STC89C52单片机的最小系统主要由复位电路、晶振电路、电源组成,如图3所第11页共53页STC89C52单片机适用的电源电压的范围一般都是在4V-5.5V的范围内,若电源电压不足,单片机就无法正常工作。同时,一般对单片机进行供电时我们只需要接入5V成一个完整的电流回路,不然会使系统出现断路。在这次设计中,要用到的主芯片是STC89C52单片机,那么,就必须建立其最小系统,其最小系统包括以下几个模块:1、3.2单片机的时钟电路与复位电路设计其最小系统包括以下几个模块:1、时钟电路模块,用于驱动单片机的时钟顺序,相当于现实中的时序;2、复位电路,用于实现对单片机的重置和数据的清空,当单片机处于锁死的状态,可通过复位按键对单片机进行重启的作用,具体电路如下图4图5所示:3.3MQ-2传感器检测AD采集电路这次用到的二氧化硫传感器是MQ-2传感器,用于采集当地环境的二氧化硫的产生应的报警信号给ADC0832转换模块,当ADC0832转换模块得到探测后获得的各种二氧化硫浓度下的电压值就会进行AD转换得到第12页共53页我实时采集的电压要小,那么就会产生相应的告警情况。电路如图6所示。图7二氧化硫浓度采集电路这里选用的是LCD1602显示屏显示温度,可以比较清楚直观的了解到温度的实时情况,同时通过三极管去驱动LCD1602进行显示。具体的显示的数字,通过C语言程序进行编制,然后经过单片机进行处理之后,进行反馈的。VODOD1D3D5A256图8LCD1602显示3.5蜂鸣器火灾报警提示电路警电路的元器件。工作原理:由一个三极管去驱动蜂鸣器的开启与1蜂鸣器图9蜂鸣器报警电路图要控制温度及应急报警电路,需要设置四个按键,分别是:1、一个烟雾、温度浓度的设置键2、烟雾、温度浓度的数据的加键、一个烟雾、温度浓度的数据的减键、在这次设计中,预设了几个按键,用于满足功能模块的需求:1、用于对烟雾、温度浓度的上下限的设置(S2为设置键,S3为加键,S4为减键),首先通过按键设置烟雾、温度第14页共53页按键电路图10功能按键连接电路图本系统采用电池供电,考虑了如下几种方案为系统供电。因为主芯片是STC85C52芯片,所以这个系统需要的电压是在5V左右,所以整个系统的供电的模式由几种,具体如下:1、可以用电脑USB电源或者5V蓄电池做为整个系统的电源供电。最大的原节1.5V干电池进行串联的方式,能够得到共4.5V,这样就可用作电源供电模块,而且通过查阅单片机的电源供电,发现单片机的供电单元的电压范围在3.3V-5V的电压范围统进行电源输出,作为电源供电模块。具体方案如下图设计:1、电源接口电路如图10所示,从下图可知电源供电模块的接口为P1□,而SW1这个开关控制电源的连接与断电池盒接口这次主要运用到的就是能够直接采集环境中的温度情况,并通过总线与STC8道,一旦采集到的温度的数据大于预先设置的温度的数值时,STC89C52芯片随即做出温度输入(2进制)输出(16进制)+10.125℃-0.5℃-10.125℃第16页共53页3.8.3DS18B20引脚及系统接口电路底视图12DS18B20的管脚实物图P25图13DS18B20温度传感器引脚及接□电路图由于DS18B20温度传感器模块本身特性,采用两种不同电源供电的模式。1、直接利用2节干电池进行供电的方式,但是这种方式不利于对电池有效性的使用,2、利用usb供电的方式进行供电,主要的模式就是在原理图画出一个插接□的模块,主要是5V电源模块,包括:VCC、GND、信号线,这刚好跟DS18B20模块的信号吻合,只需要将,温度采集模块的1号因脚接GND,2号脚接信号线,同时将3号引脚接VCC。4系统软件的设计4.1整个系统主程序设计及流程图在这次设计过程中,由于选择的烟雾、温度浓度传感器需要在事先进行通电预热,使得里面的传感芯片能够适应当前的烟雾、温度浓度,在进行测试时,需要对传感器进经过ADC8032转换成电压信号,将电压信号通过单片机的I/O引脚,转化成单片机可识别的脉冲,然后STC89S52单片机会进行数据的对比与处理,最后驱动不同的执行机开始开始初始化液晶屏初始化温度传感器读取烟雾数值读取温度值扫描按键函数待机模式关闭烟雾LED灯否烟雾超限是启动风扇继电器温度超限关闭温度LED灯启动报警和LED灯关闭报警启动水泵继电器图14主程序流程图第18页共53页度浓度采集的数据,都需要经过ADC0832模块的电平转化,将电压信号转化成高低电平的信号,这样就能被单片机识别,这里系统主要由以下几个模块组成:(1)、STC89C52LCD1602显示屏显示模块;(6)、时钟模块。利用keil编写C程序,然后将程序烧录至单片机主芯片内,然后主芯片通过对采集模块采集的数据进行分析处理,然后驱动三极管进行驱动,使执行模块进行相应的动作,这样就能完成系统所需要的功能和要求了。在设计过程中,往往会遇到一些问题和难题,要学会去解决问题:1、单片机时钟无反应,导致芯片无法运行,解决方式:通过直接对晶振进行测试,示波器观察波形,发现晶振不起振,然后,决定更换晶振,当更换晶振后再次测试,问题得到解决。2、当进行程序编译时,keil软件输入的头文件错误,然后,依次去核对头文件,发现少了一个头文件,进行补足,程序编译成功3、程序烧录,用CH340进行程序烧录时,发现程序一直烧录不进去,然后发现自己将接收和发送的引脚反接了,然后进行调整4、在程序烧录成功后,对硬件进行测试,发现当温度和二氧化硫都发生告警时,但是蜂鸣器模块并没有发出报警提示,于是判断1、蜂鸣器是否发生故障2、程序代码是否遗漏3、三极管和继电器驱动模块是否存在一点的问题,比如说三极管未导通,带着上述的几个方面,依次进行排查,最后发现三极管两端没有被导通,于是换个好的三极管进行调试,最后问题顺利解决。因为在学校里平时接触单片机焊接的情况比较少,所以在这次设计过程中,存在着一些问题:1、因为STC89C52芯片的引脚有四十个,而且两引脚之间的间距比较小,导致焊锡时会不小心焊在一起,导致出现短路的现象,第二,LCD1602显示屏驱动电路和现实电路在焊接时,首先是对底座进行焊接,然后将底座固定之后,只需要将显示屏进行插拔的即可。在焊接过程中,首先对线路板进行焊接的布局,首先,焊接的是主芯片,然后依次对其最小系统的外围电路进行焊接,包括晶振、复位及按键电路,然后,固定比较大型的LCD1602显示屏显示屏底座,当底座固定后,不进行面板安装,对面板进行保护,然后依次焊接按键输入模块,蜂鸣器报警模块以及三极管驱动开锁电路,最后的工作就是对电阻电容及一些辅助电路进行焊接及固定。6、总结评价此次设计过程,利用DS18B20温度传感器和MQ-2烟雾传感器进行探测,通过两者采集到的烟雾浓度和温度的数值,与当初设定的数值进行对比的过程,然后将数值转化为电压,传入STC89S52芯片中进行处理和指令的下发,当实时数据大于设定值时,就会产生相应的电信号变化,触发蜂鸣器报警。这次设计利用STC89C52单片机的最小系统模块,利用其高速运转的系统,同时加载了DS18B20温度传感检测模块和烟雾、温度浓度检测模块,通过两者传感器对地下LCD1602显示屏上,这样一方面让用户和直观而且比较清楚的了解报警器设置的烟雾浓度、温度与实际测得的数据之间的误差为0.4LEL,在误差范围±[1]李华.MCS—51系列单片机实用接口技术[M].北京航空航天大学出版社[2]张毅坤等.单片微型计算机原理及应用[M].西[3]潘新民等.微型计算机控制技术[M].北京:电子工业科[4]陈伟.MCS—51系列单片机实用子程序集锦[M].北京:清华大学出版社[5]朱明程等.一氧化碳传感器MGS1100原理及应用电子技术[M].1998年第1期.[6]刘迎春.传感器原理设计及应用[M].哈尔滨工业大学出版社.[8]刘广玉.新型传感器技术及应用[M].北京航空航天大学出版社[9]张毅刚.MCS—51单片机应用设计[M].1990.[10]陈伟.MCS—51系列单片机实用子程序集锦[M].清华大学出[12]李玮.基于单片机的传感器综合电路的设计[D].《吉林大学》2016年.[13]毛文联.地下停车场喷流导引系统设计浅谈[J].《制冷空调与电力机械》2001年.[15]吕津.一种新颖的火灾自动报警控制器的硬件设计[D].《四川大学》2003年.[16]姜斌.基于多传感器的火灾自动报警器的设计[D].《自动化应用》2014年.[17]付源.火灾自动报警系统的研究[J].《知识经济》2011年.第21页共53页电池盒接口18b20温度传感器实物图第23页共53页附件二:部分程序源代码第24页共53页#include<intrins.h>#defineData_ADC0809P1//定义P1□为Data_ADC0809(之后的程序里//管脚声明//温度报警灯//烟雾报警灯//ds18b20的数据引脚//继电器风扇引脚signedcharw;//温度值全局变量uintc;//温度值全局变量//气体浓度变量charsec=60;//开机初始化的时间//温度预设值//烟雾预设值//=1是设置温度阀值=2是设置烟雾阀值//函数声明第25页共53页externucharADC08{//延时函数大约延时zms/******************将数据保存到单片机内部eeprom中******************/byte_write(0x2000,yushe_wendbyte_write(0x2001,yushe_yanwbyte_write(0x2002,ZERbyte_write(Ox2060,a_a/******************把数据从单片机内部eeprom中读出来*****************/yushe_wendu=byte_read(0xyushe_yanwu=byte_read(0x/**************开机自检eeprom初始化*****************/{if(a_a!=1)//新的单片机初始单片机内问eeprom{voidDelay_DS18B20(int{voidInit_DS18B20(v{DQ=1;//DQ复位Delay_DS18B20(80);//精确延时,大于480usX=DQ;//稍做延时后,如果x=0则初始化成功,x=1则初始化失败unsignedcharReadOneChar(v{{第27页共53页DQ=1;/1给脉}}voidWriteOneChar(unsignedcha{{unsignedintReadTemperature({WriteOneChar(OxCC);//跳过读序号列号的操作b=ReadOneChar();//读高8位t=tt*10+0.5;//放大10倍输出并四舍五入}//ADC0809读取信息{第29页共53页returntemp_;{if(Key1==0)//设置按键t{write_烟雾m(0xOf);//打开显示无光标光标闪烁{write_烟雾m(0x80+7);//为1时温度阀值的位置闪烁}{第30页共53页}case3://当模式加到3时write_烟雾m(0x0c);//打开显示无光标无光标闪烁if(Key2==0&&Mode!=0)//加按键只有在模式不等于0时有效FENG=1;//蜂鸣器关switch(Mode)//加按键按下时判断当前模式case1://模式为1时yushe_wendu++;//预设温度值(阀值)加1if(yushe_wendu>=99)//当阀值加到大于等于99时yushe_wendu=99;//阀值固定为99write_烟雾m(0x80+6);//选中阀值在1602上显示的位置置示write_data(0x30+yushe_wendu/10);//将阀值数据分解开送入液晶显write_data(Ox30+yushe_wenduwrite_eeprom();/}yushe_yanwu++;//同温度阀write_data(0x30+yushe_yanwu/write_data(0x30+yushe_yanwu%100write_data(0x30+yushe_yanwu第32页共53页write_data(0x30+yushe_wenduwrite_data(0x30+yushe_wenduwrite_data(0x30+yushe_yanwu/write_data(0x30+yushe_yanwu%100write_data(0x30+yushe_yanwuwhile(Key2==0&&Key3voidinit()TH0=0x3c;//赋初值(12MHz晶振的50ms)EA=1;//打开中断总开关ET0=1;//打开中断允许开关{check_wendu();//初始化时调用温度读取函数防止开机85°C{write_data(sec/10+0write_data(sec%10+0}Init1602();//调用初始化显示函数init_eeprom();//开始初始化保存的数据{if(Mode==0)/1只有当模式为0时才会执行以下的阀值判断部分第34页共53页}t}}if(c>=(yushe_wendu*10))//温度大于等于预设温度值时(为什么是大于预设值*10:因为我们要显示的温度是有小数点后一位,是一个3位数,25.9°C时实际读的数是259,所以判断预设值时将预设值*10)}if(temp-ZERO>=yushe_yanwu)&&(c>=(yush{}if(temp-ZERO<yushe_yanwu)&&(c<(yushe_wendu*10)))/当烟雾小于预设值并且温度也小于预设值时(&&:逻辑与,左右两边的表达式都成立(都为真,也就是1)时,该if语句才成立)第35页共53页//停止报警//两个传感器都不超限后关闭风扇//调用按键函数扫描按键voidtimel_int(void)interrupt1//定时器函数烟雾unt++;//计时变量加蜂鸣器不响,从而做出闪烁的效果烟雾unt=0;//计到1s时,将烟雾unt清零,准备重新计数#include<reg52.h>//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的ucharunsignedintunsignedcharunsignedintucharyushe_yanwu=1//温度预设值//烟雾预设值//温度值全局变量第36页共53页ucharyanwu;//用于读取ADC数据=0是正常监控模式//=1是设置温度阀值=2是设置烟雾阀值/*************************功能:延时1ms函数*输入:q*输出:无********************{/*********************************************************************************************************************************************************************************************//LCD管脚声明(RW引脚实物直接接地,因为本设计只用到液晶的写操作,RW引脚一直是低电平)第37页共53页//LCD延时voidLCDdelay(uintz)//该延时大约100us(不精确,液晶操作的延时不要求很精{voidLCD_WriteData(u8}voidwrite_com(uchar{}voidwrite_data(uchar{/*_------------------------------------voidSelectPosition(unsignedcharx,unsignedc{}{voidLCD_Write_String(unsignedcharx,unsignedchary,unsigne第39页共53页//描述:在第0行第一个字节位置显示366的后4位,显示结果为0366//日期:2013-4-1voidLCD_Write_Char(u8xwrite_data(Ox30+s/10%10);//十位write_data(Ox30+s%10);//个位}/*1602指令简介write_com(0x38);//屏幕初始化write_com(Ox0c);//打开显示无光标无光标闪烁write_com(Ox0d);//打开显示阴影闪烁//1602初始化{write_com(0x38);//屏幕初始化write_com(0x0c);//打开显示无光标无光标闪烁voidDisplay_1602(yushe_wendu,yushe_yanwu,c,temp){LCD_Write_Char(0,6,yushe_wLCD_Write_Char(0,13,yushe_yLCD_Write_Char(1,6,LCD_Write_Char(1,9,LCD_Write_Char(1,13,第41页共53页/**********************************************************************************************************************************二//应用:temp=Adc083//描述:读取0通道的AD值/1参数:channel:通道0和通道1选择//日期:2015-05-29//备注: 二二二unsignedintAdc0832(unsignedcharchan{第42页共53页_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();{_nop_();_nop_();_nop_();_nop_();}j=0;_nop_();_nop_();_nop_();_nop_();j=j<<7;}return(dat);//returnaddata/********************************************************DS18B20相关函数*****************************:*******************:********************第44页共53页**************************voidDelay_DS18B20(int{}voidInit_DS18B20(v{DQ=1;//DQ复位x=DQ;//稍做延时后,如果x=}unsignedcharReadOneChar(v{{DQ=0;/1给脉冲信号DQ=1;/1给脉第45页共53页}voidWriteOneChar(unsignedcha{{{a=ReadOneChar();//读低8位b=ReadOneChar();//读高8位第46页共53页//放大10倍输出并四舍五入}/*****校准温度*****/{/**********************************************************************************************************************************;************************sbitKey3=P3^2;//减按键第47页共53页#defineKEY_SET1//设置 //日期:2015-05-29二二二二staticu8key_up=1;//按键按松开标志}elseif(Key1==1&&Key第48页共53页wendu=check_wendu();//初始化时调用温度读取函数防止开机85°CInit1602();//调用初始化LCD_Write_String(0,0,"SETT:00E:000");//开机界面LCD_Write_String(1,//初始化时调用温度读取函数防止开机85°CDisplay_1602(yushe_wendu,yushe_yanwu,wendu,yanwu);//显示
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 弘扬两弹一星精神 放飞中国梦
- 第四章制造自动化技术
- 2025年5月广东中山市香山古城运营管理有限公司招聘1人笔试历年难易错考点试卷带答案解析
- 2025 初中写作从神话英雄汲取精神力量课件
- 2026年绿色房产合同(1篇)
- 双相情感障碍Ⅰ型教学查房2026
- 2025 高中古诗词阅读理解之爱国豪情壮志深化课件
- 2026年矿山特种作业人员管理实施方案
- 医疗器械安全特性承诺书(9篇)
- 数据库表设计优化方法
- 2026山东青岛日报报业集团(青岛日报社)招聘4人备考题库附答案详解(完整版)
- 2026年及未来5年市场数据中国翻译机构行业市场需求预测及投资规划建议报告
- 建筑工地 宿舍管理制度
- 深度解析(2026)《LYT 3409-2024 草种质资源调查编目技术规程》
- 【MOOC】电路基础-西北工业大学 中国大学慕课MOOC答案
- 肿瘤学-肿瘤姑息治疗
- 房屋无偿使用协议书范本
- DB32T3916-2020建筑地基基础检测规程
- 人事档案情况摘抄表
- 正常分娩9版妇产科学课件
- 常见的六轴关节机器人的机械结构
评论
0/150
提交评论