煤气检漏仪的设计与实现_第1页
煤气检漏仪的设计与实现_第2页
煤气检漏仪的设计与实现_第3页
煤气检漏仪的设计与实现_第4页
煤气检漏仪的设计与实现_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机设计课程设计题 目: 煤气检漏仪的设计与实现 专 业: 班 级: 姓 名: 学号: 指导老师: 小组成员: 成 绩: 目录摘要3第一章 绪论51.1 课程设计目的51.2设计任务及要求51.2.1煤气检漏仪的设计与实现任务,包含以下方面:51.2.2 煤气检漏仪的设计与实现要求:5第二章 煤气检漏仪硬件电路的总体设计62.1 基于单片机的设计62.2系统硬件电路的总体设计72.2.1 气体传感及A/D转换电路的设计72.2.2 声光报警电路及显示电路的设计102.2.4 处理芯片12第三章 煤气检漏仪软件的总体设计133.1 主程序设计流程图133.2 部分程序143.3 仿真图163.

2、4 问题分析17心得体会总结18附录一:19附录二:24附录三:总体电路图及实物图25煤气检漏仪的设计与实现摘要随着“信息时代”的到来,作为获取信息的手段传感器技术得到了显著的进步,其应用领域越来越广泛,对其要求越来越高,需求越来越迫切。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。  煤气检漏器是为了防止煤气使用泄漏的危险的问题。本设计是采用单片机STC89C52作为核心元件,利用液晶lcd1602和LED灯作为显示元件以及蜂鸣器作为声音报警元件,在此设计了利用一个LED灯和液晶1602,其中

3、液晶用于显示煤气泄漏的浓度显示,LED用于显示煤气泄漏危险的信号灯,蜂鸣器显示煤气泄漏的声音信号。本文详细的介绍了系统硬件与软件的设计过程。由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性好,抗干扰能力强和使用方便等方面的独特的优点,采用该装置可以根据实际情况进行精密修改,具有低功耗,可靠性,安全性以及低成本等特点。关键词: 煤气检测;报警;STC89C52 ;lcd1602Design and Implementation of the gas leak detectorAbstractWith the coming of the "in

4、formation age", as a means of access to information, sensor technology has been remarkable progress, its application field is more and more widely, the demand is higher and higher, demand has become more and more urgent.Sensor technology has become a measure of a country one of the important sy

5、mbol of the levels of science and technology development.Therefore, to understand and master the basic structure, working principle and characteristics of various types of sensors is very important. The gas leak detector is to prevent gas using leak dangerous problem.This design is STC89C52 by

6、single chip microcomputer as the core components, using liquid crystal lcd1602 and leds as a display element and buzzer as a voice alarm components, in this design by using a LED lights and LCD 1602, of which liquid crystal used to display the concentration of the gas leak, the LED is used to displa

7、y the gas leak dangerous lights, buzzer showed leaking gas voice signal.This article detailed introduces the system hardware and software design process.As a result of the high level of integration, the function of the single chip microcomputer is strong, good generality, especially it has small vol

8、ume, light weight, low energy consumption, low price, good reliability, strong anti-interference ability and easy to use the unique advantage of using this device can be modified according to the actual situation of precision, low power consumption, reliability, security and low cost, etc.Key words:

9、 gas detection ;Call the police;STC89C52;lcd1602第一章 绪论1.1 课程设计目的人们面对燃气泄漏而造成的种种事故威胁,就真的没有一个彻底的解决办法吗?据有关专家介绍,使用燃气报警器是对付燃气无形杀手的重要手段之一。燃气专家指出,燃气泄漏或废气排放而大量产生的一氧化碳是燃气中毒事响应的根源,如采有用燃气泄漏报警器就能得到及时的警示人们。有关部门经长期测试同样得出结论,燃气报警器防止一氧化碳中毒事故发生的有效率达95%以上。为了防止中毒事件再次发生,提出利用单片机系统进行有效的预防对策。所以怎样防止煤气中毒与爆炸已成为人们的迫切需要。为此,我们需要设

10、计煤气检漏仪来更好的解决这一个问题。1.2设计任务及要求 1.2.1煤气检漏仪的设计与实现任务,包含以下方面: (1) 对煤气检漏仪进行硬件设计和软件流程设计,分为主程序设计,A/D转换控制程序的设计,数据处理,声光报警子程序设计等。(2) 软件调试及功能仿真,画出煤气检漏仪的电路原理图。(3) 当气体浓度超过一定程度时报警。(4) 完成实物,实现功能。1.2.2 煤气检漏仪的设计与实现要求:煤气检漏仪主要包括单片机最小系统、气体传感及AD转换电路、声光报警电路和显示电路等部分。 本课程设计要求做到以下几点:(1) 用气体传感器检测煤气是否泄漏;(2) A/D转换器能够时刻的对放大的电压信号进

11、行采集;(3) 根据有煤气体浓度与采集的电压信号的关系进行数据转换处理;(4) 用LCD1602显示所测得的煤气浓度值。(5)根据气体浓度LED灯及蜂鸣器作出相应的处理。第二章 煤气检漏仪硬件电路的总体设计2.1 基于单片机的设计基于STC89C52单片机实现的煤气检漏仪的具体方案如图2-1所示。该方案主要包括了可燃气体传感器、A/D转换器、STC89C52单片机控制电路、声光报警电路以及液晶显示电路。气体传感器输出为模拟量,单片机处理的是数字信号,需要利用A/D转换器,将模拟量转换成数字量送给STC89C52单片机进行数据的处理;声光报警电路里使用蜂鸣器作为报警用,同时还用LED灯进行相应的

12、指示,以便于提醒注意;单片机的最小系统是STC89C52单片机工作的前提条件;显示电路采用了液晶LCD1602进行显示,由STC89C52单片机进行控制实现显示。单片机最小系统A/D报警和指示灯液晶显示单片机STC89C52气体传感器图2-1基于AT89C51的单片机的煤气检测系统组成框图在煤气检漏仪组成框图2-1中所示,系统以单片机STC89C52为控制的核心,配合外围电路共同完成信号采集、浓度的显示、声光报警电路的功能设计等。其中传感器采用的是MQ-7,该传感器外形小,气体响应快,性能稳定,低功耗,常适用于泄漏监测器。A/D转换器采用的是ADC0809,它是采样频率为8位的、以逐次逼近原理

13、进行模/数转换的器件,具有功耗低,性能稳定的特点。显示采用液晶LCD1602。2.2系统硬件电路的总体设计系统硬件电路的总体设计主要包括了气体传感及A/D转换电路设计、单片机的最小系统、声光报警电路设计和液晶显示电路的设计等。2.2.1 气体传感及A/D转换电路的设计气体传感器采用MQ-7,由于MQ-7只能输出模拟信号而单片机只能处理数字信号,因此采用ADC0809作为A/ D转换。MQ-7和ADC0809组合实现气体检测功能,当一氧化碳气体达到一定浓度时通知报警系统发出警报,如下图所示:MQ-7气体传感器MQ-7气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。采用高

14、低温循环检测方式低温(1.5V加热)检测一氧化碳,传感器的电导率随空气中一氧化碳气体浓度增加而增大,高温(5.0V加热)清洗低温时吸附的杂散气体。使用简单的电路即可将电导率的变化,转换为与该气体浓度相对应的输出信号。特点:1、 对一氧化碳气体有良好的灵敏度2、 长寿命、低成本3、 简单的驱动电路即可AD芯片选择的原因如下:ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。(逐次逼近式指以天平为例,有四个砝码分别是8,4,2,1,现测13g的东西,顺序砝码重比较判断暂时结果1. 8g 8g<13g保

15、留 8g 2 .8+4g 12g<13g保留 12g 3 .8+4+2g 14g>13g撤消 12g 4. 8+4+1g 13g=13g保留13g)(1)ADC0809的内部逻辑结构  由下图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。(2)ADC0809引脚结构ADC0809各脚功能如下:D7-D0:8位数字量输出引脚。IN

16、0-IN7:8位模拟量输入引脚。VCC:+5V工作电压。GND:地。REF(+):参考电压正端。REF(-):参考电压负端。START:A/D转换启动信号输入端。ALE:地址锁存允许信号输入端。(以上两种信号用于启动A/D转换).EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。OE:输出允许控制端,用以打开三态数据输出锁存器。CLK:时钟信号输入端(一般为500KHz)。A、B、C:地址输入线。  ADC0809对输入模拟量要求:信号单极性,电压范围是05V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采

17、样保持电路。地址输入和控制线:4条ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0IN7上的一路模拟量输入。通道选择表如下表所示。CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7数字量输出及控制线:11条   ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高

18、电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,VREF(),VREF()为参考电压输入。2 ADC0809应用说明(1) ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。(2) 初始化时,使ST和OE信号全为低电平。(3) 送要转换的哪一通道的地址到A,B,C端口上。(4) 在ST端给出一个至少有100

19、ns宽的正脉冲信号。(5) 是否转换完毕,我们根据EOC信号来判断。(6) 当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。2.2.2 声光报警电路及显示电路的设计声光报警电路由LED灯、蜂鸣器等组成。当煤气泄漏时,LED灯亮,蜂鸣器响起,一氧化碳气体达到一定浓度时,LCD1602会显示出字符“Danger!”和气体密度,提醒人员采取措施,避免造成人身及财产损失。报警及显示模块如下图所示:Led电路蜂鸣器驱动电路LCD1602显示模块LCD1602介绍如下:工业字符型液晶,能够同时显示16x2即32个字符。(16列2行)注:为了表示的方便 ,皆以1表示高电平,0表示低电平

20、。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。LCD1602是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。LCD1602管脚功能如下:1602采用标准的16脚接口,其中:第1脚:VSS为电源地。第2脚:VCC接5V电源正极。第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接

21、地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。2.2.4 处理芯片处理芯片采用STC89C52,该芯片是一种带8K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可反复擦除1000次。STC

22、89C52引脚图:第三章 煤气检漏仪软件的总体设计本设计中,软件解决的主要问题是检测气体传感器的有毒气体浓度信号,然后对信号进行放大、A/D 转换,数据处理,浓度显示,以及警报处理。3.1 主程序设计流程图主程序设计流程图如图3-1所示,ADC0809对传感器检测的信号进行A/D转换,单片机对转换后的信号进行数据处理后,将浓度值与报警值相比较,判断是否报警。同时送入液晶LCD1602显示气体浓度值。3.2 部分程序A/D转化程序:adda=0;/int0通道st=1;time(10);/延时st=0;/启动ad转化while(eoc=0);/是否转化完成oe=1;time(10);hh0=P0

23、;/保存数据time(10);oe=0;ADC0809时序图警报程序:if(a>2)/co达到一定程序 led=1;/警报灯 write_com(0x80); for(i=0;i<8;i+) write_date(yy2i); time(10); p=0; /lcd显示危险字符 speak(); 液晶指令程序:/*RS=L,RW=L,E=高脉冲*/void write_com(uchar com) rs=0; P1=com; time(5); lcden=0; time(5); lcden=1; time(5); lcden=0; time(5);液晶数据程序:/*RS=H,RW=

24、L,E=高脉冲*2void write_date(uchar date) rs=1; P1=date; time(5); lcden=0; time(5); lcden=1; time(5); lcden=0; time(5);3.3 仿真图本次课程设计采用Proteus的ISIS 7 Professional软件作为单片机的设计和仿真平台。3.4 问题分析1.AD转化总是出现不稳定,导致无法读取正确的数据,经查阅发现是延时太短导致转化时间不足而出现不能正常进行转化。2.液晶一开始出现显示不清晰,在2脚加上一个可调电阻,使得显示清晰。3.由于AD转化后数据只能以16进制显示数据,如果要得到传感

25、器电压为V=D*0.0196,但是会出现浮点数,而单片机只能处理16进制数,所以我们将其扩大100变成V=D*196,然后在显示程序除以1000,100,10就可以得到各位数。心得体会总结 通过这次的课程设计,加强了我动手、思考和解决问题的能力。在这两个星期的学习、设计、焊接过程中我感触颇深。从单片机课程设计过程中,我从新认识的单片机,单片机不仅仅是低电压、高性能CMOS 8位微处理器,而且工程人员还可以根据设计的要求,连接外部不同的硬件,设计不同的产品,为生产企业创造更大的利润。在这次的设计中,我担任的是写出程序,设计总体布局。在写程序的过程发现总体思想与模块化思想对程序本身很重要,因为模块

26、的编程会让你比较容易查找错误,更重要的单片机处理相对杂乱无章的东西会有更高的效率。在编写AD芯片时序程序时,由于一开始没有按照正确的时间来写,导致转化失败,因此在写单片机程序的时候必须按照正确的时序写才能很好地使用芯片。这次我将正视自己的不足,学会了通过去翻查资料和询问老师,增强自身的理论知识,改正自己的学习态度,做到把理论知识运用到实践中。这次的课程设计,还使我了解到单片机技术在工业应用和工业生产中的重要地位。因此,学好这门课程是十分重要的。其次,这次课程设计提高了我的团队合作水平,使我们配合更加默契。我觉得做课程设计,同时也是对课本知识的巩固和加强,并且对我们以后的学习有更大的帮助。我觉得

27、做课程设计,同时也是对课本知识的巩固和加强,并且对我们以后的学习有更大的帮助。最后,感谢老师给了我们这么宝贵的一个机会。附录一:全部程序:#include<reg52.h>#include<stdio.h>#define uchar unsigned char#define uint unsigned intsbit eoc=P20;sbit st=P21;sbit ale=P22;sbit adda=P23;sbit oe=P24;sbit led=P26;sbit rs=P30;sbit lcden=P32;sbit wr=P31; uchar code table

28、1="0123456789"uchar code yy2="danger! "uchar code yy1="midu:"uint hh3; uint a,b,c,d,z;bit flag=0;void time(uchar x) uchar a,b;for(a=x;a>0;a-)for(b=100;b>0;b-);/液晶void write_com(uchar com) rs=0; P1=com; time(5); lcden=0; time(5); lcden=1; time(5); lcden=0; time(5);

29、void write_date(uchar date) rs=1; P1=date; time(5); lcden=0; time(5); lcden=1; time(5); lcden=0; time(5); /液晶/声音驱动程序sbitSPK = P33;sbit key1=P37;#define uchar unsigned char#define uint unsigned intunsigned char frq; unsigned int fla;uchar o=1,y=0;void delayms(unsigned char ms);void speak() y=1;while(

30、o&y) if(key1=0) delayms(5); if(key1=0) o=0; y=0; switch(fla)case 0:frq+;break; /flag标志置0时,frq递增case 1:frq-;break; /flag标志置1时,frq递减if (!(frq0xff) fla=1; /当frq增加到FFH时,flag置1,准备frq递减if (!(frq0x00) fla=0; /当frq递减到00H时,flag置0,准备frq递增delayms(15);void timer0() interrupt 1 if(y!=0)&&(o!=0)TH0 = 0xfe;TL0 = frq;SPK = SPK;void delayms(unsigned char ms)/ 延时子程序unsigned char i;while(ms-)for(i = 0; i < 120; i+);/声音驱动程序/adc转化程序void add()adda=0; /int0通道st=1;time(10);st=0; while(eoc=0);oe=1;time(10);hh0=P0;time(10);oe=0;hh

温馨提示

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

评论

0/150

提交评论