基于单片机的煤气报警器设计(1) 下载本文

内容发布更新时间 : 2024/5/13 6:29:25星期一 下面是文章的全部内容请认真阅读。

大连海洋大学毕业设计(论文) 第一章 前言

转换模块所输出的来的信号,来对之后的声光报警模块和LED模块来进行驱动,实现三色LED灯,蜂鸣器的管控,同时达到实现对于燃气泄漏报的监控。此燃气泄漏报警器可以将气体传感器输出的模拟信号经模数转换模块处理送入主控模块中进行处理,并将测量数值传到LED模块,若气体浓度超过警报值(需自行设定一个,可以是爆点稍低),用主控模块操作红灯报警,并使蜂鸣器鸣响,发出警报,降低危险发生的概率。并且要达到绿灯点亮表示一切正常,没有一氧化碳泄漏,此时红色和黄色不亮,蜂鸣器正常;当空气中有一氧化碳时,但没有达到报警值,此时黄灯亮,红色灯和绿色灯不亮,蜂鸣器正常;红色灯点亮时表示此时空间当中已经非常危险了,要立即声蜂鸣器响起。

系统以MQ-9气体传感器和AT89C51 单片机为核心,设计气体泄漏报警器。实现:

1.设计电路在无人监控的情况下自己能正常安全稳定运行的准确测量测试房间当中CO泄漏值;

2.实现汇编语言对于单片机的各个模块,并间接的可对于传感电路的控制; 3.了解MQ-9气体传感器的具体功能;

4.实现确保人民的生活安全,为正确体现科技为人民的重要思想。

2

大连海洋大学毕业设计(论文) 第二章 系统总体概述

第二章 系统总体概述

2.1天然气报警的设计思路

此设计的燃气泄漏报警器应能检测出空气中一氧化碳的浓度同时可以报警,设备的主要部分应有:单片机主控模块,LED显示模块,声光报警模块,以及模数转换模块。

首先气敏传感器作为第一部分首先要感知周围空间环境的一氧化碳的浓度,将气体浓度通过模数转换模块转换成为对应的电压信号送入单片机。在单片机中对数字信号进行分析,检测,对比。随后将数字信号以10进制数的形式表现在LED显示模块中同时判断气体浓度值,与某个预设值既报警门限进行比较,如果大于则会自动启动报警电路发出报警声音反之则为正常状态。由于传感器在温度较高时更加准确,故可以考虑增加一个温度补偿电路。为提高响应时间,保证气体传感器准确地、稳定地工作,报警器需要向气体传感器持续输出一个5V的电压。为使报警装置更加完善,可以在声音报警基础上,加入光闪报警,变化的光信号可以引起用户注意,弥补嘈杂环境中声音报警的局限。以上是根据报警器应具备的功能,提出的整体设计思路。燃气泄漏报警器的关键部分是单片机主控模块和气体传感器模块,因此我们根据周围环境,所检测的气体以及生产成本等诸多方面考虑采用MQ-9行气体传感器和atmel公司的单片机。系统总体主要是分为:传感器模块、数模转换模块、LED显示模块、声光报警模块气体传感器模块和模数转换模块这五大模块。

2.2系统的设计要求及基本功能

2.2.1系统的设计要求

一、 由于不同地点煤气量有所差异,要求对多个地点同步进行煤气测量 二、 测量煤气范围可以设定,精度为5ppm 三、 预置时显示设定的ppm值 2.2.2系统的基本功能

一、能对煤气值进行检测、保持和控制,超出安全煤气值时进行报警。 二、能根据实际需要对2个不同地点的安全煤气值进行设置。

2.3系统结构框图

本次燃气泄漏报警器系统才用了单片机主控模块,LED显示模块,声光报警模块,气体传感器模块,和模数转换模块。其设计合理,结构构思巧妙,物尽其用,其结构如下图所示:

图 1.天燃气泄漏报警系统结构框图

3

大连海洋大学毕业设计(论文) 第二章 系统总体概述

其中CO传感器是对于周围环境的燃气浓度值进行检测,是设备的关键的感知部分。由于气体传感器受环境影响较大,故常常增加一个温度补偿电路,使传感器工作在较高的温度环境中,有利于增加其稳定性。A/D转换模块是将模拟信号转换为数字信号,供单片机处理信号。最后,由单片机发出合适声光信号,来表明当前的状态。

2.4方案的选择

1.主控模块设计方案的论证与比较 方案一:采用单片机AT89C51芯片

以单片机AT89C51芯片作为系统的控制核心,具有4KB的Flash闪速存储器,128B内部RAM,两个16位定时/计数器,32个I/O接口线,一个5向量的两级终端结构,一个全双工串行通信口,片内振荡器及时钟电路。功能强大的单片机AT89C51,是纵多设计师们所青睐的,其常被灵活应用于很多控制领域。尽管单片机AT89C51在一定程度上符合设计的要求,但由于本次设计要实现的功能比较多,需要较大的程序存储空间,其最大的问题是可能会出现内存不足的现象。为了避免出现内存不足,要外接程序存储器,使电路复杂化的现象,建议使用内存比单片机AT89C52芯片大的芯片。 方案二:采用单片机AT89C52芯片

与采用单片机AT89C51芯片相比,采用单片机AT89C52芯片作为系统的控制中心,具有片内8KB的可反复擦写的只读程序存储器和256B的RAM,按常规方法编程和在线编程均可以用在单片机AT89C52上,比较方便。利用其可将通用的微处理器结合Flash存储器在一起,特别是可反复擦写的Flash存储器,可以避免外扩内存的复杂化,很大程度上解决了内存不足的问题。

综合考虑设计成本以及实现的功能后,决定采用单片机AT89C51芯片。 2.显示模块的设计方案的论证与比较

常用的显示设备主要有LED显示器和LCD显示器,由于本系统的主控芯片可以直接驱动LED显示器和仅需要显示数字,故选择LED显示器。从节省单片机内部资源的角度来考虑的话,串行输出优于并行输出,故仅考虑串行输出。 方案一:多位LED数码管动态显示方式

当显示的位数比较多时,采用动态显示比较合理。在动态显示下,单片机的一个I/O接口接上并联在一起的数码管的8个引脚(a-h),单片机的另一I/O接口接上每个数码管的共阴或共阳端(位选信号端),控制数码管轮流被选中,驱动其轮流显示。动态显示即依次轮流点亮各位显示器,故同一瞬间只能显示一种字符。位选口控制具体的显示内容,借助人的视觉暂留效果以达到显示不同字符的效果。为了显示效果稳定,可以使每个数码管显示的数字不断重复,因而要求不断刷新。如果要达到人类视觉的良好效果,刷新的频率则必须达到一定的程度。高频率重复刷新,必定占用了单片机的运行时间。相反,如果单片机无法提供足够的刷新频率,则显示效果不稳定,出现闪烁现象。另外,由于动态显示不具有直接驱动的功能,动态显示要考虑LED驱动问题。动态显示是由段和位选信号共同配合而完成的,因而必须同时考虑段和位的驱动能力,需要注意的是段的驱动能力决定位的驱动能力。总体而言,动态显示相对来说,要综合考虑多方面因素,相对复杂。 方案二:多位LED数码管静态显示方式 当显示的位数不多时,择优考虑静态显示。采用静态显示的方式时,最大的优点是LED显示器由接口芯片直接驱动,很小的驱动电流便可换取较高的显示亮度。串行输出大大节约了单片机的内部资源,减少不必要的浪费。采用74LS164实现串并转换,无需添加其他驱动电路。LED亮度高,控制容易,电路简单,占用CPU很少的运行时间,不占用太多的接口资源,基本能够满足设计的最佳要求。由于本设计需要五位显示器,综合以上分析,故选

4

大连海洋大学毕业设计(论文) 第二章 系统总体概述

择多位LED数码管静态态显示方式。 3.报警模块的设计与论证

报警模块要实现的是在环境中的燃气浓度值超出初始设置的范围时,可以及时作出报警,设计要求不会给整体设计带来太多的负担,又鉴于单片机可直接驱动蜂鸣器,故直接用单片机外接报警信号放大器来放大报警信号,驱动蜂鸣器作出清晰的报警信号。

5

大连海洋大学毕业设计(论文) 第三章 硬件设计

第三章 硬件设计

3.1主控单片机模块

本设计中采用的是ATMEL公司的AT89C51单片机。

图2 AT89C51实物图

AT89C51是一个低电压,高性能CMOS8位单片机,片内含128bytes的随机存取数据存储器(RAM)和4kbytes的可反复擦写的Flash只读程序存储器(ROM),器件采用ATMEL公司的非易失性、高密度的存储技术生产,兼容标准MCS-51指令系统,片内置Flash存储单元和通用8位中央处理器,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案[1][2][3][4][5]。

AT89C51是一个低功耗高性能单片机,有40个标准引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本[5]。

主要性能:与MCS-51 兼容;4K字节可编程FLASH存储器;使用长度:1000次以上;数据保留时间:10年;全静态工作:0Hz-24MHz;128×8位内部RAM;32位可编程输入/输出线;脉冲时钟模块;睡眠模式;可编程串行通道;两个16位定时器/计数器T0、T1;5个中断源:INT0、INT1、T0、T1、RXD、TXD;三级程序存储器锁定 特性概述:

AT89C51提供以下标准功能:两个16位定时\\计数器,128字节随机存储器(RAM),中断控制结构(可处理5个中断源),片内振荡器及时钟电路,4K字节只读存储器,32个多用I/O口线,分别是p0 p1 p2和p3,一个全双工串行通信口。一个8位的cpu及指令系统,21个非常用功能寄存器,非片内存储电路。

内存架构

MCS-51有四种不同类型的内存 - 内部RAM,特殊功能寄存器,程序存储器和外部数据存储器。

内部RAM(IRAM)位于从地址0到0xFF的地址。IRAM从0x00到0x7F可以直接访问。IRAM从0x80到0xFF必须使用@ R0或@ R1语句,要访问的地址装入R0或R1间接访问。128位IRAM地址0x20值为0x2F位寻址。

特殊功能寄存器(SFR)都位于相同的地址空间作为IRAM,0x80?0xFF的地址处,并

6