基于AT89S52单片机的火灾自动报警器设计.doc_第1页
基于AT89S52单片机的火灾自动报警器设计.doc_第2页
基于AT89S52单片机的火灾自动报警器设计.doc_第3页
基于AT89S52单片机的火灾自动报警器设计.doc_第4页
基于AT89S52单片机的火灾自动报警器设计.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

毕业论文(设计)毕业论文(设计) 题题 目目 基于基于 at89s52 单片机的火灾自动报警器设计单片机的火灾自动报警器设计 院院 系系 自动控制系自动控制系 专专 业业 电气工程与自动化电气工程与自动化 学生姓名学生姓名 学学 号号 指导教师指导教师 职职 称称 教教 授授 二一三二一三 年年 六六 月月 一一 日日 目目 录录 摘要 .1 1 绪论1 1.1 火灾报警器的意义 1 1.2 火灾报警器的发展历史 2 1.3 中国的火灾报警器 2 2 火灾报警器的整体设计2 2.1 本设计的目标 2 2.2 火灾报警器的类型 2 3 主要硬件设计4 3.1 主要组成部分 4 3.2 单片机 5 3.2.1 单片机最小系统电路.6 3.3 a/d 转换器.7 3.4 烟雾传感器 8 3.6 led 数码管10 3.6 报警器 .12 4 软件设计.13 4.1 主程序流程图 .13 4.2 keil .14 5 实物制作展示.15 5.1 实物制作注意事项 .15 5.2 实物效果图 .15 6 总结.16 参考文献 17 abstract 18 谢辞 19 附录 20 附录一 proteus仿真 20 附录二 源程序 21 1 基于基于 at89s52at89s52 单片机的火灾自动报警器设计单片机的火灾自动报警器设计 摘要:摘要:为了尽早的发现火灾,减少火灾中的财产和生命损失。本文设计了一种火灾自动报警器。在温度 传感器 ds18b20 感应到温度异常升高或者烟雾传感器 mq-2 感应到烟雾的变化时,将采集的数据交予单片 机 at89s52 处理,单片机会对数据进行判断,如果认为发生了火灾,报警器便发出警报,并显示温度和 烟雾浓度。相比只有单一传感器的火灾报警器该系统最大的优点便是可靠性高,大大降低了火灾错报和漏 报的几率。而且 mq-2 烟雾传感器不仅可以探测到火灾发生时的烟雾,还能探测到一氧化碳、氢气、液化 气、甲烷、丙烷等易燃易爆气体,在火灾还未发生时就及时报警,防患于未然。该系统具有结构简单、 灵敏度高、抗干扰能力强、性能稳定和价格低廉等优点。 关键词关键词:火灾报警;单片机;烟雾传感器;温度传感器 1 绪论 1.1 火灾报警器的意义 自从人类懂得使用火以来,火便成了人们生活中不可缺少的一部分,它带给了人们温暖和光明,但 它也给人们带来了无数的灾难。据公安部公布的全国火灾情况分析介绍:仅在 2011 一年间,全国火 灾造成的直接财产损失高达 20.6 亿元,财产损失还是次要,更让人伤心的是因火灾逝去的 1108 条生命。 表 1 全国火灾 24 小时分布情况 时 间 年份 2010 年2011 年 0002163165 0204184193 0406143126 06088696 08107369 10127050 12144553 141610368 16186643 18205451 20228445 2224134149 通过表 1 我们可以发现每天的 22 时至 6 时是火灾死亡人数最多的,在 2010 年该时段共发生火灾 32549 起,造成 624 人死亡,虽然起数只占总火灾起数的 24.6%,但死亡人数占到全年火灾死亡总人数的 2 51.8%。同样 2011 年间该时段共发生火灾 30128 起,只占了全年火灾总数的 24%,但是这些火灾却造成 633 人死亡,占全年因火灾死亡人数总数的 57.1%;全年 87 起较大规模以上火灾中,有 60 起发生在这一 时间段,占全部大规模火灾总数的 69%。产生这种情况的原因是在夜间人们生活活动的减少,所以火灾起 数不高,但夜间人们防范措施不到位,火灾容易发展成大火灾,造成重大人员损失。火灾报警器正是为 了弥补人力的缺失,为了尽早发现火灾才诞生的。 1.2 火灾报警器的发展历史 在中国古代城市建有很多很高的望楼,除了防范战争,还起着防范火灾的作用。人们站在望楼里观 察整个城市,观察到火灾便发出警报,这就是最早的火灾报警系统。随着现代科技发展,这种人工原始 的方法被各种高科技消防报警装置取代,高科技消防报警装置的诞生大大解放了人力。1852 年世界第一 台火灾报警系统出现在美国;1874 年英国安装了世界第一台用于城镇火灾报警的装置;1890 年英国人研 制出了感温式火灾报警器;20 世纪 20 年代,人们掌握了升温速率原理,借此发明了差温型火灾报警器; 20 世纪 5070 年代,随着离子烟雾传感器的发明,出现了感烟火灾报警器。 1.3 中国的火灾报警器 中国的消防报警产品是接近90年代才起步,落后外国好多年。当时中国市场上都是国外的大品牌, 但是中国企业没有放弃,抓住了机遇,在技术上不断改革创新,技术上达到了世界领先,现在国内市场 上大部分产品都是中国制造,并且走出国门,进军海外。根调查显示,美国93%的家庭装有火灾报警器, 而我国只有在一些新建的,人口密集的公共场所才安装了火灾报警器,家庭安装的更是少有。根据我国 庞大的人口基数,可以预见我国在火灾报警器上有着多么大的市场,这充分说明了我国市场前景的广阔。 2 火灾报警器的整体设计 2.1 本设计的目标 本设计的目标是当检测到的环境温度超过设定的报警温度时,蜂鸣器会发声报警。火灾发生时除了 周围环境温度会升高,还会产生烟雾,本设计中的烟雾传感器检测到燃烧释放的烟雾时,将信号传送进 a/d 转换器进行处理模数转化再把转换好的信号送到单片机进行处理。当检测到烟雾浓度超标时,蜂鸣器 也会进行报警,烟雾和温度的报警值都是可以设置的。此外,本设计还设计了手动报警按键,可以在因 各种原因无法自动报警时可以手动报警。 2.2 火灾报警器的类型 根据报警器所使用的传感器种类不同,火灾报警器可以分为以下四种类型: 3 (1)感温型火灾报警器 由于火灾发生时燃烧会产生大量的热量,使得周围温度快速的变高。温度传感器将周围环境温度的 变化转换成电信号,处理器通过判断电信号的大小来判断是否发生了火灾,如果发生了火灾就会报警。 一般分为定温型(温度达到一定值报警)和温差型(升温幅度达到一定值报警) 。一般来说定温型容易受 到外界其他因素的干扰,温差型相对抗干扰能力比较强。 (2)感烟型火灾报警器 火灾早期,物质燃烧刚刚开始,这个时期被称为阴燃阶段。一般来说这个阶段还没有明火或者火焰 很小,燃烧物质接触的空气不足,氧气不足的燃烧会导致燃烧不完全,未燃尽的物质会产生大量烟雾。 烟雾式火灾报警器可以将空气中的烟雾转换成可用的电信号,判断电信号就能判断是否着火,并发出报 警。根据烟雾传感器的不同一般可分为光电感烟型、离子感烟型和激光感烟型等。 (3)感光型火灾报警器 火灾发生时火焰燃烧除了产生热量和烟雾以外还会产生光,感光型火灾报警器将环境中光的模拟量 转换成电信号,进而判断是否发生火灾,根据传感器的不同分为紫外线报警器(对短波敏感)和红外线 报警器(对长波敏感) 。但是因为光传感器容易受到外界光源的影响,一般来说可靠性比较差。 (4)复合型火灾报警器 单一传感器火灾报警器容易受到各种影响产生误报,可靠性差。为了提高可靠性,人们将多种传感 器集中到一个火灾报警器上,这就是复合型火灾报警器。复合型火灾报警器有很多种,将前面的三种报 警器中的任意两种组合甚至全部组合一起便是复合型火灾报警器,大大提高了可靠性。 可见,复合型火灾报警器要优于单一的火灾报警器,因此本文设计了一种复合型火灾报警器。根据 火灾时现象的不同,可以将火灾分为起初、阴燃、全燃、熄灭等。普通可燃物在燃烧时的过程首先是产 生燃烧气体,然后放出烟雾,进入阴燃,在氧气充足的条件下才能全燃,产生火焰,火焰发出可见光和 不可见光,并向周围散发大量的热,环境温度随之升高。在起火过程中,起初和阴燃两个阶段所占的时 间比较长,虽然产生大量的烟雾,但危害和造成的损失也相对较小,因为没有大的明火,所以环境温度 较低,温度传感器无法感应,但是产生的大量的烟雾却会向上飘,堆积在天花板上,这时若是使用安装 在天花板上的烟雾传感器,就可以及时发现火灾,将火灾损失控制在最小。而一些情况下的燃烧并不会 产生烟雾或很少有烟雾,比如氢气燃烧,这时就需要温度传感器来进行探测。所以本文设计了一种烟雾 温度复合型火灾报警器。起火过程曲线如图 2-1 所示。 图 2-1 火灾过程中温度和烟雾曲线 4 3 主要硬件设计 硬件设计使用的工具是 proteus,proteus 是目前使用最多的最好的单片机仿真软件。本设计作为一 个典型的单片机设计,首先也是必要的就是做出仿真,仿真做好才能调试软件,并且制作实物。 图 3-1 proteus 界面图 3.1 主要组成部分 本设计的火灾报警器由火灾探测部分(温度和烟雾传感器)、报警控制器(单片机)、报警和显示 部分(数码管、蜂鸣器等)组成,也就是一个系统的输入部分、处理部分、输出部分。火灾探测部分通 过对火灾发出的气体烟雾和温度的探测,将探测到的信号转化成数字信号传递给控制器也就是单片机。 单片机将接收到信号后经分析处理后判断是否发出报警信号,并在屏幕上显示当前温度和烟雾浓度。如 果判断有火灾,蜂鸣器将在单片机的指挥下发出警报声警示火灾的发生。 图 3-2 主要结构图 5 3.2 单片机 本设计使用的是 at89s52 单片机,at89 系列单片机是 atmel 公司以 intel 的 8051 为核心加以改进, 结合自身优势构造而成的。对于 8051 来说,at89 系列单片机具有以下几个优点:和 8051 系列指令、管 脚完全兼容,因为它们采用的是一样的内核;含有 flash 存储器,这种存储器可以使用户很方便的用电 的方式瞬间擦写程序,这使开发设备的要求降低,开发时间缩短。并且可以随意进行程序的擦写, at89s52 单片机含有 8kb 的 flash,擦写次数不小于 1000 次;采用静态时钟方式,这种方式可以节省电 能;综上所述 at89 系列单片机具有其独特的优点,这也是广大用户选择它的主要原因。引脚图如 3-3 所 示。 图3-3 at89s52引脚图 (1)vcc 和 gnd电源端和接地端。 (2)p0 口有两种功能,第一种功能用作通用/口,用做通用/口时,因为 p0 口是开漏级,这时 必须外接上拉电阻;当用做输入时每个端口首先要置 1,作为输出时不用置 1。第二种功能 p0 口用作访 问片外数据或程序存储器时的低 8 位地址/数据总线的复用口,因为 p0 口内含上拉电阻,所以无需外接 上拉电阻。p0 口每个引脚可驱动 8 个 ttl 负载(晶体管-晶体管逻辑电路) ,其他引脚只能驱动 4 个 ttl 负载。 (3)p1 口只有一种功能那就是用做通用/口,没有第二种功能。因为其内部已经接有上拉电阻,所 以 p1 口不需要外接上拉电阻。当用做输入时,每个端口首先要置 1。p1.0 和 p1.1 引脚也可以用做定时 器 2 的触发器输入(p1.1/t2ex)和外部计数输入(p1.0/t2)。 6 (4)p2 口也有两种功能。第一种就是 p2 口作为通用/口使用,不需要外接上拉电阻;第二种就是作 为地址线使用,这种情况只有当系统有外部扩展存储器或者/接口时才会发生,这种时候 p2 口用作 地址高 8 位信号线。 (5)p3 口比较特殊,除了同样用来做通用/口使用外,每个引脚都具有自己的第二功能(复用功能) 。 当这些引脚使用第二功能时,就不能再把它当作通用/口使用,而其他的引脚不会受到影响,仍然可 以作为通用/口使用。p3 口作为通用/口使用时,与 p1 口相类似,无需外接上拉电阻。p3 引脚 的复用功能具体如表 2 所示。 表 2 p3 端口引脚与复用功能表 (6)rst 是复位输入端。当系统处于运行状态时我们有时候会需要系统回到开始的时候,这个时候向 rst 引脚输入一段时间的高电平,则 cpu 就会将系统复位。复位包括上电复位和手动复位,需要上电复位 是因为单片机刚刚上电时系统不太稳定,上电复位推迟了 cpu 的启动,是系统不会发生错误。手动复位 一般是在系统错误或者希望系统中断重修开始时使用的,就本设计来说复位键就起着停止报警重修开始 的作用。 (7)ea/vpp 是外部存取允许信号。需要单片机只执行外部程序存储器的指令的时候,ea 接地要。当需 要单片机执行片内程序存储器的指令的时候,ea 要接 vcc,如果需要可以自动转到执行片外存储器的指 令。 本设计是执行内部存储器的程序,ea 接 vcc,如果不接很大可能会出现系统错误,单片机不知道该执行 哪的程序。 (8)xtal1 和 xtal2 是接外部振荡器的两个引脚,外部振荡器是单片机运行最重要的部分之一,所以这 两个引脚必须要接。其中 xtal1 接地,xtal2 接外部振荡器。具体接法如图 3-4. 3.2.1 单片机最小系统电路 (1)单片机 rst 脚接复位电路,可按复位按钮给单片机复位。 7 (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端与do端在和单片机进行数据传输时不会一起进行,di是通道选择接口, 在开始进行转换时对通道ch1和ch0进行选择,然后就没用了,接着d0开始工作,所以在设计电路时一般 8 可以将di和do连在一根线上连接单片机,这样可以节省一个单片机的引脚。 表3 adc0832引脚功能表 adc0832 的工作步骤主要分为四步: 1、cs 端相当于芯片的开关,低电平时芯片工作,高电平时停止工作。当要进行 a/d 转换时,先要将 cs 端置于低电平并且保持低电平直到转换完全结束。芯片开始转换工作时芯片时钟输入端 clk 会同时由 单片机输入时钟脉冲。 2、adc0832 有两个模拟量输入端口 ch0 和 ch1,优点是可以一个 a/d 转换模块就可以转换两个数据, 节省了部件。缺点就是必须进行通道的选择,di 口就是就是用来选择通道的。在第二个和第三个脉冲时 通过输入到 di 口的电平不同来选择通道,选择完毕后 di 端口就失去作用。 3、do 端开始输出转换后的数据。第 4 个脉冲输出 d7,随后每一个脉冲输出下一位数据。直到第 11 个脉冲时输出 d0,这样第一个字节的数据就已经输入到了单片机。然后从此开始反着输出下一个字节的 数据,即从第 11 个下沉输出 d0,第 12 个下沉输出 d1,以此类推到第 19 个脉冲时全部数据输出完成。 4、最后将 cs 置高电平芯片停止工作,一次转换完成。 3.4烟雾传感器 烟雾传感器通过检测空气中的烟雾浓度来确定是否发生火灾,根据传感感烟方式不同分为离子式、 光电式和气敏式烟雾传感器。离子式烟雾传感器的优点是性能全面,对各种烟雾都可以很好的探测,所 以工作起来比较可靠:光电式烟雾传感器优点是速度快,擅长对大火中产生的较大颗粒的烟雾进行探测, 但是对小颗粒的烟雾的探测却存在不足;气敏式传感器除了对烟雾敏感外还对可燃气体敏感,可以对很 多特定的可燃气体进行探测,因为其很容易和单片机等计算机进行连接,所以在单片机系统中经常使用。 本设计使用了气敏式传感器,在单纯对烟雾的探测方面,气敏式传感器性能并不如离子式传感器,但它 却可以探测空气中可燃气体。可以有效地探测一氧化碳、氢气、液化气、甲烷、丙烷等易燃易爆气体等 多种可燃性气体的微量泄漏,所以还是有着大量的应用。 9 在本设计中使用了mq-2烟雾传感器。mq-2型烟雾传感器由二氧化锡半导体气敏材料做成,烟雾传感 器中有个加热丝,通电后烟雾传感器会加热,当加热到200300摄氏度时时候,空气中的氧会被烟雾传感 器中的二氧化锡(sno)吸附,氧中的负离子会导致半导体中的电子密度减少,电阻值增加。当传感器 与烟雾接触时,吸附的氧减少,电子密度增加,从而导致电阻值的改变,利用这一点就可以很方便的检 测烟雾的存在。封装好的mq-2有6个引脚,其中2个是加热用的,其他4个是数据流出引脚。烟雾传感器 mq-2是电阻类元件,当检测到烟雾的时候,mq-2内部的电阻值变化,从而导致6脚输出电压变化,电压大 小为0-5v,通过adc0832的转换,将电压模拟量转化成数字量送给单片机处理。 图 3-6 烟雾传感器和 a/d 模块 3.5 温度传感器 本设计使用的温度探测器是 ds18b20 数字温度传感器。它的为测温范围55+125,特别值得 注意的是其有 0.5的固有测温误差,测量误差还是很大的,但作为火灾报警器来说并不要求太高的精度。 这种传感器具有价格低廉,体积小,结实耐用等优点,特别是 ds18b20 在与单片机连接时不需要任何外 围部件,只要要一条线即可实现单片机与 ds18b20 的连接,使用十分简单,因此在单片机系统中的使用 十分广泛。ds18b20 有三只引脚,gnd,dq,和 vdd。封装后的结构图如图 3-7 所示。 10 图 3-7 ds18b20 数字温度传感器 ds18b20 的三个引脚功能如表 4 所示,其中 gnd 引脚接地,vdd 为可选的5v 引脚,在实际中一般接 vcc,dq 引脚也就是数据输出引脚可以直接和单片机连接。具体结构仿真如图 3-8。 表 4 ds18b20 详细引脚功能描述 图 3-8 ds18b20 模块结构图 3.6 led 数码管 本设计的显示系统使用的是发光二极管显示器(led),又称数码管,价格低廉和使用方便是其最大 的优点,使用方便主要表现为其自身结构十分简单而且与单片机连接方式也很简单,控制起来也十分方 便,因此其在单片机开发中十分受欢迎。led 数码管显示器由 7 段条形的发光二极管组成,这些二极管组 成了“8”字形。例如,要显示“1”则点亮 b、c 段的二极管,显示“2”就点亮“abged”段的数码管。 在 led 数码管显示器中,为了简化驱动电路通常会把各个发光二极管的阴极或阳极边放在一起进行接地 或者接 vcc。发光二极管的阴极一起接地的为共阴极,阳极一起接高电平的为共阳极接法。 11 图 3-9 led 数码管显示器结构和接法图 根据二极管单向导通的特性从图 3-10 不难看出对于共阴极数码管,想要点亮字段就要从输入端输入 用高电平“1” ;而对于共阳极数码管,点亮字段则要输入低电平也就是“0” 。这样就可以把要显示的数 字与像表 4 那样和二进制代码一一对应起来,根据需要显示的字段是否点亮就能对 7 段 led 数码显示器 实现编码。 表 4 7 段数码管显示器编码表 字型gfedcba共阴共阳 001111113fc0 100001100cf3 210110117689 310011115ea1 411001104db2 511011015ba4 611111017b84 700001110ef1 811111117f80 911011115fa0 单片机的引脚电流虽然可以直接驱动很多原件,但是有些耗电大的原件无法直接驱动,这时就需要 使用三极管进行电流放大,三极管分为 npn 和 pnp 两种。如图 3-10 所示,其中 c 端为集电极,e 端为发 射极,b 端为基极。npn 三极管电流从发射极流出的三极管。所以发射极会直接或间接的接地,而集电极 会接 vcc。pnp 三极管正好相反,电流从发射极流入的三极管。接法也是相反的,发射极接 vcc,集电极 接地。 12 图 3-10 三极管结构图 本设计使用的是 4 位数码管,其中第一位显示烟雾浓度,第二位为分隔符显示“-” ,最后两位显示 温度。具体接法为共阳极接法,因为单片机输出电流比较小,所以要用三极管来进行电流的放大,本设 计用了 4 个 pnp 型的三极管来驱动数码管显示器。在仿真中数码管的 1234 引脚接的是三极管放大电路, 功能是位选择。而具体的亮那一条二极管组成什么数字则由 abcdefg 引脚控制,dp 引脚为小数点,在本 设计没有用。具体结构仿真如图 3-11。 3-11 数码管结构图 3.6 报警器 13 本设计的报警系统使用的是蜂鸣器,蜂鸣器的工作原理很简单,当电流通过电磁线圈时会产生磁场, 这个磁场会使鼓膜震动从而发声。和数码管显示器一样单片机输出的电流太小,无法直接连接蜂鸣器, 因此需要一个电流放大的电路。所以在设计时加上了一个 npn 三极管控制蜂鸣器,将蜂鸣器正极接电源, 负极接的集电极,三极管的发射极接地。具体结构仿真如图 3-12。 图 3-12 蜂鸣器 4 软件设计 本设计程序很长,是整个系统最难设计的部分。在设计时应当分成几个部分来进行,进行模块化的 程序设计。我主要分了以下几个部分来进行:温度读取和部分,温度显示部分,a/d 转换部分,烟雾读取 显示部分,报警部分,按键设置部分等。 4.1 主程序流程图 初始化 开始 传感器预热 并故障预检 按键扫描 和键值处理 是否按下设置键 进入报警设置模式 a/d 转换 14 图 4-1 主程序流程图 4.2 keil 本设计使用的软件设计工具为 keil,这款软件可以根据写好的程序产生 c 文件和 hex 文件,可以在 51 系列单片机上进行烧写。 图 4-2 keil 界面图 数据处理 是否超过报警上限 进入报警处理程序 浓度和温度 显示程序 15 程序编写完毕后生成 hex 文件,将这个文件通过烧写器烧进单片机中即可。在对单片机进行烧写前 最好将程序在 protues 仿真中进行仿真,修改不足和错误的部分,当在仿真中可以无误的运行后再进行 正式烧写。这样可以避免一些对单片机或者整个系统的损害,而且 at89s52 需要专门的单片机烧写器和 烧写软件,每次烧写都比较繁琐。keil 可以和 protues 进行联调,这样可以更方便的调试程序。 5 实物制作展示 5.1 实物制作注意事项 在仿真测试无误后,就应当开始制作实物。制作实物最难的就是焊接电路,刚刚接触焊接应当上网 找一些视频,学习视频中焊接的姿势、注意事项、流程,然后找几块旧的板子试着练习,直到可以很熟 练的焊接。焊接时电烙铁应当成水平60角。这样便于熔化的锡流到焊点上。烙铁头在焊点处停留的时 间控制在23秒钟,过多的话会和附近的线路焊在一起造成短路,太少又会造成虚焊产生断路。特别注 意三极管的引脚,特别是 pnp 和 npn 三极管接法不一样很容易焊错,而且温度传感器 ds18b20和三极管的 外观一模一样,要仔细分辨。还要注意焊接时线不小心连在一起或者虚焊引起的短路和断路的问题,出 现问题后用万用表仔细排查电路。 5.2实物效果图 (1)正常状态下,没有检测到烟雾或可燃气体,数码管第一位显示烟雾浓度,显示“0” ,最后两位显示 温度。但是由于烟雾传感器需要预热才能正常工作,所以当刚刚通电时烟雾浓度可能会错误显示为“1” 。 过一段时间后,烟雾传感器预热完毕后会正确显示。左下角三个按键从左到右依次是设置键,减下键和 增大键。左边的键为手动报警键,中间的按键为复位键。 16 图 5-1 正常状态 (2)打火机释放出可燃气体丁烷,烟雾传感器检测到后蜂鸣器报警,并显示数值。 17 图 5-2 检测到可燃气体 6 6 总结总结 火灾报警器可以保障人们生产与生活的安全,可以及早发现火灾和预防易燃易爆气体爆炸事故发生, 因此其具有很好的实用性。 本文设计的火灾自动报警系统采用了温度传感器 ds18b20 和烟雾传感器 mq-2 相结合的多传感器探测 方法,相比单一传感器的火灾报警器系统灵敏度更高、在火灾发生的早期就能准确的报警,具有系统安 全可靠,误报漏报率低,操作简单,成本低廉等优点。但同时也应该看到正是因为成本问题,这个系统 其实并不完美,如果使用更好的传感器可以做的更好。系统使用了 a/d 转换芯片 adc0809 把烟雾传感器 收集的模拟信号转换成数字信号并把这个信号送给 at89s52 单片机。单片机做作为系统的控制中枢,一 方面要将收集来的温度和烟雾浓度信息通过数码管显示器显示,另一方面还要在数值超过设置的警戒数 值时通过蜂鸣器报警。在系统中还加入了人工报警按键,可以在传感器失效等情况下依然可以报警,系 统中的复位键可以充当报警停止按键。软件设计方面使用了了模块化分步化的程序设计方法,使得程序 结构清晰步骤明确,也便于在错误时的修改。 本设计在后期也可以添加一些其他模块,这样就可以实现更多的功能。比如添加通信模块,这样就 可以远距离将数据和报警传输到管理员处:添加继电器模块,连接洒水装置,可以实现自动灭火。可见 本设计还是不够完善,可扩展性的方面还是很多的。 参考文献参考文献 1李萍.at89s51 单片机原理、开发与应用实例.中国电力出版社.2008.21-42. 2尚伟.at89 单片机原理及应用.国防工业出版社.2008.251-25. 3刘海涛 赵金波 晁阳.80c51 单片机 c 语言程序设计与实例解析.清华大学出版. 社.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张齐 朱宁西.单片机应用系统设计技术-基于 c51 的 proteus 仿真.电子工业出版 社.2009.248-258. 12h. meixner,v. lampemetal oxide sensorssensors and actua-tors.1996.1-3 13j. mizseiresponse pattern of sno2 sensor system for a smoke of different origin ensors and actuators1994264267. 14 fan bingyen. home wireless intelligent burglar alarm systemm. security 18 technology, 2003 15holt,mike.fire alarm signaling systems.electrical construction and maintenance, 2003 fire auto alarm tangzhan nanjing university of information sciencemcu;smoke sensor;temperature sensor 19 谢辞谢辞 经过几个月的忙碌的工作,去图书馆翻找资料,上网查找答案,跟着视频学习硬件焊接,向同学老 师请教编程,本次毕业设计终于完成了,作为大学四年的学习总结,毕业论文无疑是非常重要的。但是 由于经验的匮乏,平时实际动手机会比较少,导致理论上的知识转换成实际时总会遇到各种困难,好多 看似简单的地方实际做起来才知道复杂,有种“书到用时方知少”的感觉。从仿真到程序设计,再到实 际动手焊接电路板,每一步都有许多超过预期的障碍。在跨越这些障碍时,除了自身的努力,老师和同 学的帮助也是不可缺少的,正是有了他们的帮助我才能顺利完成这篇论文。 在这里首先要感谢他和蔼的语气,深厚的学识,严谨的治学态度,一丝不苟的作风给我带来了很大 的帮助,是我们学习的榜样;然后要感谢大学期间所有教过我的老师, “九层之台,起于累土”没有这些 老师的教导,就没有这篇论文的基础。同时还要感谢 2009 级电气与自动化所有的同学们,特别是和我是 一个题目的同学,大家在一起学习讨论,互相帮助,没有你们在生活中和学习上给我的支持和鼓励,我 是不可能顺利完成这次毕业设计的。 20 附录 附录一 proteus 仿真 21 附录二 源程序 #include #include #include“ds18b20.h“ #define uint unsigned int #define uchar unsigned char/宏定义 #define set p1_0/定义调整键 #define dec p1_1/定义减少键 #define add p1_2/定义增加键 #define beep p3_4/定义蜂鸣器 #define hujiao p1_3 sbit adcs=p37; sbit adclk=p35; 22 sbit addi=p36; sbit addo=p36; bit shanshuo_st;/闪烁间隔标志 bit beep_st;/蜂鸣器间隔标志 bit flag=0;/紧急呼叫标志 sbit dian=p25;/小数点 uint abc; uchar x=4;/计数器 signed char m;/温度值全局变量 uchar n;/温度值全局变量 uchar set_st=0;/状态标志 signed char shangxian=30;/上限报警温度,默认值为 38 signed char xiaxian=5;/下限报警温度,默认值为 38 uchar 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=0x4c; tl0=0x00;/50ms(晶振 11.0592m) /*定时器 0 中断服务程序*/ void timer0(void)interrupt 1 th0=0x4c; tl0=0x00; x+; /*读取温度*/ void check_wendu(void) 23 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_init() 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;/显示 c p0=0xbf; delay(300); p2=leddatam/10;/显示个位 p0=0xef; delay(300); p2=0xf7;/显示十位 p0=0xfb; delay(300); 24 p2=leddataabc;/显示百位 p0=0xfe; delay(300); p0=0xff;/关闭显示 /*显示报警温度子程序*/ disp_alarm(uchar baojing) p2=0x3c;/显示 c p0=0xbf; delay(200); p2=leddatabaojing%10;/显示十位 p0=0xef; delay(200); p2=leddatabaojing/10;/显示百位 p0=0xfb; delay(200); if(set_st=1)p2=0x61; else if(set_st=2)p2=0x3d;/上限 h、下限 l 标示 p0=0xfe; delay(200); p0=0xff;/关闭显示 disp_nongdu(uchar baojing)/烟雾浓度报警显示 p2=0xff; p0=0xbf; delay(200); p2=0xff; p0=0xef; delay(200); p2=0xff; p0=0xfb; delay(200); p2=leddatabaojing;/显示浓度 p0=0xfe; 25 delay(200); p0=0xff;/关闭显示 /*报警子程序*/ void alarm() if(m=shangxian else beep=0;/关闭蜂鸣器 if(x=10)beep_st=beep_st;x=0; void alarm1() if(x=10)beep_st=beep_st;x=0; if(beep_st=1)beep=1; else beep=0; /*ad 转换子程序*/ uchar adc0832(bit mode,bit channel)/ad 转换,返回结果 uchar i,dat,ndat; adcs=0;/拉低 cs 端 _nop_(); _nop_(); addi=1;/第 1 个下降沿为高电平 adclk=1;/拉高 clk 端 _nop_(); _nop_(); adclk=0;/拉低 clk 端,形成下降沿 1 _nop_(); _nop_(); addi=mode; /低电平为差分模式,高电平为单通道模式。 adclk=1;/拉高 clk 端 26 _nop_(); _nop_(); adclk=0;/拉低 clk 端,形成下降沿 2 _nop_(); _nop_(); addi=channel;/低电平为 ch0,高电平为 ch1 adclk=1;/拉高 clk 端 _nop_(); _nop_(); adclk=0;/拉低 clk 端,形成下降沿 3 addi=1;/控制命令结束(经试验必需) dat=0; /下面开始读取转换后的数据,从最高位开始依次输出(d7d0) for(i=0;i=1; adclk=1;/拉高时钟端 _nop_(); _nop_(); 27 adclk=0;/拉低时钟端形成一次时钟脉冲 _nop_(); _nop_(); if(addo=1) ndat|=0x80; adcs=1;/拉高 cs 端,结束转换 adclk=0;/拉低 clk 端 addi=1;/拉高数据端,回到初始状态 if(dat=ndat) return(dat); else return 0; /*主函数*/ void main(void) uint z; inittimer();/初始化定时器 ea=1;/全局中断开关 tr0=1; et0=1;/开启定时器 0 beep=0; check_wendu(); check_wendu(); for(z=0;z3)set_st=0; if(set_st=0) abc=adc0832(1,0);/差分模式,ch0-ch1 abc=abc*19.607843;/转换为实际电压便于显示 abc=abc/1000%10; check_wendu(); disp_temperature(); if(flag=1)alarm1(); else alarm();/报警检测 else if(set_st=1) beep=0;/关闭蜂鸣器 if(dec=0) delay(2000); dowhile(dec=0); shangxian-; if(shangxian99)shangxian=99; if(x=10)shanshuo_st=shanshuo_st;x=0; 29 if(shanshuo_st)disp_alarm(shangxian); else if(set_st=2) beep=0;/关闭蜂鸣器 if(dec=0) delay(2000); dowhile(dec=0); xiaxian-; if(xiaxianshangxian)xiaxian=shangxian; if(x=10)shanshuo_st=shanshuo_st;x=0; if(shanshuo_st)disp_alarm(xiaxian); else if(set_st=3) beep=0;/关闭蜂鸣器 if(dec=0) delay(2000); dowhile(dec=0); if(nongdu0) nongdu-; if(nongdu5)nongdu=5; if(x=10)shanshuo_st=shanshuo_st;x=0; if(shanshuo_st)disp_nongdu(nongdu); /*end*/ g an employment tribunal claim employment tribunals sort out disagreements between employers and employees. you may need to make a claim to an employment tribunal if: you dont agree with the disciplinary action your employer has taken against you your employer dismisses you and you think that you have been dismissed unfairly. for more information about dismissal and unfair dismissal, see dismissal. you can make a claim to an employment tribunal, even if you havent appealed against the disciplinary action your employer has taken against you. however, if you win your case, the tribunal may reduce any compensation awarded to you as a result of your failure to appeal. remember that in most cases you must make an application to an employment tribunal within three months of the date when the event you are complaining about happened. if your application is received after this time limit, the tribunal will not usually accept it. if you are worried about how the time limits apply to you, take advice from one of the organisations listed under further help. employment tribunals are less formal than some other courts, but it is still a legal process and you will need to give evidence under an oath or affirmation. most people find making a claim to an employment tribunal challenging. if you are thinking about making a claim to an employment tribunal, you should get help straight away from one of the organisations listed under further help. if you are being represented by a solicitor at the tribunal, they may ask you to sign an agreement where you pay their fee out of your compensation if you win the case. this is known as a damages-based agreement. in england and wales, your solicitor cant charge you more than 35% of your compensation if you win the case. if you are thinking about signing up for a damages-based agreement, you should make sure youre clear about the terms of the agreement. it might be best to get advice from an experienced adviser, for example, at a citizens advice bureau. to find your nearest cab, including those that give advice by e-mail, click on nearest cab. for more information about making a claim to an employment tribunal, see employment tribunals. the

温馨提示

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

评论

0/150

提交评论