《基于AT89S52单片机的火灾自动报警器设计.doc》由会员分享,可在线阅读,更多相关《基于AT89S52单片机的火灾自动报警器设计.doc(35页珍藏版)》请在三一办公上搜索。
1、 毕业论文(设计)题 目 基于AT89S52单片机的火灾自动报警器设计 院 系 自动控制系 专 业 电气工程与自动化 学生姓名 学 号 指导教师 职 称 教 授 二一三 年 六 月 一 日目 录摘要11绪论11.1火灾报警器的意义11.2火灾报警器的发展历史21.3中国的火灾报警器22火灾报警器的整体设计22.1本设计的目标22.2火灾报警器的类型23主要硬件设计43.1主要组成部分43.2单片机53.2.1单片机最小系统电路63.3 A/D转换器73.4烟雾传感器83.6 LED数码管103.6报警器124软件设计134.1主程序流程图134.2 KEIL145实物制作展示155.1实物制作
2、注意事项155.2实物效果图156总结16参考文献17ABSTRACT18谢辞19附录20附录一 proteus仿真20附录二 源程序21基于AT89S52单片机的火灾自动报警器设计摘要:为了尽早的发现火灾,减少火灾中的财产和生命损失。本文设计了一种火灾自动报警器。在温度传感器DS18B20感应到温度异常升高或者烟雾传感器MQ-2感应到烟雾的变化时,将采集的数据交予单片机AT89S52处理,单片机会对数据进行判断,如果认为发生了火灾,报警器便发出警报,并显示温度和烟雾浓度。相比只有单一传感器的火灾报警器该系统最大的优点便是可靠性高,大大降低了火灾错报和漏报的几率。而且MQ-2烟雾传感器不仅可以
3、探测到火灾发生时的烟雾,还能探测到一氧化碳、氢气、液化气、甲烷、丙烷等易燃易爆气体,在火灾还未发生时就及时报警,防患于未然。该系统具有结构简单、灵敏度高、抗干扰能力强、性能稳定和价格低廉等优点。关键词:火灾报警;单片机;烟雾传感器;温度传感器1绪论1.1火灾报警器的意义自从人类懂得使用火以来,火便成了人们生活中不可缺少的一部分,它带给了人们温暖和光明,但它也给人们带来了无数的灾难。据公安部公布的全国火灾情况分析介绍:仅在2011一年间,全国火灾造成的直接财产损失高达20.6亿元,财产损失还是次要,更让人伤心的是因火灾逝去的1108条生命。表1 全国火灾24小时分布情况时间年份2010年2011
4、年000216316502041841930406143126060886960810736910127050121445531416103681618664318205451202284452224134149通过表1我们可以发现每天的22时至6时是火灾死亡人数最多的,在2010年该时段共发生火灾32549起,造成624人死亡,虽然起数只占总火灾起数的24.6%,但死亡人数占到全年火灾死亡总人数的51.8%。同样2011年间该时段共发生火灾30128起,只占了全年火灾总数的24%,但是这些火灾却造成633人死亡,占全年因火灾死亡人数总数的57.1%;全年87起较大规模以上火灾中,有60起发生
5、在这一时间段,占全部大规模火灾总数的69%。产生这种情况的原因是在夜间人们生活活动的减少,所以火灾起数不高,但夜间人们防范措施不到位,火灾容易发展成大火灾,造成重大人员损失。火灾报警器正是为了弥补人力的缺失,为了尽早发现火灾才诞生的。1.2火灾报警器的发展历史在中国古代城市建有很多很高的望楼,除了防范战争,还起着防范火灾的作用。人们站在望楼里观察整个城市,观察到火灾便发出警报,这就是最早的火灾报警系统。随着现代科技发展,这种人工原始的方法被各种高科技消防报警装置取代,高科技消防报警装置的诞生大大解放了人力。1852年世界第一台火灾报警系统出现在美国;1874年英国安装了世界第一台用于城镇火灾报
6、警的装置;1890年英国人研制出了感温式火灾报警器;20世纪20年代,人们掌握了升温速率原理,借此发明了差温型火灾报警器;20世纪5070年代,随着离子烟雾传感器的发明,出现了感烟火灾报警器。1.3中国的火灾报警器中国的消防报警产品是接近90年代才起步,落后外国好多年。当时中国市场上都是国外的大品牌,但是中国企业没有放弃,抓住了机遇,在技术上不断改革创新,技术上达到了世界领先,现在国内市场上大部分产品都是中国制造,并且走出国门,进军海外。根调查显示,美国93%的家庭装有火灾报警器,而我国只有在一些新建的,人口密集的公共场所才安装了火灾报警器,家庭安装的更是少有。根据我国庞大的人口基数,可以预见
7、我国在火灾报警器上有着多么大的市场,这充分说明了我国市场前景的广阔。2火灾报警器的整体设计2.1本设计的目标本设计的目标是当检测到的环境温度超过设定的报警温度时,蜂鸣器会发声报警。火灾发生时除了周围环境温度会升高,还会产生烟雾,本设计中的烟雾传感器检测到燃烧释放的烟雾时,将信号传送进A/D转换器进行处理模数转化再把转换好的信号送到单片机进行处理。当检测到烟雾浓度超标时,蜂鸣器也会进行报警,烟雾和温度的报警值都是可以设置的。此外,本设计还设计了手动报警按键,可以在因各种原因无法自动报警时可以手动报警。2.2火灾报警器的类型根据报警器所使用的传感器种类不同,火灾报警器可以分为以下四种类型:(1)感
8、温型火灾报警器由于火灾发生时燃烧会产生大量的热量,使得周围温度快速的变高。温度传感器将周围环境温度的变化转换成电信号,处理器通过判断电信号的大小来判断是否发生了火灾,如果发生了火灾就会报警。一般分为定温型(温度达到一定值报警)和温差型(升温幅度达到一定值报警)。一般来说定温型容易受到外界其他因素的干扰,温差型相对抗干扰能力比较强。(2) 感烟型火灾报警器火灾早期,物质燃烧刚刚开始,这个时期被称为阴燃阶段。一般来说这个阶段还没有明火或者火焰很小,燃烧物质接触的空气不足,氧气不足的燃烧会导致燃烧不完全,未燃尽的物质会产生大量烟雾。烟雾式火灾报警器可以将空气中的烟雾转换成可用的电信号,判断电信号就能
9、判断是否着火,并发出报警。根据烟雾传感器的不同一般可分为光电感烟型、离子感烟型和激光感烟型等。(3) 感光型火灾报警器火灾发生时火焰燃烧除了产生热量和烟雾以外还会产生光,感光型火灾报警器将环境中光的模拟量转换成电信号,进而判断是否发生火灾,根据传感器的不同分为紫外线报警器(对短波敏感)和红外线报警器(对长波敏感)。但是因为光传感器容易受到外界光源的影响,一般来说可靠性比较差。(4) 复合型火灾报警器单一传感器火灾报警器容易受到各种影响产生误报,可靠性差。为了提高可靠性,人们将多种传感器集中到一个火灾报警器上,这就是复合型火灾报警器。复合型火灾报警器有很多种,将前面的三种报警器中的任意两种组合甚
10、至全部组合一起便是复合型火灾报警器,大大提高了可靠性。可见,复合型火灾报警器要优于单一的火灾报警器,因此本文设计了一种复合型火灾报警器。根据火灾时现象的不同,可以将火灾分为起初、阴燃、全燃、熄灭等。普通可燃物在燃烧时的过程首先是产生燃烧气体,然后放出烟雾,进入阴燃,在氧气充足的条件下才能全燃,产生火焰,火焰发出可见光和不可见光,并向周围散发大量的热,环境温度随之升高。在起火过程中,起初和阴燃两个阶段所占的时间比较长,虽然产生大量的烟雾,但危害和造成的损失也相对较小,因为没有大的明火,所以环境温度较低,温度传感器无法感应,但是产生的大量的烟雾却会向上飘,堆积在天花板上,这时若是使用安装在天花板上
11、的烟雾传感器,就可以及时发现火灾,将火灾损失控制在最小。而一些情况下的燃烧并不会产生烟雾或很少有烟雾,比如氢气燃烧,这时就需要温度传感器来进行探测。所以本文设计了一种烟雾温度复合型火灾报警器。起火过程曲线如图2-1所示。图2-1火灾过程中温度和烟雾曲线3主要硬件设计硬件设计使用的工具是proteus,proteus是目前使用最多的最好的单片机仿真软件。本设计作为一个典型的单片机设计,首先也是必要的就是做出仿真,仿真做好才能调试软件,并且制作实物。图3-1 Proteus界面图3.1主要组成部分本设计的火灾报警器由火灾探测部分(温度和烟雾传感器)、报警控制器(单片机)、报警和显示部分(数码管、蜂
12、鸣器等)组成,也就是一个系统的输入部分、处理部分、输出部分。火灾探测部分通过对火灾发出的气体烟雾和温度的探测,将探测到的信号转化成数字信号传递给控制器也就是单片机。单片机将接收到信号后经分析处理后判断是否发出报警信号,并在屏幕上显示当前温度和烟雾浓度。如果判断有火灾,蜂鸣器将在单片机的指挥下发出警报声警示火灾的发生。图3-2主要结构图3.2单片机 本设计使用的是AT89S52单片机,AT89系列单片机是ATMEL公司以Intel的8051为核心加以改进,结合自身优势构造而成的。对于8051来说,AT89系列单片机具有以下几个优点:和8051系列指令、管脚完全兼容,因为它们采用的是一样的内核;含
13、有Flash存储器,这种存储器可以使用户很方便的用电的方式瞬间擦写程序,这使开发设备的要求降低,开发时间缩短。并且可以随意进行程序的擦写,AT89S52单片机含有8KB的Flash,擦写次数不小于1000次;采用静态时钟方式,这种方式可以节省电能;综上所述AT89系列单片机具有其独特的优点,这也是广大用户选择它的主要原因。引脚图如3-3所示。图3-3 AT89S52引脚图(1)Vcc和GND电源端和接地端。(2)P0口有两种功能,第一种功能用作通用/口,用做通用/口时,因为P0口是开漏级,这时必须外接上拉电阻;当用做输入时每个端口首先要置1,作为输出时不用置1。第二种功能P0口用作访问片外数据
14、或程序存储器时的低8位地址/数据总线的复用口,因为P0口内含上拉电阻,所以无需外接上拉电阻。P0口每个引脚可驱动8个TTL负载(晶体管-晶体管逻辑电路),其他引脚只能驱动4个TTL负载。(3)P1口只有一种功能那就是用做通用/口,没有第二种功能。因为其内部已经接有上拉电阻,所以P1口不需要外接上拉电阻。当用做输入时,每个端口首先要置1。P1.0和P1.1引脚也可以用做定时器2的触发器输入(P1.1/T2EX)和外部计数输入(P1.0/T2)。(4)P2口也有两种功能。第一种就是P2口作为通用/口使用,不需要外接上拉电阻;第二种就是作为地址线使用,这种情况只有当系统有外部扩展存储器或者/接口时才
15、会发生,这种时候P2口用作地址高8位信号线。(5)P3口比较特殊,除了同样用来做通用/口使用外,每个引脚都具有自己的第二功能(复用功能)。当这些引脚使用第二功能时,就不能再把它当作通用/口使用,而其他的引脚不会受到影响,仍然可以作为通用/口使用。P3口作为通用/口使用时,与P1口相类似,无需外接上拉电阻。P3引脚的复用功能具体如表2所示。表2 P3端口引脚与复用功能表(6)RST是复位输入端。当系统处于运行状态时我们有时候会需要系统回到开始的时候,这个时候向RST引脚输入一段时间的高电平,则CPU就会将系统复位。复位包括上电复位和手动复位,需要上电复位是因为单片机刚刚上电时系统不太稳定,上电复
16、位推迟了CPU的启动,是系统不会发生错误。手动复位一般是在系统错误或者希望系统中断重修开始时使用的,就本设计来说复位键就起着停止报警重修开始的作用。(7)EA/Vpp是外部存取允许信号。需要单片机只执行外部程序存储器的指令的时候,EA接地要。当需要单片机执行片内程序存储器的指令的时候,EA要接Vcc,如果需要可以自动转到执行片外存储器的指令。本设计是执行内部存储器的程序,EA接VCC,如果不接很大可能会出现系统错误,单片机不知道该执行哪的程序。(8)XTAL1和XTAL2是接外部振荡器的两个引脚,外部振荡器是单片机运行最重要的部分之一,所以这两个引脚必须要接。其中XTAL1接地,XTAL2接外
17、部振荡器。具体接法如图3-4.3.2.1单片机最小系统电路(1)单片机RST脚接复位电路,可按复位按钮给单片机复位。(2)仿真中晶振一般采用12MHZ的晶振,实际电路中采用的多为11.0592MHz。(3)因为单片机只执行内部程序存储器中的指令,所以单片机的EA脚要接高电平VCC。图3-4 单片机最小系统结构图3.3 A/D转换器本设计使用的A/D转换是ADC0832。ADC0832是一种8位分辨率双通道A/D转换芯片。图3-5 ADC0832引脚图如图3-5所示,ADC0832一共有8个接口,各个引脚的功能如表3所示。其中和单片机相连的接口有4条,分别是CLK、CS、DI和DO。但DI端与D
18、O端在和单片机进行数据传输时不会一起进行,DI是通道选择接口,在开始进行转换时对通道CH1和CH0进行选择,然后就没用了,接着D0开始工作,所以在设计电路时一般可以将DI和DO连在一根线上连接单片机,这样可以节省一个单片机的引脚。表3 ADC0832引脚功能表ADC0832的工作步骤主要分为四步:一、 CS端相当于芯片的开关,低电平时芯片工作,高电平时停止工作。当要进行A/D转换时,先要将CS端置于低电平并且保持低电平直到转换完全结束。芯片开始转换工作时芯片时钟输入端CLK会同时由单片机输入时钟脉冲。二、 ADC0832有两个模拟量输入端口CH0和CH1,优点是可以一个A/D转换模块就可以转换
19、两个数据,节省了部件。缺点就是必须进行通道的选择,DI口就是就是用来选择通道的。在第二个和第三个脉冲时通过输入到DI口的电平不同来选择通道,选择完毕后DI端口就失去作用。三、 DO端开始输出转换后的数据。第4个脉冲输出D7,随后每一个脉冲输出下一位数据。直到第11个脉冲时输出D0,这样第一个字节的数据就已经输入到了单片机。然后从此开始反着输出下一个字节的数据,即从第11个下沉输出D0,第12个下沉输出D1,以此类推到第19个脉冲时全部数据输出完成。四、 最后将CS置高电平芯片停止工作,一次转换完成。3.4烟雾传感器烟雾传感器通过检测空气中的烟雾浓度来确定是否发生火灾,根据传感感烟方式不同分为离
20、子式、光电式和气敏式烟雾传感器。离子式烟雾传感器的优点是性能全面,对各种烟雾都可以很好的探测,所以工作起来比较可靠:光电式烟雾传感器优点是速度快,擅长对大火中产生的较大颗粒的烟雾进行探测,但是对小颗粒的烟雾的探测却存在不足;气敏式传感器除了对烟雾敏感外还对可燃气体敏感,可以对很多特定的可燃气体进行探测,因为其很容易和单片机等计算机进行连接,所以在单片机系统中经常使用。本设计使用了气敏式传感器,在单纯对烟雾的探测方面,气敏式传感器性能并不如离子式传感器,但它却可以探测空气中可燃气体。可以有效地探测一氧化碳、氢气、液化气、甲烷、丙烷等易燃易爆气体等多种可燃性气体的微量泄漏,所以还是有着大量的应用。
21、在本设计中使用了MQ-2烟雾传感器。MQ-2型烟雾传感器由二氧化锡半导体气敏材料做成,烟雾传感器中有个加热丝,通电后烟雾传感器会加热,当加热到200300摄氏度时时候,空气中的氧会被烟雾传感器中的二氧化锡(SnO)吸附,氧中的负离子会导致半导体中的电子密度减少,电阻值增加。当传感器与烟雾接触时,吸附的氧减少,电子密度增加,从而导致电阻值的改变,利用这一点就可以很方便的检测烟雾的存在。封装好的MQ-2有6个引脚,其中2个是加热用的,其他4个是数据流出引脚。烟雾传感器MQ-2是电阻类元件,当检测到烟雾的时候,MQ-2内部的电阻值变化,从而导致6脚输出电压变化,电压大小为0-5V,通过ADC0832
22、的转换,将电压模拟量转化成数字量送给单片机处理。图3-6烟雾传感器和A/D模块3.5温度传感器本设计使用的温度探测器是DS18B20数字温度传感器。它的为测温范围55+125,特别值得注意的是其有0.5的固有测温误差,测量误差还是很大的,但作为火灾报警器来说并不要求太高的精度。这种传感器具有价格低廉,体积小,结实耐用等优点,特别是DS18B20在与单片机连接时不需要任何外围部件,只要要一条线即可实现单片机与DS18B20的连接,使用十分简单,因此在单片机系统中的使用十分广泛。DS18B20有三只引脚,GND,DQ,和VDD。封装后的结构图如图3-7所示。图3-7 DS18B20数字温度传感器D
23、S18B20的三个引脚功能如表4所示,其中GND引脚接地,VDD为可选的5V引脚,在实际中一般接VCC,DQ引脚也就是数据输出引脚可以直接和单片机连接。具体结构仿真如图3-8。表4DS18B20详细引脚功能描述图3-8 DS18B20模块结构图3.6 LED数码管本设计的显示系统使用的是发光二极管显示器(LED),又称数码管,价格低廉和使用方便是其最大的优点,使用方便主要表现为其自身结构十分简单而且与单片机连接方式也很简单,控制起来也十分方便,因此其在单片机开发中十分受欢迎。LED数码管显示器由7段条形的发光二极管组成,这些二极管组成了“8”字形。例如,要显示“1”则点亮b、c段的二极管,显示
24、“2”就点亮“abged”段的数码管。在LED数码管显示器中,为了简化驱动电路通常会把各个发光二极管的阴极或阳极边放在一起进行接地或者接VCC。发光二极管的阴极一起接地的为共阴极,阳极一起接高电平的为共阳极接法。图3-9 LED数码管显示器结构和接法图根据二极管单向导通的特性从图3-10不难看出对于共阴极数码管,想要点亮字段就要从输入端输入用高电平“1”;而对于共阳极数码管,点亮字段则要输入低电平也就是“0”。这样就可以把要显示的数字与像表4那样和二进制代码一一对应起来,根据需要显示的字段是否点亮就能对7段LED数码显示器实现编码。表4 7段数码管显示器编码表字型gfedcba共阴共阳0011
25、11113FC0100001100CF3210110117689310011115EA1411001104DB2511011015BA4611111017B84700001110EF1811111117F80911011115FA0单片机的引脚电流虽然可以直接驱动很多原件,但是有些耗电大的原件无法直接驱动,这时就需要使用三极管进行电流放大,三极管分为NPN和PNP两种。如图3-10所示,其中C端为集电极,E端为发射极,B端为基极。NPN三极管电流从发射极流出的三极管。所以发射极会直接或间接的接地,而集电极会接VCC。PNP三极管正好相反,电流从发射极流入的三极管。接法也是相反的,发射极接VCC
26、,集电极接地。图3-10 三极管结构图本设计使用的是4位数码管,其中第一位显示烟雾浓度,第二位为分隔符显示“-”,最后两位显示温度。具体接法为共阳极接法,因为单片机输出电流比较小,所以要用三极管来进行电流的放大,本设计用了4个PNP型的三极管来驱动数码管显示器。在仿真中数码管的1234引脚接的是三极管放大电路,功能是位选择。而具体的亮那一条二极管组成什么数字则由ABCDEFG引脚控制,DP引脚为小数点,在本设计没有用。具体结构仿真如图3-11。3-11 数码管结构图3.6报警器 本设计的报警系统使用的是蜂鸣器,蜂鸣器的工作原理很简单,当电流通过电磁线圈时会产生磁场,这个磁场会使鼓膜震动从而发声
27、。和数码管显示器一样单片机输出的电流太小,无法直接连接蜂鸣器,因此需要一个电流放大的电路。所以在设计时加上了一个NPN三极管控制蜂鸣器,将蜂鸣器正极接电源,负极接的集电极,三极管的发射极接地。具体结构仿真如图3-12。图3-12 蜂鸣器4软件设计本设计程序很长,是整个系统最难设计的部分。在设计时应当分成几个部分来进行,进行模块化的程序设计。我主要分了以下几个部分来进行:温度读取和部分,温度显示部分,A/D转换部分,烟雾读取显示部分,报警部分,按键设置部分等。4.1主程序流程图开始初始化传感器预热并故障预检按键扫描和键值处理是否按下设置键进入报警设置模式A/D转换数据处理是否超过报警上限进入报警
28、处理程序浓度和温度显示程序图4-1 主程序流程图4.2 keil本设计使用的软件设计工具为Keil,这款软件可以根据写好的程序产生C文件和HEX文件,可以在51系列单片机上进行烧写。图4-2 Keil界面图程序编写完毕后生成HEX文件,将这个文件通过烧写器烧进单片机中即可。在对单片机进行烧写前最好将程序在protues仿真中进行仿真,修改不足和错误的部分,当在仿真中可以无误的运行后再进行正式烧写。这样可以避免一些对单片机或者整个系统的损害,而且AT89S52需要专门的单片机烧写器和烧写软件,每次烧写都比较繁琐。Keil可以和protues进行联调,这样可以更方便的调试程序。5实物制作展示5.1
29、实物制作注意事项在仿真测试无误后,就应当开始制作实物。制作实物最难的就是焊接电路,刚刚接触焊接应当上网找一些视频,学习视频中焊接的姿势、注意事项、流程,然后找几块旧的板子试着练习,直到可以很熟练的焊接。焊接时电烙铁应当成水平60角。这样便于熔化的锡流到焊点上。烙铁头在焊点处停留的时间控制在23秒钟,过多的话会和附近的线路焊在一起造成短路,太少又会造成虚焊产生断路。特别注意三极管的引脚,特别是PNP和NPN三极管接法不一样很容易焊错,而且温度传感器DS18B20和三极管的外观一模一样,要仔细分辨。还要注意焊接时线不小心连在一起或者虚焊引起的短路和断路的问题,出现问题后用万用表仔细排查电路。5.2
30、实物效果图(1)正常状态下,没有检测到烟雾或可燃气体,数码管第一位显示烟雾浓度,显示“0”,最后两位显示温度。但是由于烟雾传感器需要预热才能正常工作,所以当刚刚通电时烟雾浓度可能会错误显示为“1”。过一段时间后,烟雾传感器预热完毕后会正确显示。左下角三个按键从左到右依次是设置键,减下键和增大键。左边的键为手动报警键,中间的按键为复位键。图5-1 正常状态(2)打火机释放出可燃气体丁烷,烟雾传感器检测到后蜂鸣器报警,并显示数值。图5-2 检测到可燃气体6总结火灾报警器可以保障人们生产与生活的安全,可以及早发现火灾和预防易燃易爆气体爆炸事故发生,因此其具有很好的实用性。本文设计的火灾自动报警系统采
31、用了温度传感器DS18B20和烟雾传感器MQ-2相结合的多传感器探测方法,相比单一传感器的火灾报警器系统灵敏度更高、在火灾发生的早期就能准确的报警,具有系统安全可靠,误报漏报率低,操作简单,成本低廉等优点。但同时也应该看到正是因为成本问题,这个系统其实并不完美,如果使用更好的传感器可以做的更好。系统使用了A/D转换芯片ADC0809把烟雾传感器收集的模拟信号转换成数字信号并把这个信号送给AT89S52单片机。单片机做作为系统的控制中枢,一方面要将收集来的温度和烟雾浓度信息通过数码管显示器显示,另一方面还要在数值超过设置的警戒数值时通过蜂鸣器报警。在系统中还加入了人工报警按键,可以在传感器失效等
32、情况下依然可以报警,系统中的复位键可以充当报警停止按键。软件设计方面使用了了模块化分步化的程序设计方法,使得程序结构清晰步骤明确,也便于在错误时的修改。本设计在后期也可以添加一些其他模块,这样就可以实现更多的功能。比如添加通信模块,这样就可以远距离将数据和报警传输到管理员处:添加继电器模块,连接洒水装置,可以实现自动灭火。可见本设计还是不够完善,可扩展性的方面还是很多的。 参考文献 1李萍.AT89S51单片机原理、开发与应用实例.中国电力出版社.2008.21-42. 2尚伟.AT89单片机原理及应用.国防工业出版社.2008.251-25. 3刘海涛 赵金波 晁阳.80C51单片机C语言程
33、序设计与实例解析.清华大学出版.社.2009.67-78 4兰吉昌.51单片机应用设计百例.化学工业出版社.2009.212-213. 5潘晓宁 朱耀东.单片机程序设计实践教程.清华大学出版社.2009.103-108. 6赵寒星 刘小波.从0开始教你用单片机.北京航空航天大学出版社.2009.152-172. 7陈明荧.8051单片机课程设计实训教材.清华大学出版社.2004.20-50. 8于京 张景璐.51系列单片机C程序设计与应用实例.中国电力出版社.2006.60-93. 9周坚.单片机C语言轻松入门.北京航空航天大学出版社.2006.164-171. 10张齐 朱宁西.单片机应用系
34、统设计技术-基于C51的Proteus仿真.电子工业出版 社.2009.248-258. 12H. Meixner,V. LampeMetal oxide sensorsSensors and Actua-tors.1996.1-313J. MizseiResponse pattern of SnO2 sensor system for a smoke of different originensors and Actuators1994264267. 14 Fan Bingyen. Home Wireless Intelligent Burglar Alarm SystemM. Securi
35、ty Technology, 2003 15Holt,Mike.Fire Alarm Signaling Systems.Electrical Construction and Maintenance,2003Fire auto alarmTangzhanNanjing University of Information Science&Technology,nanjing 210044ABSTRACTTo discover a fire as soon as possible to reduce the fire to property and loss of life. This pape
36、r presents a automatic fire alarm. In the temperature sensor DS18B20 senses abnormal temperature rise or smoke sensor MQ-2 induced changes to the smoke, it will be handed over to MCU AT89S52 collected data processing, data microcontroller will be judged, and if that happens a fire, the alarm will be
37、 issued alarms and displays temperature and smoke concentration. Compared to only a single sensor fire alarm system of the biggest advantages is the high reliability and greatly reduce the fire risk of misstatements and omissions. And MQ-2 smoke sensors can not only detect smoke fire occurs, but als
38、o to detect carbon monoxide, hydrogen, liquefied petroleum gas, methane, propane and other flammable gases, when the fire has not yet occurred timely warning in prevention first place. The system has a simple structure, high sensitivity, anti-interference ability, stable performance and low cost adv
39、antages.Key word:Fire alarm;MCU;smoke sensor;temperature sensor谢辞 经过几个月的忙碌的工作,去图书馆翻找资料,上网查找答案,跟着视频学习硬件焊接,向同学老师请教编程,本次毕业设计终于完成了,作为大学四年的学习总结,毕业论文无疑是非常重要的。但是由于经验的匮乏,平时实际动手机会比较少,导致理论上的知识转换成实际时总会遇到各种困难,好多看似简单的地方实际做起来才知道复杂,有种“书到用时方知少”的感觉。从仿真到程序设计,再到实际动手焊接电路板,每一步都有许多超过预期的障碍。在跨越这些障碍时,除了自身的努力,老师和同学的帮助也是不可缺少的
40、,正是有了他们的帮助我才能顺利完成这篇论文。在这里首先要感谢他和蔼的语气,深厚的学识,严谨的治学态度,一丝不苟的作风给我带来了很大的帮助,是我们学习的榜样;然后要感谢大学期间所有教过我的老师,“九层之台,起于累土”没有这些老师的教导,就没有这篇论文的基础。同时还要感谢2009级电气与自动化所有的同学们,特别是和我是一个题目的同学,大家在一起学习讨论,互相帮助,没有你们在生活中和学习上给我的支持和鼓励,我是不可能顺利完成这次毕业设计的。附录附录一 proteus仿真附录二 源程序#include#include#includeDS18B20.h#define uint unsigned int#
41、define uchar unsigned char/宏定义#define SET P1_0/定义调整键#define DEC P1_1/定义减少键#define ADD P1_2/定义增加键#define BEEP P3_4/定义蜂鸣器#define hujiao P1_3sbit ADCS=P37;sbit ADCLK=P35;sbit ADDI=P36;sbit ADDO=P36;bit shanshuo_st;/闪烁间隔标志bit beep_st;/蜂鸣器间隔标志bit flag=0;/紧急呼叫标志sbit DIAN=P25;/小数点uint abc;uchar x=4;/计数器sig
42、ned char m;/温度值全局变量uchar n;/温度值全局变量uchar set_st=0;/状态标志signed char shangxian=30;/上限报警温度,默认值为38signed char xiaxian=5;/下限报警温度,默认值为38uchar nongdu=4;uchar code LEDData=0x28,0xeb,0x32,0xa2,0xe1,0xa4,0x24,0xea,0x20,0xa0;/*延时子程序*/void Delay(uint num)while(-num);/*初始化定时器0*/void InitTimer(void)TMOD=0x1;TH0=0
43、x4c;TL0=0x00;/50ms(晶振11.0592M)/*定时器0中断服务程序*/void timer0(void)interrupt 1TH0=0x4c;TL0=0x00;x+;/*读取温度*/void check_wendu(void)uint a,b,c;c=ReadTemperature()-5;/获取温度值并减去DS18B20的温漂误差a=c/100;/计算得到十位数字b=c/10-a*10;/计算得到个位数字m=c/10;/计算得到整数位n=c-a*100-b*10;/计算得到小数位if(m99)m=99;n=9;/设置温度显示上限/*显示开机初始化等待画面*/Disp_in
44、it()P2=0xf7;/显示-P0=0xbf;Delay(200);P0=0xef;Delay(200);P0=0xfb;Delay(200);P0=0xfe;Delay(200);P0=0xff;/关闭显示/*显示温度子程序*/Disp_Temperature()/显示温度P2=LEDDatam%10;/显示CP0=0xbf;Delay(300);P2=LEDDatam/10;/显示个位P0=0xef;Delay(300);P2=0xf7;/显示十位P0=0xfb;Delay(300);P2=LEDDataabc;/显示百位P0=0xfe;Delay(300);P0=0xff;/关闭显示/*显示报警温度子程序*/Disp_alarm(uchar baojing)P2=0x3c;/显示CP0=0xbf;Delay(200);P2=LEDDatabaojing%10;/显示十位P0=0xef;Delay(200);P2=LEDDatabaojing/10;/显示百位P0=0xfb;