单片机危险气体报警器说明书.docx

上传人:b****5 文档编号:11687947 上传时间:2023-03-30 格式:DOCX 页数:29 大小:1.21MB
下载 相关 举报
单片机危险气体报警器说明书.docx_第1页
第1页 / 共29页
单片机危险气体报警器说明书.docx_第2页
第2页 / 共29页
单片机危险气体报警器说明书.docx_第3页
第3页 / 共29页
单片机危险气体报警器说明书.docx_第4页
第4页 / 共29页
单片机危险气体报警器说明书.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

单片机危险气体报警器说明书.docx

《单片机危险气体报警器说明书.docx》由会员分享,可在线阅读,更多相关《单片机危险气体报警器说明书.docx(29页珍藏版)》请在冰豆网上搜索。

单片机危险气体报警器说明书.docx

单片机危险气体报警器说明书

《单片机技术》课程设计说明书

危险气体报警器

湖南工学院《单片机技术》课程设计课题任务书

学院:

电气与信息工程学院专业:

电气工程及其自动化

指导教师

学生姓名

课题名称

危险气体报警器

内容及任务

一、设计任务

设计一个基于单片机的危险气体报警器。

二、设计内容

1、危险气体报警器的硬件系统

(1)、单片机最小系统模块

(2)、供电模块

(3)、显示模块

(4)、按键模块

(5)、传感器电路模块

(6)、报警电路模块

2、危险气体报警器的软件系统

(1)、传感器信号处理程序模块

(2)、显示程序模块

(3)、按键处理程序模块

(4)、报警程序模块

三、设计要求

该危险气体报警器上电或按键复位后能自动显示符号“S.”,进入准备工作状态。

具备对室内烟雾或可燃气体等的传感检测功能,并能通过液晶屏显示出当前状态,有气体泄漏时可以发出警报声。

用户可以通过按键来取消报警声等。

对烟雾及防盗的检测反应速度不得超过5秒。

主要参考资料

[1]李广弟等.单片机基础[M].第3版.北京:

北京航空航天大学出版社,2003.6

[2]李全利.单片机原理及应用(C51编程)[M].北京:

高等教育出版社,2012.12

[3]马忠梅.单片机的C语言应用程序设计[M].第四版.北京:

航空航天大学出版社,

2003.6

[4]李光飞.单片机C程序设计指导[M].北京:

航空航天大学出版社,2003.01

[5]李光飞.单片机课程设计实例指导[M].北京:

航空航天大学出版社,2004.9

教研室

意见

 

教研室主任:

(签字)

年月日

 

摘要

危险气体报警器通过监测气体的浓度来实现火灾防范,可以完成可燃性气体和有毒气体的检测以及报警功能,应用非常广泛,有效的预防了各种火灾的发生。

危险气体报警器采用单片机AT89S52,其价格便宜,性能稳定,易于产品化。

以MQ-2气体传感器和AT89S52单片机为核心设计危险气体报警器,利用MQ-2气体传感器,将置于测试环境中待测气体的浓度转换为模拟电压,再通过A/D转换器ADC0809将模拟电压转换为数字信号,送入单片机AT89C51中进行处理。

通过设置报警值,用单片机控制蜂鸣器报警。

最后通过调试硬件和软件系统,结果显示,所设计的危险气体报警器能够实现特定的功能,具备准确度高的优点,可以在预防火灾报警领域中得到广泛的应用。

关键词:

危险气体报警器;单片机;传感器;A/D转换器

 

目录

1课程设计简介及设计说明1

1.1设计课题任务1

1.2功能要求说明1

1.3设计课题总体方案及工作原理1

2硬件系统设计2

2.1硬件系统各模块功能简要介绍2

2.1.1AT89S52简介2

2.1.2电源电路2

2.1.3显示模块3

2.1.4振荡电路模块4

2.1.5A/D转换模块4

2.1.6声光报警模块5

2.1.7复位电路模块5

2.1.8下载电路模块6

2.1.9按键模块6

2.1.10传感器模块6

2.2硬件系统设计图7

2.2.1危险气体报警器主板原理图7

2.2.2电源电路原理图7

2.2.3危险气体报警器实物图7

2.2.4电源实物图7

2.3元器件清单7

3软件设计8

3.1AT89S52单片机资源使用情况8

3.2各模块功能介绍8

3.3程序流程框图8

3.3.1主程序流程图概述8

3.3.2键盘扫描程序9

3.3.3A/D转换与比较程序流程图10

3.4程序清单10

4设计结果及误差分析11

4.1使用说明11

4.2使用软件介绍11

4.3实物测试11

4.4误差分析及改进措施13

4.5设计体会13

结束语14

参考文献15

致谢16

附录17

附录A危险气体报警器主板原理图17

附录B危险气体报警器电源原理图18

附录C危险气体报警器实物图19

附录D危险气体报警器电源实物图20

附录E元件清单21

附录F程序清单22

1课程设计简介及设计说明

1.1设计课题任务

设计一个基于单片机的危险气体报警器。

1.2功能要求说明

危险气体报警器上电或按键复位后能自动显示符号“S.”,进入准备工作状态。

具备对室内烟雾或可燃气体的传感检测功能,并能通过液晶屏显示出当前状态,有气体泄漏时可以发出警报声。

用户可以通过按键来取消报警声等。

对烟雾及防盗的检测反应速度不得超过5秒。

1.3设计课题总体方案及工作原理

选用AT89S52单片机成为系统核心控制部件,采用12M晶体振荡器及微小电容形成振荡电路;MQ-2传感器作为传感部分,构成危险气体报警器的主体结构,联合复位电路和A/D转换电路完成危险气体报警器的各种指定功能。

图1危险气体报警器的硬件结构图

危险气体报警器的工作原理是将报警器至于气体环境中,当传感器检测到环境中危险气体的浓度达到设定的值时,通过ADC0809转换器将模拟电压转换为数字信号,送入单片机中进行处理,然后用单片机控制发光二极管和蜂鸣器报警。

并且利用按键来实现复位和人为取消报警功能,即设计出符合要求的危险气体报警器。

2硬件系统设计

2.1硬件系统各模块功能简要介绍

2.1.1AT89S52简介

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K系统可编程Flash存储器。

AT89S52具有以下标准功能:

8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

单片机引脚图如图2所示。

图2单片机AT89S52引脚图

2.1.2电源电路

电源电路主要用于给危险气体报警器提供电源,让报警器正常工作,为了更方便的得到所需的电源电压,用专用电源变压器,得到电压为12V的交流电压。

通过过整流、滤波、稳压来提供稳定的直流电。

整流是用二极管的单向导电性将正负变化的交流电压变为单向脉动电压的电路。

在交流电源的作用下,整流二极管周期性地导通和截止,使负载得到脉动直流电。

滤波是尽可能减小脉动的直流电压中的交流成分,保留其直流成分,使输出电压纹波系数降低。

经过计算,选择变压器变比为18:

1,选择型号1N4001二极管进行整流作用。

选择电容2200μf,0.1μf以及470μf进行滤波作用,选用LM7805进行稳压作用,而电阻起限流作用,通过这些形成电源原理图。

设计图纸见附录B电源电路原理图。

通过下载口对系统供电的电路如图3所示

图3电源电路图

2.1.3显示模块

显示器采用LCD1602液晶屏显示。

LCD1602是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。

它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。

它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。

液晶显示模块如图4所示。

图4液晶显示电路图

2.1.4振荡电路模块

振荡电路由反相器以及并联外接的石英晶体和电容构成,用于产生振荡脉冲。

AT89S52芯片中的高增益反相放大器,其输入端为引脚XTAL1,输出端为引脚XTAL2。

通过这两个引脚在芯片外并接石英晶体振荡回路和两只电容器(电容

一般取33pF)。

石英晶体为一感性元件,与电容构成振荡回路,为片内放大器提供正反馈和振荡所需的相移条件,从而构成一个稳定的自激振荡器。

振荡电路模块如图5所示。

图5振荡电路模块

2.1.5A/D转换模块

ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。

内部由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。

其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换,可实现8路模拟信号的分时采集,以及相应的地址通道锁存与译码电路,输出锁存器用于存放和输出转换得到的数字量。

A/D转换模块如图6所示。

图6A/D转换电路模块

2.1.6声光报警模块

报警模块主要是由单片机的P2.5口,P2.2和P2.0口输出一个电平的高低决定。

如果P2.5口输出电平为高,则三极管9012不导通,蜂鸣器没有启动电源,不会响起,P2.2口输出为低电平,则绿灯亮,没有报警。

反之,P2.5口如果输出为低电平,则三极管导通,蜂鸣器接通电源响起,P2.0口输出为低电平,红灯亮,进行报警。

声光报警模块电路如图7所示。

图7声光报警模块电路

2.1.7复位电路模块

复位电路用于产生复位信号,通过RST引脚送入单片机,进行复位操作。

设计采用手动复位,手动复位是通过按键来实现的,按键电平复位通过使复位端经电阻与Vcc电源接通来完成。

复位电路工作原理:

当复位电路的VCC工作,C充电,在1KΩ的电阻上产生电压,来让得单片机复位。

几个毫秒之后,电容C充满电,电阻上电流变成0,电压同时也变成0,让单片机进入工作状态。

电容的特性通交流隔直流,所以电容选择22μf,电阻选择1kΩ和200Ω来构成复位电路。

复位电路模块如图8所示。

图8复位的电路模块

2.1.8下载电路模块

下载电路是单片机导入程序的通道,同时也可以为单片机提供电源。

下载电路模块如图9所示。

 

图9下载电路模块

2.1.9按键模块

键盘作为危险气体报警器的输入部分,需要通过按键来对系统进行复位以及人为取消报警。

独立式键盘电路为共阴极电路,当按键为按下状态的时候,单片机扫描发现相对应端口有低电平的时候,就会判断按键为按下状态,然后通过消抖,做出相应的响应动作。

作为独立的键盘,每个按钮都与单片机的不同端口相连,所以按键是彼此独立的,不会互相干扰。

键盘电路模块如图10所示。

图10键盘电路模块

2.1.10传感器模块

MQ-2气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。

当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。

使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。

MQ-2气体传感器对液化气、丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。

这种传感器可检测多种可燃性气体,是一款适合多种应用的低成本传感器。

传感器模块电路如图11所示。

 

图11传感器模块电路

2.2硬件系统设计图

2.2.1危险气体报警器主板原理图

主板电路原理图使用AltiumDesignersummer09软件完成,具体电路图见附录A。

2.2.2电源电路原理图

电源电路原理图使用AltiumDesignersunmmer09软件完成,具体电路图见附录B。

2.2.3危险气体报警器实物图

危险气体报警器实物图见附录C。

2.2.4电源实物图

电源实物图见附录D。

2.3元器件清单

元器件清单见附录E。

3软件设计

3.1AT89S52单片机资源使用情况

危险气体报警器设计除了使用单片机工作所必须的硬件资源(如连接晶振的引脚XTAL1和XTAL2,复位引脚RESET)外,还用了P1.0~P1.7连接ADC0809的D0~D7,P0.0~P0.7与LCD1602的DB0~DB7的连接,以及P2.5口与蜂鸣器的连接。

3.2各模块功能介绍

(1)系统主程序:

系统初始化,设定起始浓度。

(2)键盘扫描程序:

判断按键状态。

(3)A/D转换与比较程序:

判断检测浓度值是否大于起始浓度。

3.3程序流程框图

3.3.1主程序流程图概述

先制定主程序流程图,然后可分为各个子模块分别实现其功能。

通过将检测值与设定起始浓度值相比较,如果大于起始浓度,则通过蜂鸣器发出报警,如果小于起始浓度,则不报警。

主程序流程图如图12所示。

图12主程序流程图

3.3.2键盘扫描程序

键盘处理程序通过判断按键状态来确定按键功能,还要消除按键在闭合或断开时的抖动。

两个并行口中,一个输出扫描码,使按键逐行动态接地,另一个并行口输入按键状态,从而使系统开始工作。

键盘扫描程序流程图如图13所示。

图13键盘扫描程序流程图

3.3.3A/D转换与比较程序流程图

通过A/D转换与比较程序,实现了通过气敏传感器,把空气中危险体浓度转化为电信号,通过ADC0809送入单片机中并且经过数据处理,实现对空气中危险气体的检测,如果空气中检测到的危险气体浓度大于设置起始浓度则通过蜂鸣器报警。

A/D转换与比较程序流程图如图14所示。

图14A/D转换与比较程序流程图

3.4程序清单

根据流程图使用Keil软件编写C语言程序完成危险气体报警器的各项功能。

程序清单见附录F。

4设计结果及误差分析

4.1使用说明

通过设计和实物的调试,危险气体报警器可以顺利完成各项功能。

上电或按键复位后能自动显示符号“S”,有气体泄漏时能发出报警声,并且能通过按键取消报警。

4.2使用软件介绍

用汇编语言或C语言要使用编译器,以便把写好的程序编译为机器码,才能把HEX可执行文件写入单片机内。

KEILuVISION是众多单片机应用开发软件中最优秀的软件之一,它支持众多不同公司的MCS51架构的芯片,甚至ARM,它集编辑,编译,仿真等于一体,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。

4.3实物测试

在Keil软件中只能编写程序和检查所写程序有没有语法错误,而不能知道将程序导入到单片机中后实物能不能正常运行,这就需要后续利用实物来验证以及一步步调试,以达到课程设计要求的指标。

按下复位键,系统进入初始阶段,显示“S”。

初始状态图如图15所示。

图15系统初始状态

松开复位键后,系统进入准备阶段,绿灯亮,设置初始浓度30。

准备阶段状态图如图16所示。

图16系统准备状态

系统检测到危险气体并且浓度高于初始值时开始报警,绿灯熄灭,红灯亮,蜂鸣器报警。

系统报警状态图如图17所示。

图17系统报警状态图

系统报警后人为取消报警,红灯熄灭,绿灯亮,蜂鸣器关闭。

人为取消报警状态如图18所示。

图18人为取消报警状态图

4.4误差分析及改进措施

通过实物测试发现危险气体报警器有时候检测气体的速度较慢,不够及时。

通过分析发现这可能主要与设计的硬件系统和软件系统有关联。

软件系统:

时钟电路定时不够准确,汇编语言执行时需要一定的机器周期,与设计时计算的时间存在一定的误差。

硬件系统:

传感器不够灵敏,以及元件参数不够设计时计算的那么精确,存在误差,所以检测气体时速度较慢。

减小方法:

通过分析发现以上两个引起误差的原因。

软件系统的误差可以在设计汇编语言时更精确的计算机器周期和时钟电路的定时以缩小误差;硬件系统则可以在设计时准确计算所需元件参数,选择最合适的元器件,以减小误差。

4.5设计体会

经过一段时间的努力危险气体报警器达到了课程设计的技术指标要求。

在整个设计过程中收获颇丰,不仅激发了学习兴趣,培养了动手能力,同时也巩固了所学的课程知识,还锻炼了设计实物的思维与能力。

在设计的过程中还通过不断的查找资料以及阅读相关书籍,增加相关的专业知识,为以后的工作打下了良好的基础。

结束语

危险气体报警器设计是基于AT89S52单片机的的设计和应用,通过对单片机的功能和工作原理的了解,设计出危险气体报警器。

通过对AT89S52单片机的扩展,利用MQ-2气体传感器以及ADC0809转换电路对环境中待测气体的浓度进行检测,将模拟电压转换为数字信号,送入单片机AT89C51中进行处理。

通过设置报警值,用单片机控制发光二极管蜂鸣器同时报警。

危险气体报警器的设计能够有效的预防火灾的发生,同时降低人民生活和财产风险,有效的保障了人民的生活安全。

 

参考文献

[1]李广弟等.单片机基础[M].第3版.北京:

北京航空航天大学出版社,

2003.6.76~88

[2]李全利.单片机原理及应用(C51编程)[M].北京:

高等教育出版社,

2012.12.57~62

[3]马忠梅.单片机的C语言应用程序设计[M].第四版.北京:

航空航天大学出版

社,2003.6.58~63

[4]李光飞.单片机C程序设计指导[M].北京:

航空航天大学出版社,

2003.01.41~49

[5]李光飞.单片机课程设计实例指导[M].北京:

航空航天大学出版社,

2004.9.84~91

[6]何立民.单片机高级教程[M].北京:

北京航空航天大学出版社,2000,

126~131

[7]罗克露,徐洁.微型机原理与应用[M].第二版.北京:

电子工业出版社,2004.10~15

[8]郭天祥.新概念51单片机C语言教程[M].北京:

电子工业出版社.2009,342~349

[9]康华光.电子技术模拟部分(第五版)[M].北京:

高等教育出.2006,20~61

[10]网站

 

致谢

整个设计过程中,我得到了老师的精心指导,老师严谨的工作作风以及对事业的热爱,对学生的关心,给我留下了深刻的印象,在今后的工作、学习中我要以老师为榜样,把认真的工作态度和严谨的工作作风带到工作中去。

在此,请允许我向培养我的老师表示深深地感谢和敬意,感谢他对我细心的教导,每当我遇到问题时,老师总会对我耐心解答,给我的课程设计提出了很多宝贵的意见,让我受益非浅,学到了很多东西,万分的感谢所有老师。

最后,我还要感谢我的同学,当我在设计中遇到困难时,他们也会和我一起解决,给我信心和鼓励,相信没有他们对我的全力支持,单凭我一个人,是很难完成这个艰巨任务的,谢谢他们。

附录

附录A危险气体报警器主板原理图

 

附录B危险气体报警器电源原理图

 

 

附录C危险气体报警器实物图

附录D危险气体报警器电源实物图

附录E元件清单

表1危险气体报警器元件

序号

元器件名称

规格

数目

1

AT89S52单片机

40P

1

2

晶振

12MHz

1

3

发光二极管

2

4

单排插针

40P

3

5

三极管

9012

1

6

蜂鸣器

1

7

小按键

2

8

下载口座子

1

9

六脚按键电源开关

1

10

电阻

200Ω

1

11

电阻

470Ω

2

12

电阻

10K

1

13

电阻

5.1K

1

14

电阻

1K

6

15

电解电容

22µf

1

16

瓷片电容

33pf

2

17

电解电容

0.1μf

2

18

电解电容

2200μf

1

19

电解电容

470μf

1

20

排阻

10k

4

21

排阻

470Ω

1

22

USB下载线

无需安装驱动程序

1

23

数/模转换器

ADC0809

1

24

气敏传感器

MQ-2

1

25

变压器

18:

1

1

26

整流二极管

1N4001

4

27

稳压管

LM7805

1

28

LCD

1602

1

附录F程序清单

/****************************************

项目名称:

危险气体报警器

编程作者:

侯军

完成时间:

2015年7月

项目功能:

危险气体报警器上电或按键复位后能自动显示符号“S.”,进入准备工作状态。

具备对室内烟雾或可燃气体等的传感检测功能,并能通过液晶屏显示出当前状态,有气体泄漏时可以发出警报声。

用户可以通过按键来取消报警声等。

对烟雾及防盗的检测反应速度不得超过5秒。

****************************************/

/**********程序头函数**********/

#include

/**********显示函数**********/

#include

/**********宏定义**********/

#defineuintunsignedint

#defineucharunsignedchar

#defineData_ADC0809P1

/**********管脚声明**********/

sbitLED_R=P2^2;//红灯

sbitLED_G=P2^0;//绿灯

sbitFENG=P2^5;//蜂鸣器

/***********ADC0809**********/

sbitST=P3^3;

sbitEOC=P3^6;

sbitOE=P3^2;

/**********按键**********/

sbitKey1=P2^6;//设置键

bitbdataflag;//报警标志位

ucharset;//设置状态

/**********函数声明**********/

externucharADC0809();

externvoidKey();

/**********气体含量变量**********/

uchartemp=0;

ucharWARNING=30;//报警值

voidinit()//初始化函数

{

TMOD=0x01;//工作方式

TL0=0xb0;

TH0=0x3c;//赋初值(12MHz晶振的50ms)

EA=1;//打开中断总开关

ET0=1;//打开中断允许开关

TR0=1;//打开定时器开关

}

voidDelay_ms(uintxms)

{

uchari;

while(xms--)

for(i=0;i<50;i++);

}

voidmain()//主函数

{

Init11602();//初始化显示

Delay_ms(6000);

Init1602();//初始化显示

init();//初始化定时器

while

(1)//进入循环

{

temp=ADC0809();//读取气体浓度值

if(set>=0)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1