基于单片机的天然气泄漏检测系统设计完整_第1页
基于单片机的天然气泄漏检测系统设计完整_第2页
基于单片机的天然气泄漏检测系统设计完整_第3页
基于单片机的天然气泄漏检测系统设计完整_第4页
基于单片机的天然气泄漏检测系统设计完整_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

北华大学毕业设计(论文)PSEN就不需要被激活。EA/VPP(31引脚):访问外部程序存储器的控制管脚。为了使从外部程序存储器的0000H到FFFFH读取指令,EA必须接地。注意加密方式1时,EA将内部锁定位RESET。若是执行内部的程序指令,EA需要接VCC。XTAL1(19引脚):振荡器反相放大器和时钟发生电路的输入管脚。XTAL2(18引脚):振荡器反相放大器的输出端。振荡器特性:XTAL1和XTAL2分别是反向放大器的输入输出端。该反向放大器可以被配置为片内振荡器。石晶振荡和陶瓷振荡都可以被采用。若采用的是外部时钟源驱动器件,XTAL2则不能接。有余输入至内部时钟信号要通过一个二分频的触发器,所以说对外部时钟信号的脉宽没有任何要求,但必须要保证脉冲的高低电平所要求的宽度。P3口除作为一般I/O口外,还有其他一些复用功能,如表3.2所示:表3.2P3口管脚管脚配置功能P3.0RXD(串行输入端口)P3.1TXD(串行输出端口)P3.2INT0(外部中断0端口)P3.3INT1(外部中断1端口)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6WR(外部数据存储区间的写入端口)P3.7RD(外部数据存储区间的读取端口)如图3.3,由USB接口提供电源,VCC接5V电压,GND接地构成电源模块。图3.3电源模块如图3.4,天然气信号采集部分是由气敏传感器MQ-4、AD转换器组成。图3.4信号采集部分MQ-4气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。MQ-4气体传感器对液化气、甲烷、丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。这种传感器可检测多种可燃性气体,是一款适合多种应用的低成本传感器。表3.3MQ-4材料组成部件材料1气体敏感层二氧化锡2电极金(Au)3测量电极引线铂(Pt)4加热器镍铬合金(Ni-Cr)5陶瓷管三氧化二铝6防爆网100目双层不锈钢(SUB316)7卡环镀镍铜材(Ni-Cu)8基座胶木或尼龙图3.5MQ-4基本电路MQ-4基本电路中有如公式3.5:(3.1)浓度与电压的关系函数如公式3.2:浓度=(0.7-(10-10*ADdata)/1.4*14.43*ADdata)10^4(ppm)(3.2)3.5.1A/D转换电路MQ-4传感器采集到的电压信号接单片机P1.1。图3.6A/D转换部分3.5.2A/D转换芯片ADC0832ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。由于它体积小,兼容性,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。学习并使用ADC0832可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。ADC0832具有以下特点:8位分辨率;逐次逼近式A/D转换器;双通道A/D转换;输入输出电平与TTL/CMOS相兼容;5V电源供电时输入电压在0~5V之间;工作频率为250KHZ,转换时间为32μS;一般功耗仅为15mW;8P、14P—DIP(双列直插)、PICC多种封装;商用级芯片温宽为0°Cto+70°C,工业级芯片温宽为−40°Cto+85°C。如图3.7,ADC0832芯片顶视图:图3.7ADC0832顶视图芯片接口说明:CS_片选使能,低电平芯片使能。CH0模拟输入通道0,或作为IN+/-使用。CH1模拟输入通道1,或作为IN+/-使用。GND芯片参考0电位(地)。DI数据信号输入,选择通道控制。DO数据信号输出,转换数据输出。CLK芯片时钟输入。Vcc/REF电源输入及参考电压输入(复用)。图3.8MQ-4气敏的灵敏度特性其中X轴表示外界可燃气体的浓度,Y轴表示变化内阻与固定电阻的值(Rs/Ro)。Rs:元件在不同气体,不同浓度下的电阻值。Ro:元件在洁净空气中的电阻值。(Ro=14.43K)采集到的数字信号经过单片机计算后,如果天然气浓度达到报警器设置的临界点时,单片机将控制蜂鸣器报警,同时LED亮。LED的正极与PNP三极管的集电极c相连,负极接2K电阻后接地。蜂鸣器采用PNP三极管来驱动,三极管发射极e接电源正极(+5V),基极接1K电阻后接单片机P3.4端,集电极接蜂鸣器,通过蜂鸣器后接地。图3.9声光报警电路3.8.1LED的综述在单片机的应用系统中,为了便于人们观察和监视单片机的运行情况,常常需要用显示器显示运行的中间结果、状态等信息,因此显示器也是不可缺少的外部设备之一。LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,显示屏由几万到几十万个半导体发光二极管像素点均匀排列组成。利用不同的材料可以制造不同色彩的LED像素点。目前应用最广的是红色、绿色、黄色。而蓝色和纯绿色LED的开发已经达到了实用阶段。LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。

在短短的十来年中,LED点阵显示屏就以亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定的优点迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性、可靠性、全色化方向发展。LED显示屏的应用涉及社会经济的许多领域,主要包括:证券交易、金融信息显示。(2)机场航班动态信息显示。(3)港口、车站旅客引导信息显示。(4)体育场馆信息显示。(5)道路交通信息显示。(6)调度指挥中心信息显示。(7)邮政、电信、商场购物中心等服务领域的业务宣传及信息显示。(8)广告媒体新产品等。3.8.2LED的结构LED数码管显示器是由发光的二极管显示字段组成的。在单片机应用系统中使用最多的就是七段LED数码管,有共阴极和共阳极两种。七段LED数码管显示器有8个发光二极管,其中从a~g管脚输入显示代码,可显示不同的数字或字符,Dp显示小数点。共阴极LED数码管显示器的公共端为发光二极管阴极,通常接地,当发光二极管的阳极为高电平时,发光二极管点亮。共阳极的LED数码管显示器的公共端为发光二极管的阳极,通常接+5V电源,当发光二极管的阴极为低电平时,发光二极管点亮。本设计的显示采用LED数码管动态扫描来显示。1个3位的共阳极LED数码管组成3位显示上次测量的数据。单片机的P0口控制显示字型,P2口控制显示字位。显示电路如图3.10。图3.10显示电路3.8.3LED数码管的显示方法静态显示方式是指当显示器显示某一字符时,发光二极管的位选始终被选中。在这种显示方式下,每一个LED数码管显示器都需要一个8位的输出口进行控制。由于单片机本身提供的I/O口有限,实际使用中,通常通过扩展I/O口的形式解决输出口数量不足的问题。静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。其不足之处是占用硬件资源较多,每个LED数码管需要独占8条输出线。随着显示器位数的增加,需要的I/O口线也将增加。动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,可以既保证亮度,又保证显示。若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个8位口(称为段码输出)。通过比较,我们可以发现LED静态显示更加适合本设计,所以采用此方法。单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。52系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。图3.11复位电路STC89C52单片机的最小系统由起振电路、复位电路、STC89C52芯片组成。单片机接+5V电源;晶体振荡器频率为12MHz(11.0592MHz),晶振的两个引脚分别连接在单片机的XTAL1和XTAL2端,晶振的两端再分别连接一个30pF电容后接地;复位电路经电源正极(+5V)接10uF电容后接10k欧姆电阻接地,单片机复位端RST接在电容和电阻之间。本次设计电路中加入4个按键,用于人为报警和设置报警的上限值。按键分别接单片机P1.4、P1.5、P1.6、P1.7端。S1是数字键加,S2是数字键减,S3是确认键,S4是模拟报警键,当按下S4时蜂鸣器报警,LED亮;再次按下S4用来取消报警。图3.12最小系统及按键电路程序流程图如图4.1所示,软件设计包含AD采样程序、数据处理程序、数码管显示程序、按键扫描程序、系统报警程序。开始开始初始化天然气浓度采集AD转换采集数据≥设定值声光报警报警子程序结束数码管显示NY图4.1程序设计流程图STC89C52单片机对ADC0832传送的气体浓度信号进行处理,将浓度值与报警限设定值相比较,判断是否报警。对采集的数字信号进行处理和判断,运用一定的算法计算出待检测气体成分及浓度并送到数码管显示器显示出来。当检测气体浓度低于设定报警阀值的时候,数码管显示器仅仅显示测得的可燃气体浓度;当检测气体浓度超出设定报警阀值时给出声光报警。在程序设计上我采用的是C语言编程。C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言拥有功能丰富的库函数,运算速度快、编译效率高,有良好的可移植性,可以直接对系统硬件实现控制。C语言是一种结构化的程序设计语言,它支持目前程序设计中被广泛采用的由顶向下的结构化程序设计。此外,C语言程序还具有完善的模块程序结构,从而为软件设计中采用的模块化程序设计方法提供了有力的保障。因此,使用C语言进行程序设计已成为软件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统,用C语言进行单片机程序设计是单片机开发与应用的必然趋势。所以一个技术全面并涉足较大规模的软件系统开发的单片机开发人员最好能够掌握基本的C语言编程。编写C语言要使用到C编译软件,以便把写好的C程序编译为机器码,这样单片机才能执行编写好的程序。在系统调试阶段我是分模块分阶段进行的。我先调试的是气体浓度检测部分,该部分就是把模拟量变成数字量,其原理和数字电压表的设计是一样的。所以该部分的系统调试在设计数字电压表的原理基础上进行调试的。然后调试数码管显示器,首先通过按键对报警阈值进行设置,最后把气体浓度与按键值统筹在一起就组成了报警阈值调节部分。然后添加进语音报警、声光报警。经过不断的实验测试,形成了系统整体程序。在设计好硬件的基础上,下载程序。系统通上电,报警限显示为18ppm,按动上下键可以进行调节。将打火机排出的气体对准传感器时,显示屏上的气体浓度立即不断升高;当气体浓度上升到报警限时,声光报警器立即开启,并开始语音提醒:邓晓佳提醒您,存在安全隐患,请您注意。气体检测报警器可保障生产与生活的安全,避免火灾和爆炸事故以及煤气中毒的发生,它是防火、防爆和安全生产所必备的仪器,具有广阔的市场空间与发展前景。本文设计的天然气泄漏检测报警系统采用性价比很高的STC89C52单片机作为主控芯片,利用其强大的处理能力和较丰富的外围接口,合理选用I/O端口,较好地完成了天然气泄漏检测报警系统的设计。本论文设计的气体报警器由气体信号采集电路与单片机控制电路两大部分构成。

根据设计要求、使用环境、成本等因素,选用MQ-4型半导体电阻式气体传感器。该传感器是对以烷类气体为主的多种气体有良好敏感特性的广谱型半导体敏感器件。它的灵敏度适中,具有响应与恢复特性好,长期工作稳定性、重现性、不易受环境影响及抗温湿度影响等优点。

本系统能够实现对空气中天然气浓度的实时监测并显示,当检测气体浓度低于设定报警阈值的时候,数码管显示器仅仅显示测得的可燃气体浓度;当检测气体浓度超出设定报警阈值时给出声光报警。该设计的天然气泄漏检测报警系统的综合功能远高于市面上的天然气报警系统,减少误报关阀的困扰。本设计在电路方案采用模块化设计,可以方便实现功能扩展,从而满足特殊应用领域中的功能和可靠性需求。在下一步的工作中,可将GPRS模块的功能进行设计改善,以实现网络数据共享,也可以在本系统的基础上加上手机远程控制防火灭火报警灯功能。在元件及调制方面,由于采用的电路使用了很多集成电路。外围元件不是很多,所以调试不太难。电路中除集成电路外,对各电子元件也无特别要求。未来的时代是个物联网时代,等我具备编写电脑软件的能力后,我会开发出对天然气检测报警的联网控制,从而可以与消防队进行数据共享。[1]高凌云,谌海云,林立凭.基于89C52的煤气泄露监测与报警系统设计[J].中国仪器仪表,2012,12(11):70-72.[2]秦龙主编.MSP430单片机常用模块与综合系统实例精讲[M].北京:电子工业出版社,2010.[3]赵建领.51单片机开发与应用技术详解

[M].北京:电子工业出版社,

2009.[4]扬

立.微型计算机原理与接口技术[M].北京:中国铁道出版社,2008.[5]袁丽娟.GPRS无线数据传输终端研究与设计[D]:[硕士学位论文].四川:西南交通大学电力电子与电力传动,2008.[6]彭小军.用单片机实现电子时钟[J].新余高专学报,2009,9(2):2-4.[7]王守中.读就通51单片机开发[M].北京:电子工业出版社,2011.[8]姜志海,刘连鑫,王蕾.单片机微型计算机原理及应用[M].北京:电子工业出版社,2011.[9]洪志刚,杜维玲,井娥林.单片机应用系统设计[M].北京:机械工业出版社,2011.[10]张仪和,陈敌北,谢亮.例说8051[M].北京:人民邮电出版社,2010.[11]汪贵平,李登峰,龚贤武,雷旭.新编单片机原理及应用[M].西安:西安电子科技大学出版社,2009.[12]蒋敏.单片微机万年历设计[J].职大学报,2009,2(23):4-6.[13]张毅刚.单片机原理及应用(第一版)[M].北京:高等教育出版社,2009.[14]张志伟.一种远程矿井瓦斯浓度检测仪的设计[J].煤矿安全,2011,11(2):78-80.[15]凌艺春,刘惠娟.MSC-51单片机及汇编编程[M].北京:中国铁道出版社,2011.[16]卢艳君.单片机原理与应用

[M].北京:机械工业出版社,2008.[17]李学礼.基于Proteus的8051单片机实例教程[M].北京:电子工业出版社,2008.[18]马忠梅.单片机C语言应用程序设计[M].北京:北京航空航天大学出社,2007.[19]JamesM.Sibigtrolh.UnderstandingSmallMicrocontrollers[J].PTRPrenticHall.1993.[20]U.TietzeCh.Schenk.ElectronicCircuits,Hand-bookforDesignandApplication[M].NewYork:Springer-Verlag,Berlin,2005.[21]RobertT.Paynter.IntroductoryElectronicDevicesandCircuits.6thed[M].PrenticeHallInc,2009.[22]Kavanagh

R

C.

Improved

Digital

Tachometer

with

Reduced

Sensitivity

to

Sensor

Nonideality[M].IEEE

Trans.Ind.

Elect

ron,2010,47(4):890-897.#include<reg52.h>//包含头文件,一般情况不需要改动,//头文件包含特殊功能寄存器的定义#include<intrins.h>//Keillibrary#include<math.h>//Keillibrary#include<stdio.h>//Keillibrary#defineucharunsignedchar#defineuintunsignedint#defineulongunsignedlong#defineK_MG_MV120/66unsignedcharcodedispcode0[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//显示段码值0~9,不包含DP点ucharcodetable1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};//显示段码值0~9,包含DP点ucharcodetable3[]={0x89,0xC7};//HLsbitbADcs=P1^2;sbitbADcl=P1^0;sbitbADda=P1^1;sbitLED0=P0^1;//定义第0个数码管sbitLED1=P0^3;//定义第1个数码管sbitLED2=P0^5;//定义第2个数码管sbitLED3=P0^7;//定义第3个数码管sbitalarm=P3^3;//蜂鸣器接口sbitkey_up=P1^4;//数字键加+sbitkey_down=P1^5;//数字键减-sbitkey_ok=P1^6;//确认键sbitkey_manual=P1^7;//模拟手动报警和解除报警按键bitSetUpFlag=0;bitset_manual=0;ucharkey_manual_num=0;ulonggas_uplimit=150;/********定义变量*********/unsignedchardata1;unsignedcharcount;unsignedcharcycle;unsignedlongdata2;long Value,num=0;uchar temp,getdata;ucharjian,bai,shi,ge;uchartime_ms1;//微秒显示函数voidDelayus(uchari){while(--i);}//毫秒显示函数voiddelay1ms(uintz){ uintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}voidad(void)//ad采样函数{uchari;//data1=0;bADcs=0;//当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用. bADcl=0; bADda=1; bADcl=1; bADcl=0;//idown bADda=1; bADcl=1; bADcl=0; //2down bADda=0; bADcl=1; bADcl=0; //3down bADda=1; bADcl=1; bADcl=0; //4down for(i=8;i>0;i--) { data1<<=1; bADcl=0; bADcl=1; if(bADda==1)data1|=0x01; bADda=1; } bADcs=1; } voidcal()//计算把采样到的值转换成实际电压值{ Value=data1*1.0/256*500; Value=Value*K_MG_MV; Value=Value-5; if(Value<0)Value=0;}voiddisplay_temp(intValue){temp=(uchar)(Value/1000);//分离千分位 jian=temp; temp=(uchar)((Value%1000)/100); //分离百分位 bai=temp; temp=(uchar)((Value%100)/10);//分离十位 shi=temp; temp=(uchar)(Value%10);//分离个位 ge=temp;//////////////////////////////////////////////////先显示个位////////////LED0=1; LED1=0; LED2=0; LED3=0;P2=dispcode0[ge];delay1ms(5);/////////////接着显示十位/////////LED0=0; LED1=1; LED2=0; LED3=0;P2=dispcode0[shi];delay1ms(5); ////////////////////////////////// /////////////再接着显示百位//// LED0=0; LED1=0; LED2=1; LED3=0;P2=dispcode0[bai];delay1ms(5);/////////////////////////// if(key_up==0) { delay1ms(10); if(key_up==0) { SetUpFlag=1; gas_uplimit++; if(gas_uplimit==999)gas_uplimit=0; while(!key_up);//等待按键释放 } }///////////////////////////////////////////////////////////// if(key_down==0) { delay1ms(10); if(key_down==0) { SetUpFlag=1; gas_uplimit--; if(gas_uplimit==0)gas_uplimit=999; while(!key_down);//等待按键释放 } }///////////////////////////////////////////////////////////// if(key_ok==0) { delay1ms(10); if(key_ok==0) { SetUpFlag=0; while(!key_ok);//等待按键释放 } }//////////////////////////////////}voidmanual_simulate(){ if(key_manual==0) { delay1ms(10); if(key_manual==0) {TR1=0;key_manual_num++; set_manual=1; alarm=0; if(key_manual_num==2) { alarm=1; TR1=1;set_manual=0; key_manual_num=0; } while(!key_manual);//等待按键释放 } }}voidAlarm_Limit(){if(Value>=gas

温馨提示

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

评论

0/150

提交评论