为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 气体检测毕设论文

气体检测毕设论文

2023-03-02 7页 doc 172KB 6阅读

用户头像 个人认证

M唯½

本人从事施工专职安全员多年,对施工现场安全管理、内业资料管理具有丰富的经验。

举报
气体检测毕设论文引言随着信息时代的到来,作为获取信息手段之一的传感器技术得到了显著的发展,其应用领域越来越广,对其要求越来越高,需求也越来越迫切。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。由于传感器能将各种物理量、化学量和生物量等信号转变为电信号,使得人们可以利用计算机实现自动测量、信息处理和自动控制。但是它们都不同程度地存在温漂和非线性等影响因素。传感器主要用于测量和控制系统,它的性能直接影响系统性能的好坏。因此,不仅必须掌握各类传感器的结构、原理及其性能指标,还必须懂得传感器经过适当的接口电路调整才能满足信号的处理...
气体检测毕设论文
引言随着信息时代的到来,作为获取信息手段之一的传感器技术得到了显著的发展,其应用领域越来越广,对其要求越来越高,需求也越来越迫切。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。由于传感器能将各种物理量、化学量和生物量等信号转变为电信号,使得人们可以利用计算机实现自动测量、信息处理和自动控制。但是它们都不同程度地存在温漂和非线性等影响因素。传感器主要用于测量和控制系统,它的性能直接影响系统性能的好坏。因此,不仅必须掌握各类传感器的结构、原理及其性能指标,还必须懂得传感器经过适当的接口电路调整才能满足信号的处理、显示和控制的要求,而且只有通过对传感器应用实例的原理和智能传感器实例的和了解,才能将传感器和信息通信以及信息处理结合起来,来适应传感器的生产、研制、开发和应用。另一方面,传感器的被测信号来自于各个应用领域,每个领域都为了提高生产力、提高工效和时效,各自都在开发研制适合应用的传感器,于是种类繁多的新型传感器及传感器系统不断涌现。可燃气体传感器便是其中重要的一类传感器。现在,人们对可燃气体的使用越来越多,它给我们带来很多便利,但是如果不注意可燃气体的使用安全,可燃气体同样会给我们带来祸害。当空气中的可燃性气体达到一定浓度时就会发生自燃自爆的危险,波及面大,后果将十分严重。易燃易爆的可燃性气体泄露如不及时发现并处理,将会造成燃烧,爆炸,危及到人民生命财产的安全。因此,可燃性气体的检测在化工、石油、电力、环保等部门以及人们的日常生活中显得尤其重要。石化厂、煤气站、油库等场所对泄漏可燃气体的监控、报警是确保安全隐患的关键措施。近年来煤气爆炸事件时有发生,对人们的生命构成了严重的威胁,因此如果能放置一个可燃气体浓度检测装置,当有可燃气体泄露时进行报警,提醒人们采取补救措施就显得十分必要。1概述可燃气体是人类使用比较多的一种能源,它给我们的生活带来方便的同时也会给我们带来潜在的安全隐患。随着人类的进步,各种先进技术被应用于安防当中。如今,人们一直在研究可燃气体的监测技术,经过多年的发展,现在有了众多灵敏度非常高的可燃性气体传感器,使人们更加容易、方便的检测到空气中的可燃气体的浓度。单片微型计算机是现在智能电路中使用较多的器件,这种单片微型计算机简称单片机,它被应用于各种场合,给人们的生活带来了极大的方便。A/D转换器用于将现实中的模拟信号转化为数字信号。2可燃气体传感器2.1可燃气体传感器探测原理气敏传感器是一种能感知环境中某种气体浓度的传感器,它利用化学、物理效应把某些气体的浓度信息变换成电信号。半导体式气敏元件是应用最广的气敏元件,它是用具有半导体特性的金属氧化物材料制成的气敏元件,当其与某种气体接触时,表面吸附的气体导致半导体载流子浓度发生变化,引起电导率变化,电阻值也随之变化,根据这种变化可以检测出气体的成分和浓度,因此半导体式气敏元件可视为是一种气敏电阻器。其中,旁热式SnO气敏器件最为常用。旁热式气敏器件是一个表面烧结有SnO厚膜气体敏感层的薄壁陶瓷管,敏感层两端设有一对金电极,分别用铂铱合金丝引出后焊接在管座插腿上,在薄壁陶瓷管内装有一根绕成螺旋形的镍铬合金电阻丝作为加热器,电阻值为30~40欧。传感器工作时,电阻丝通电发热,将薄壁陶瓷管上SnO敏感层加热至200*2~400*2,这时氧化锡气敏器件电阻值较小,并能够提高传感器的响应速度。由于薄壁陶瓷管热容量大,减少了环境温度变化、气流流动对传感器工作的影响。2.2MQ-6的结构和测量电路本次毕业用的是型号为MQ-6可燃气体传感器。MQ-6气敏元件的结构和外形如图2-1所示(a或b),由微型陶瓷管、SnO敏感层,测量电极和加热器构成的敏感元件固定在塑料或不锈钢制成的腔体内,加热器为气敏元件提供了必要的工作条件。封装好的气敏元件有6只针状管脚,其中4只用于信号取出,2只用于提供加热电流。图2-1(a)MQ-6的结构和外形图2-1(b)MQ-6的结构和外形测量电路如图2-2所示:图2-2MQ-6的测量电路2.3MQ-6气体传感器的技术参数(1)MQ-6的规格如表2-1,表2-2,表2-3和图2-3所示。表2-1标准工作条件符号参数名称技术条件备注Vc回路电压≤15VACorDCVH加热电压5.0V±0.2VACorDCRL负载电阻可调RH加热电阻31Ω±3Ω室温PH加热功耗≤900mW表2-2环境条件符号参数名称技术条件备注Tao使用温度-10℃-50℃Tas储存温度 -20℃-70℃Rh相对湿度小于 95%RhO2氧气浓度21%(标准条件)氧气浓度会影响灵敏度特性最小值大于2%表2-3灵敏度特性符号参数名称技术参数备注Rs敏感体电阻10KΩ-60KΩ(1000ppmLPG)探测范围:100-10000ppmLPG,丁烷,丙烷,LNGα(1000ppm/4000ppmLPG)浓度斜率≤0.6标准工作条件温度:20℃±2℃Vc:5.0V±0.1V对湿度:65%±5%Vh:5.0V±0.1V预热时间不少于24秒灵敏度特性曲线如图2-3图2-3MQ-6灵敏度特性曲线(2)MQ-6的特点:①对液化气,丁烷,丙烷有较高的灵敏度;②对乙醇蒸汽,烟雾几乎不响应;③快速的响应恢复特性;④具有长期的使用寿命和可靠的稳定性;⑤简单的驱动电路。(3)MQ-6的应用:MQ-6适用于家庭或工业上对LPG,丁烷,丙烷,LNG的检测装置。具有优良的抵抗乙醇蒸汽、烟雾干扰的能力。(4)MQ-6灵敏度的调整:MQ-6型气敏器件对不同种类,不同浓度的气体有不同的电阻值。因此,在使用此类型气敏器件时,灵敏度的调整是很重要的。我们建议用1000ppm液化气或1000ppm丁烷校正传感器。当精确测量时,报警点的设定应考虑温湿度的影响。3单片机随着集成电路技术的发展,单片微型计算机(简称单片机)的功能也不断增强,许多高性能的新型机种不断涌现出来。在自动化装置、智能化仪器仪表和家用电器等领域得到了广泛的应用。AT89S系列单片机是美国ATMEL半导体公司继AT89C系列之后推出的功能更强的新产品。AT89S系列与AT89C系列相比,运算速度有了较大的提高,它的静态工作频率为0~33MHz,片内集成有双数据指针DPTR、定时监视器(watchdogtimer,又称看门狗)、低功耗休闲状态及关电方式、关电方式下的中断恢复等诸多功能,极大地满足了各种不同的应用场合要求。AT89S52是AT89S系列中的增强型高档机产品,它片内存储器容量是AT89S51的一倍,即片内8KB的Flash程序存储器和256KB的RAM。另外,它还增加了一个功能极强的,具有独特应用的16位定时/计数器2等多种功能。而且,AT89S52单片机与MCS-51系列完全兼容,因此,AT89S52受广大用户的青睐并被选择作为学习和应用系统的主机。下面大致介绍一下AT89S52。3.1功能特点AT89S52具有8K字节的Flash存储器,256字节的RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口通道,片内晶振及时钟电路,三级加密程序存储器,电源下降标志等。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。3.2中央处理器(CPU)AT89S52的核心部件是一个字长为8位的高性能中央处理器(CPU)。它是AT89S52的指挥中心、执行机构。它的作用是读取和分析指令,并根据指令的功能要求,指挥指定操作,完成指令所要求的处理功能。CPU一般由运算器ALU、定时控制部件、若干寄存器等通过内部总线连成一个整体而构成。3.3单片机引脚介绍下面,根据单片机的原理来介绍单片机各引脚相应的功能。(1)电源引脚VCC(40脚):电源供电电压接4.0~5.0V。GND(20脚):接地。(2)时钟引脚XTAL1(19脚):接外部晶振的一个引脚。CHMOS单片机采用外部时钟信号时,时钟信号由此引脚输入。XTAL2(18脚):接外部晶振的另一个引脚,HMOS单片机采用外部时钟信号时,外部时钟信号由此接入。(3)复位、锁存和选通引脚RST(9脚):复位信号输入端。振荡器起振后,该引脚置高电平,并持续2个机器周期以上系统进行复位。特殊功能寄存器AUXR(地址8EH)中的DISRT0位可以使复位无效。默认的DISRT0位状态,RST引脚上的高电平有效。掉电后,此引脚可接备用电源,低功耗条件下保持内部RAM中的数据。ALE/(30脚):ALE为地址锁存使能端、当访问外部器件时ALE的负跳变将低8位地址输入锁存器。在Flash编程时输入编程脉冲()。在非访问外部器件期间,ALE仍以1/6振荡频率的常量输出,可用于外部计数或时钟信号。当访问外部数据器件时将跳过一个ALE脉冲。如果需要,可对特殊功能寄存器区的地址为8EH单元的D0位置“1”可禁止ALE输出。而只有在执行MOVX或MOVC等指令时ALE才被激活,仍输出锁存有效,否则被微弱拉高。在执行外部程序时,该设定禁止ALE位无效。(29脚):访问外部程序存储器读选通信号。取指令操作期间,的频率为振荡频率的1/6。在访问外部程序存储器读取指令码时,每个机器周期产生两次有效信号,即输出两个有效脉冲。在执行片内程序存储器取指令码时不产生此脉冲,在读写外部数据时,亦不产生信号。/(31脚):为访问内部或外部程序存储器选择信号,当CPU一开始就(从0000H~FFFFH单元)访问外部程序存储器,则必须保持低电平(接GND端),如果保密位被编程,则复位时内部会锁存端的状态。当端保持高电平(接VCC)时则CPU首先从片内0000H单元开始执行内部程序存储器程序;如果外部还有扩展程序存储器,则CPU在执行完内部程序存储器程序后自动转向执行外部程序存储器程序。为Flash编程电压。在对片内Flash编程时,此引脚施加12V编程允许电压(如果选用的Flash编程电压是12V允许值的话)。(4)多功能I/O口引脚P0口(39~32脚):8位并行I/O口,作为输出口时,每个管脚可以带8个TTL负载。在外扩存储器时,它定义为低8位地址/数据总线。当定义为I/O口时,为准双向I/O口,需要外接上拉电阻,在写入“1”后就成为高阻抗输入口。在对片内Flash编程时P0口接收字节代码,在程序校验时输出字节代码。程序校验期间应外接上拉电阻。P1口(1~8脚):内接上拉电阻的8位准双向I/O口,可以负担4个TTL负载。在Flash编程和校验时定义为低8位地址线。它的第二功能如下:P1.0(1脚):定时/计数器T2的外部计数输入;P1.1(2脚):定时/计数器T2捕获/再装入触发及方向控制;P1.5(6脚):MOSI(用于系统内部编程);P1.6(7脚):MISO(用于系统内部编程);P1.7(8脚):SCK(用于系统内部编程)。P2口(21~28脚):内接上拉电阻的8位准双向I/O口。可以负担4个TTL负载。当访问外部存储器时,定义为高8位地址总线,只需8位地址线时,它将输出特殊功能寄存器(锁存器)中的内容。注意:当P2口的极为作为地址使用时,剩下的P2口不能作为I/O口线使用。P3口(10~17脚):内接上拉电阻的8位准双向I/O口。可以负担4个TTL负载。它的第二功能如下:P3.0(10脚):RXD(串行输入端口);P3.1(11脚):TXD(串行输出端口);P3.2(12脚):(外部中断0请求端);P3.3(13脚):(外部中断1请求端);P3.4(14脚):(定时/计数器0外部计数输入端);P3.5(15脚):(定时/计数器1外部计数输入端);P3.6(16脚):(外部数据写选通);P3.7(17脚):(外部数据读选通)。(5)特殊功能寄存器AT89S52单片机共有21个字节的特殊功能寄存器SFR(specialfuctionregiters),起着专用寄存器的作用,可用来设置片内电路的运行方式,电路的运行状态,并表明有关标志等。此外,并行和串行I/O端口也映射到特殊功能寄存器,对这些寄存器的读/写,可实现从相应I/O端口的输入和输出操作。①累加器A累加器A是运算过程中的暂存寄存器,用于提供操作数和存放操作结果。其他大部分操作也都要用到累加器A,所以它是应用最为频繁的寄存器。在结构上通过内部总线直接与ALU相连,一般信息的传递和交换都要通过累加器A。为了提高运算速度,压缩程序长度,在内部结构上采取了一些措施,对一部分指令的执行将累加器A旁路,以直接或间接地址寻址的方式使数据可以从片内的任意地址单元直接送到另一个单元,从而不经过累加器A。这就提高了部分指令的操作速度,增强了实时性。②寄存器B寄存器B一般用于乘、除法操作指令,与累加器A配合使用。它里面存放的第二操作数、乘积的高位字节或除法的余数部分。其他情况下可以作为一般寄存器或者中间结果的暂存器使用。③程序状态寄存器PSW这是一个8位寄存器,用于寄存当前指令执行后的有关状态,为以后指令的执行提供状态条件。AT89S52的PSW是可编程的。PSW包括以下八种状态:CY:进、借位标志。反映运算中最高位有无进、借位情况。加法为进位,减法为借位。有进、借位时,CY=1;无进、借位时,CY=0.AC:辅助进、借位标志。反映运算中高半字节与低半字节的进、借位情况。AC=1有进、借位;AC=0,无进、借位。F0:用户标志位。可由用户设定起含义。,:工作寄存器组选择位。取值为00~11,分别选工作寄存器组0~3组。OV:溢出标志位。补码运算的运算结果有溢出,OV=1,无溢出,OV=0.OV的状态由补码运算中的最高位进位(D7位的进位CY)和次高位进位(D6位的进位CY-1)的异或结果决定。—:无效位。P:奇/偶标志位。反映对累加器A操作后,A中“1”个数的奇偶。A中奇数个“1”,P=1;A中偶数个“1”,P=0。④堆栈指针SPAT89S52是在片内RAM中开辟的一个存储区域。栈顶的地址码由栈指针SP指示。SP是一个8位的增量寄存器,它指示的堆栈深度为0~255个存储单元。AT89S52允许用户通过软件定义片内RAM的某一个连续区域单元作为堆栈。数据进栈时SP先自动增“1”,然后将欲进栈的数据压入由SP所指示的堆栈单元;弹出时将SP所指示的堆栈单元内的数据推出栈,然后SP自动减“1”。因而,SP总是指向装有数据的栈顶。在系统复位后,栈指针SP的初始值为07H,即栈底为08H单元。这显然与工作寄存器区域重叠,因此必须通过软件重新定义SP,在片内RAM中开辟一个合适的堆栈区域。⑤数据指针DPTR数据指针DPTR是个独特的16位寄存器,它由两个独立的8位寄存器DPH和DPL组合而成,既可以作为16位数据指针DPTR用,又可以分开以8位的寄存器(DPH、DPL)各自单独使用。它常用于访问64KB范围内的任意地址单元。AT89S52设有两个DPTR,分别为DP0(DP0H、DP0L)和DP1(DP1H、DP1L),通过软件对特殊功能寄存器AUXR1(片内RAMSFR区,地址为A2H)的DPS位进行设置选择,当DPS=0,选择DP0,DPS=1则选择DP1。两个DPTR便于访问内部或者外部的有关数据单元。4系统硬件设计经过对核心部件MQ-6可燃气体传感器、ADC0809和单片机芯片AT89S52的深入了解,以及对报警、显示等辅助电路的资料查阅后,形成了最终的系统电路,电路原理框图如图4-1所示。显示/报警扫描驱动AT89S52主控制器可燃气体传感器初始化ADC08099图4-1电路原理框图下面对硬件电路的各模块电路做详细的介绍。4.1电源电路AT89S52所需的供电电压为4.0~5.0V,所以可以接5V的稳压电源。在这里加接一个4.7K的电阻和一个发光二极管组成电源显示电路。电阻用来限流,发光二极管用来显示电源是否接通。如图4-2所示。4.2转换电路转换电路包括MQ-6型传感器和ADC0809芯片。其中,MQ-6型传感器通过采集空气中测试气体的浓度并把它转换为电信号,电信号经过ADC0809则由模拟信号变为数字信号,最后电压以数字信号的形式进入单片机。电路图如图4-3(a)和4-3(b)。在4-3(a)中,要注意引脚连接顺序,不能接错,否则无法采集测试气体的浓度值。图4-2电源电路图4-3(a)MQ-6结构图图4-3(b)ADC08094.2.1ADC0809原理ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的逻辑控制CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接连接。ADC0809非常适用于过程控制、微控制器输入通道的接口电路、智能仪器和机床控制等领域。其内部结构图如图4-4所示。图4-4ADC0809的内部逻辑结构由图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁存器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的据。下面分别介绍一下ADC0809的各个引脚极其功能:(1)IN0~IN7是8条模拟量输入通道。ADC0809对模拟输入量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如果模拟量变化太快,则需在输入前增加采样保持电路。(2)ALE为地址锁存允许输入线,高电平有效。A,B,C为地址输入线,用于选通IN0-IN7上的一路模拟输入量。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进入A/D转换器进行转换。(3)ST为启动转换信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。(4)EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。(5)OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1时,输出转换得到的数据;OE=0时,输出数据线呈高阻态。(6)D7-D0为数字量输出线。(7)CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ。(8)VREF(+),VREF(-)为参考电压输入。ADC0809使用说明:(1)ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连;(2)初始化时,使ST和OE信号全为低电平;(3)把要转换的通道地址送入到A,B,C端口上;(4)在ST端输出一个至少有100ns宽的正脉冲信号;(5)是否转换完毕,根据EOC的信号来判断;(6)当EOC变为高电平时,这时给OE为高电平,转换后的数据输出给单片机。主要特性:(1)8路8位A/D转换器,即分辨率8位;(2)具有转换起停控制端;(3)转换时间约为128μs;(4)单个+5V电源供电;(5)模拟输入电压范围0~+5V,不需零点和满刻度校准;(6)工作温度范围为-40~+85摄氏度;(7)低功耗,约为15mW;(8)转换精度为±0.4%;(9)可锁存三态输出,输出与TTL兼容。4.3液晶显示驱动模块4.3.1LCD1602液晶主要功能(1)40通道点阵LCD驱动;(2)可选择当作行驱动或列驱动;(3)输入/输出信号:输出,能产生20×2个LCD驱动波形;输入,接受控制器送出的串行数据和控制信号,偏压(V1∽V6);(4)通过单片机控制将所测的频率信号读数显示出来。4.3.2LCD1602液晶引脚和指令功能(1)LCD1602液晶与单片机的连接如图4-5所示。图4-5LCD1602液晶与单片机的连接(2)LCD1602液晶引脚功能1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表4-1所示。表4-1LCD1602液晶引脚接口说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。4.3.3LCD1602的RAM地址映射液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在,哪里显示字符,LCD1602的内部显示地址如图4-6所示。图4-6LCD1602的内部显示地址4.3.4LCD1602液晶模块内部的控制器指令LCD1602液晶模块内部的控制器共有11条控制如表4-2所示。表4-2LCD1602液晶模块内部的控制器指令序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L**6置功能00001DLNF**7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容1602液晶模块的读写操作,屏幕和光标的操作都是通过指令编程来实现的。(说明1为高电平,0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置指令2:光标复位,光标返回到地址00H指令3:光标和显示位置设置I/D,光标移动方向,高电平右移,低电平左移,S:屏幕上所有文字是否左移或右移,高电平表示有效,低电平表示无效。指令4:显示开关控制。D:控制整体的显示开与关,高电平表示开显示,低电平表示关显示。C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位S/C:高电平时显示移动的文字,低电平时移动光标指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线N:低电平时为单行显示,高电平时为双行显示,F:低电平时显示5X7的点阵字符,高电平时显示5X10的显示字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址BF:忙标志位,高电平表示忙,此时模块不能接收命令或数据,如果为低电平表示不忙。4.3.5LCD1602液晶时序LCD1602液晶基本操作时序如表4-3所示。表4-3LCD1602液晶时序读状态输入RS=L,R/W=H,E=H输出D0—D7=状态字写指令输入RS=L,R/W=L,D0—D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0—D7=数据读和写操作时序如图4-7和图4-8所示。图4-7读操作时序                              图4-8写操作时序4.3.6LCD1602液晶初始化过程(1)延时15ms;(2)写指令38H(不检测忙信号);(3)延时5ms;(4)写指令38H(不检测忙信号);(5)延时5ms;(6)写指令38H(不检测忙信号);(7)(以后每次写指令、读/写数据操作之前均需检测忙信号);(8)写指令38H:显示模式设置;(9)写指令08H:显示关闭;(10)写指令01H:显示清屏;(11)写指令06H:显示光标移动设置;(12)写指令0CH:显示开及光标设置;4.4时钟电路和复位电路(1)时钟电路AT89S52采用CMOS,因此它与80C51系列一样,内部有一个振荡器,可以用于CPU的时钟源。也允许采用外部振荡器,由外部振荡器产生的信号加到振荡信号的输入端,作为CPU的时钟源。XTAL1和XTAL2两引脚分别为单级片内反相放大器的输入输出端,其频率范围为0~33MHz。当选择片内振荡时,外接晶体振荡器或者陶瓷振荡器,还需要外接两个小电容后接地。当外接的是晶体振荡器时,C1=C2=30±10pF;当外接陶瓷振荡器时,则C1=C2=40±10pF。当选择外部振荡时,则外部振荡器输出信号接XTAL1引脚,而XTAL2引脚则悬空。实际应用中一般采用片内振荡,本课题设计中也是采用片内振荡方式。时钟电路如图4-9所示。图4-9时钟电路图4-10复位电路(2)复位电路复位是使CPU以及系统各部件处于确定的初始状态,并使系统从初始状态开始工作。AT89S系列的单片机的复位信号是从RST脚输入到片内的复位电路,当系统处于正常工作状态,且振荡器工作稳定后,如在RST脚上有从低电平上升到高电平并持续2个机器周期以上,CPU就可以响应并将系统复位。如果RST持续为高电平,单片机就处于循环复位状态而无法执行程序。因此要求单片机复位后能脱离复位状态。常用的复位方式有:①上电复位上电复位要求接通电源后自动实现复位操作。实现方法是在RST引脚上外接一个电容C至供电电源Vcc,下接一个电阻R到地即可。当系统上电时,复位电路通过电容C加给RST端一个短的高电平信号,此高电平随着Vcc对电容C的充电过程而逐渐回落,即RST端上的高电平持续时间取决于电容C充电时间,为了保证系统能可靠的复位,RST端上的高电平必须维持足够长的时间。②上电且开关复位如图4-7所示,该电路既可以上电复位,又可以手动复位。上电后,由于电容充电,使RST持续一段高电平时间。当单片机已在运行的时候,按下复位键也能使RST持续一段时间的高电平,从而实现上电且开关复位的操作。其中,电阻、电容的取值随时钟频率的变化而变化。本课题设计就是使用此种复位方法。③定时监视器(WDT,看门狗)复位在单片机应用中,由于多种不确定因数(如干扰、程序BUG等),导致单片机的运行软件不按预先规定的顺序执行(称为“程序跑飞”)或进入死循环,从而达不到设计目的,甚至因不可预测的原因发生意外事故(这在工业领域应用时尤为重要)。特地在单片机中设置了一个专用的硬件定时器,称为“watchdogtimer(WDT)”即“看门狗”。当设计者通过软件方式启动了WDT后,WDT就开始按初始化中设置的定时周期做定时运行。一旦定时结束,无论当前软件运行到什么地方,将无条件强制CPU复位,然后从头运行软件。这就是WDT的实际应用。实际上这也就是一种硬件抗干扰的手段。当然,为了避免程序在正常运行时不会被WDT中断而干扰正常运行,所以,软件设计者必须让运行软件在正常运行中,并且在WDT每一个定时周期内对WDT的运行做复位操作。即,使得WDT重新从0开始计时。这就是所谓“喂狗”。AT89S52内置看门狗,它由13位的计数器组成。复位后,调用喂狗指令清零计数器,然后,每个机器周期该计数器自动加1,当记数值达到8191(1FFF)时,产生一个复位信号,系统复位。因此,在启用看门狗后,至少要在8191个机器周期内,调用一次喂狗指令,防止看门狗溢出复位。另外,系统在掉电模式下,晶振停止了震荡,看门狗停止。当外部中断唤醒掉电模式时,最好调用一次喂狗指令,防止看门狗溢出复位。由于AT89S52向下兼容AT98S51,AT89C51,所以在原有AT98S51,AT89C51的基础上,可以直接加上看门狗功能,方便了产品的生级。4.5报警电路蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声,因此需要一定的电流才能驱动它,单片机I/O引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。S51增强型单片机实验板通过三极管C8550来放大电流以驱动蜂鸣器。如图4-11所示,蜂鸣器的正极接到VCC(+5V)电源上面,蜂鸣器的负极接到三极管的集电极C,三极管的基级B经过限流电阻R后由单片机的P1.0引脚控制,当P1.0输出低电平时,三极管截止,没有电流流过线圈,蜂鸣器不发声;当P1.0输出高电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控制P1.0脚的电平来使蜂鸣器发出声音和关闭。程序中改变单片机P1.0引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音。另外,改变P1.0输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小,这些都可以通过编程实验来验证。图4-11报警电路5硬件电路制作随着计算机技术的发展,电路设计中的很多工作都可以由计算机来完成。Protel设计系统是一套建立在PC环境下的EDA电路集成设计系统,由于其高度的集成性与扩展性,很快就成为PC平台上最流行的电子设计自动化软件。用Protel进行电路设计有原理图的设计和PCB图设计两个步骤。5.1原理图绘制原理图的绘制是整个电路设计的基础,它决定了后面工作的进展。根据原理框图和查阅的相关资料而设计出的硬件电路如图5-1所示。原理图的设计过程主要有以下几个步骤:(1)打开Protel99SE软件,新建.Sch设计文件;(2)在.Sch文件中根据原理绘制原理图;(3)查找元器件,摆放元器件;(4)电路连线,属性修改及报表的生成;(5)元件封装及网络表的生成;(6)保存文件。图5-1硬件原理图在原理图的设计过程中,原理图中的元件库中可能找不到自己要找的元件,这时就需要自己设计封装。在画原理图后,将元件自动编号,然后根据需要更改部分元件的编号。在定好元件编号后,使用TOOLS中的ERC进行检查,它会提示是否有编号相同的元件等错误。在ERC检查无误后,便可以开始封装。在封装好全部元件后,可以生成一个元器件报表,在报表中可以清楚的看到各元件的标号和封装代号,在进一步检查完毕后就开始建立网络表。5.2PCB图绘制PCB图的制作是电路板制作过程复杂重要的一个过程。制作PCB图时应该注意线的粗细,走向和孔的大小等等。以下是PCB的设计流程。PCB的设计流程分为网表输入、规则设置、元器件布局、布线、检查、复查、输出六个步骤。(1)网表输入网表输入有两种方法,一种是使用PowerLogic的OLEPowerPCBConnection功能,选择loadNetlist,应用OLE功能,可以随时保持原理图和PCB图的一致,尽量减少出错的可能。另一种方法是直接在PowerPCB中装载网表,选择File->Import,将原理图生成的网表输入进来。(2)规则设置如果在原理图设计阶段就已经把PCB的设计规则设置好的话,就不用再进行设置这些规则,因为输入网表时,设计规则已随网表输入进PCB。如果修改了设计规则,必须同步修改原理图,保证原理图和PCB的一致。除了设计规则和层定义外,还有一些规则需要设置,比如PadStacks,需要修改标准过孔的大小。注意:PCB设计规则、层定义、过孔设置、CAM输出设置已经作成缺省启动文件,名称为Default.stp,网表输入进来以后,按照设计的实际情况,把电源网络和地分配给电源层和地层,并设置其它高级规则。在所有的规则都设置好以后,在PowerLogic中,使用OLEPowerPCBConnection的RulesFromPCB功能,更新原理图中的规则设置,保证原理图和PCB图的规则一致。(3)元器件布局网表输入以后,所有的元器件都会放在工作区的零点,重叠在一起,下一步的工作就是把这些元器件分开,按照一些规则摆放整齐,即元器件布局。PCB提供了两种方法,手工布局和自动布局。①手工布局a.工具印制板的结构尺寸画出板边(必须在keepoutlayer层画框)。b.将元器件分散。c.把元器件一个一个地移动、旋转,放到板边以内,按照一定的规则摆放整齐。②自动布局PCB提供了自动布局和自动的局部簇布局,但对大多数的设计来说,效果并不理想,不推荐使用。③注意事项a.布局的首要原则是保证布线的布通率,移动器件时注意飞线的连接,把有连线关系的器件放在一起将会使布局和连线更加合理;b.数字器件和模拟器件要尽量分开;c.去耦电容尽量靠近器件的VCC;d.放置器件时要考虑以后的焊接,不要太密集;e.多使用软件提供的Array和Union功能,提高布局的效率。(4)布线布线的方式也有两种,手工布线和自动布线。PCB提供的手工布线功能十分强大,包括自动推挤、在线设计规则检查(DRC),自动布线由Specctra的布线引擎进行,通常这两种方法配合使用,常用的步骤是手工—自动—手工。①手工布线1.自动布线前,先用手工布一些重要的网络,比如高频时钟、主电源等,这些网络往往对走线距离、线宽、线间距、屏蔽等有特殊的要求;另外一些特殊封装,如BGA,自动布线很难布得有规则,就要用手工布线。2.自动布线以后,还要用手工布线对PCB的走线进行调整。对不合理的地方要进行恰当的修改。②自动布线手工布线结束以后,剩下的问题就交给自动布线器来自布。选择Tools->SPECCTRA,启动Specctra布线器的接口,设置好DO文件,按Continue就启动了Specctra布线器自动布线,结束后如果布通率为100%,那么就可以进行手工调整布线了;如果不到100%,说明布局或手工布线有问题,需要调整布局或手工布线,直至全部布通为止。(5)检查检查的项目有间距(Clearance)、连接性(Connectivity)、高速规则(HighSpeed)和电源层(Plane),这些项目可以选择Tools->VerifyDesign进行。如果设置了高速规则,必须检查,否则可以跳过这一项。检查出错误,必须修改布局和布线。注意:有些错误可以忽略,例如有些接插件的Outline的一部分放在了板框外,检查间距时会出错;另外每次修改过走线和过孔之后,都要重新覆铜一次。(6)复查复查根据“PCB检查表”,内容包括设计规则,层定义、线宽、间距、焊盘、过孔设置;还要重点复查器件布局的合理性,电源、地线网络的走线,高速时钟网络的走线与屏蔽,去耦电容的摆放和连接等。复查不合格,设计者要修改布局和布线。进入Protel99SE——PCB编辑器,设计好电路板工作层面,设定好PCB图所占的位置,然后导入网络表与元件的封装,接着进行元件的布局,尽量使得元器件摆放的整洁并容易布线。先采用自动布线,再用手工调整元件的部分布局,最终将得到PCB图。我把网络报表导入PCB中遇到这样一个问题,原理图中的线连得比较好但导入PCB中有的元件却没有连接起来,查过相关资料得知原因大致如下:这种问题出现在原理图上,原理图看上去是连上的,由于画线不符和,导致表中他们并未连上,下面是属于不规范的连线:a.超过元器件的断点连线;b.连线的两部分有重复;c.在原理图连线时,应尽量做到:1.在元件端点处连线;2.元器件连线尽量一线连通,少出现直接将其端点对接上的方法来实现,中间应用细线连接。按以上步骤细心做好每一步并且注意容易出错的问题,相信一定可以做出一个很好的PCB板。本设计非高频电路,不用充分考虑元器件的电磁兼容及散热等问题,所以排版相对容易。参数设置方面,线宽为0.8mm,安全距离为0.25mm,孔外径为2~2.5mm不等。本系统芯片与数码管较少,布线是在自动布线的基础上加手动修改完成的。为了版面的美观,有四条布线采用了顶层短跳线的方式进行调整。最终所得PCB图如图5-2所示:图5-2PCB图5.3电路板制作过程印刷电路板是以一定尺寸的绝缘板为基材,以铜泊为导线,经加工,用一层或若干层导电图形,以及设计好的孔来实现元件间的电气连接关系。下面是电路板制作的大致过程:(1)PCB图的打印:打印的时候要将原理图,PCB图和装配图一起打印,在打印PCB图的时候,要多打印一些以便备用。(2)熨烫:将热转印纸倒敷在铜板有铜的那一面,用电熨斗熨到铜板上,注意熨斗的温度不要太高,熨烫的时候要稍微用力,才能让热转印纸上的电路线都印到铜板上。(3)腐蚀:熨烫好的铜板待冷却后,热转印纸自动脱落,将印上电路图的铜版放到有氯化铁的盆中腐蚀,将没有印上电路部分的铜腐蚀掉,剩下的部分就是一个完整的铜线电路图。氯化铁的浓度最好高一些,这样腐蚀的速度也会比较快。(4)打孔:打孔要注意孔的尺寸,是否和要装的器件相对应,如果器件要求的孔较大的话,应该换用较大的针头。(5)焊接:焊接前要放置元件,从比较矮的器件到比较高的器件,器件越贴近电路板越好,这样可以减小干扰。焊接的时候要注意不要接成短路,焊点不要太大,注意不要虚焊。(6)检查:检查是否虚焊,管脚位置是否正确。6软件设计6.1ADC0809采样时钟软件实现通过单片机产生1M赫兹的方波时钟频率给ADC0809,节省了用硬件产生频率的成本。用软件提供给ADC0809频率的好处还有,可以随意改变ADC0809的采样频率,这里使用了1M赫兹的速度。程序如下所示:#includeuinttemp,result;ucharread_ADC(void){ucharvalue=0;OE=0;//锁存脚置(转换输出口暂时输出高阻)ST=0;ST=1;//AD转换开始信号ST=0;EOC=1;while(EOC==0);//等待转换结束标志OE=1;//锁存脚置(转换输出口输出转换结果)value=Read_port;//P1口读AD数据returnvalue;}这里ADC0809的参考电压为5V,处理时要除以255再乘以5,ADC0809是8位单片机,(2^8-1)=255,即ADC0809采集到的外部电压的范围是0~255,当采集到的数据为0时,V=(0*1000/255)*5=0,采集到的数据为255时,V=(255*1000/255)*5=5000,所以ADC0809采集电压范围为0-5V,ADC0809最小电压分辨率为1/255=0.003921。本电路用液晶显示,测量电压精确到整数。6.2可燃气体浓度显示程序可燃气体浓度用液晶显示,程序如下:#defineshow_PPM()\{\ADC_TEMP=read_ADC();\alert_handler(ADC_TEMP);\temp=ADC_TEMP;\p=LCD_PutStr(flush,24);\p=LCD_PutNum(temp,-1,24);\p=16;\}6.3可燃气体浓度报警程序voidbeep_handle(ucharlevel)//蜂鸣器报警程序{switch(level){case1://采集到可燃气体传感器输出电压大于Low时,报警,报警等级为1{bell=1;delay_nms(40);bell=0;delay_nms(40);}break;case2://采集到可燃气体传感器输出电压大于Mid时,报警,报警等级为1{bell=1;delay_nms(40);bell=0;delay_nms(40);bell=1;delay_nms(40);bell=0;delay_nms(40);}break;case3://采集到可燃气体传感器输出电压大于High时,报警,报警等级为1{bell=1;delay_nms(40);bell=0;delay_nms(40);bell=1;delay_nms(40);bell=0;delay_nms(40);bell=1;delay_nms(40);bell=0;delay_nms(40);}break;default:break;}}6.4程序流程图程序流程图如图6-1所示:图6-1程序流程图7电路板调试(1)调试所用用仪器:5V直流电压源;计算机一台;单片机开发板一块;数字万用表一个。(2)调试前的检查①检查连线是否正确;②检查元器件的安装情况:元器件的管脚之间有没有短路,连接处有没有接触不良,集成电路的管脚是否接对及集成块的缺口是否与底座对位。③检查电路的焊接情况:用万用表测试电路的连线,是否有虚焊,短路等。(3)调试结果先是调可燃气体传感器的加热电阻,刚接上时电阻为几十欧,此时发现加热非常慢,一直得不到稳定的值,于是慢慢减小电阻阻值,直到7欧,此时给可燃气体传感器加5V电压,液晶显示浓度为6,说明电路工作正常。因为传感器内的电桥是不可能绝对平衡的,有差压是在允许范围之内。拿打火机喷可燃气体给传感器,此时数码管显示电压迅速达到200多,说明传感器对可燃气体非常敏感,移开打火机,电压值又迅速降为零。如果硬件电路和软件都没问题,那么本课题的气体测试仪可显示被测气体的报警等级以及改变报警标准,当其电压值小于规定标准值时一切正常,当电压超过规定的标准值时蜂鸣器报警以此提醒人们危险。总结到现在,毕业设计已基本完成。在这短短的三个月中我从最初的茫然,到慢慢的进入状态,再到思路逐渐的清晰。整个过程难以用语言来表达自己的感受。当遇到困难,我觉得无从下手,不知从何做起;当困难解决了,我会觉得豁然开朗。在整个过程中,我不但学到了理论知识,还学到了做电路板的实际经验。使我的理论知识和动手能力都得以提高。谢辞毕业设计能顺利完成,要感谢的人很多,但首先要感谢王岩红老师,因为毕业设计是在王老师的悉心指导下完成的。王老师严谨的治学态度,精益求精的工作作风,严以律己、宽以待人的风范,朴实无华、平易近人的人格魅力对我影响深远。本毕业设计从选题到完成,每一步都是在王老师的悉心指导下完成的,倾注了王老师大量的心血。在此,谨向王岩红老师表示崇高的敬意和衷心的感谢!谢谢王老师在我整个毕业设计的过程中给与我的极大的帮助。另外,毕设的顺利完成,也离不开其它同学和朋友的关心和帮助。在整个过程中同学和朋友积极的帮助我查资料和提供有利于毕设的建议和意见,在他们的帮助下,毕业设计得以不断的补充和完善。谢谢他们。参考文献[1]何希才,伊兵,杜煜.新型实用电子电路400例[M].北京:电子工业出版社,1999.2[2]何希才.传感器及应用电路[M].北京:电子工业出版社,2001.3[3]胡汉才.单片机原理及系统设计[M].北京:清华大学出版社,2002.1[4]李群芳,黄建.单片微型计算机与接口技术[M].北京:电子工业学出版社,2002.7[5]卢庆林.模拟电子技术[M].重庆:机械工业出版社,2003.7[6]黄贤武,郑筱霞.传感器原理与应用[M].成都:电子科技大学出版社,2004.3[7]Han,Jianguo.Foundationandapplicationofmicroconller.HigherEducationPress,2004[8]杨光友,朱宏辉.单片微型计算机原理及接口技术[M].北京:北京航空航天大学出版社,2005.11[9]王俊峰,孟令启.现代传感器应用技术[M].北京:机械工业出版社,2006[10]张红润,刘秀英.单片机应用设计200例[M].北京:北京航空航天大学出版社,2006.7[11]W.L.Wolfe.Theinfraredhandbook.TheInfraredInformation&Analysis(IRIA)Center[M],1988[12]M.Herpy.AnalogIntegratedCircuits.WILEY,1980附录参考程序:#include"reg52.h"#include"LCD_1602.h"#include"ADC0809.h"#defineucharunsignedchar#defineuintunsignedint#definedelaymsdelay_nms/***************************函数功能:读气体传感器并显示浓度*传入参数:无*传出参数:无**************************/#defineshow_PPM()\{\ADC_TEMP=read_ADC();\alert_handler(ADC_TEMP);\temp=ADC_TEMP;\p=LCD_PutStr(flush,24);\p=LCD_PutNum(temp,-1,24);\p=16;\}/**************************函数功能:设备初始化*传入参数:无*传出参数:无*蜂鸣器关液晶初始化清屏设置定时器为自动重装模式,在其中断服务程序中给提供转换所用时钟信号*************************/#defineDevic_init()\{\bell=0;\LCD_init();\CLS;\delay_nms(20);\TMOD=0x02;\TH0=0xE0;\TL0=0x00;\TR0=1;\ET0=1;\EA=1;\}/**************************函数功能:显示主菜单*传入参数:无*传出参数:无*************************/#defineshow_main()\LCD_PutStr(level,-1);\LCD_PutStr(alarm_level[0],6);\LCD_PutStr(now_ppm,16);/***************************管脚定义区**************************/sbitbell=P1^1;//蜂鸣器sbitkey1=P3^0;//键盘sbitkey2=P3^1;sbitkey3=P3^2;sbitkey4=P3^3;//气体报警上下限#defineHigh_levellevel_paramer[3]#defineMid_levellevel_paramer[2]#defineLow_levellevel_paramer[1]ucharlevel_paramer[4]={0,40,100,180};//存取当前报警下限数值ucharADC_TEMP=0;//ADC转换中间变量ucharbeep_level=0;ucharset_sta=0;voidkey_handler(ucharii);//键盘处理程序ucharscanfkey(void);//键盘扫描程序voidalert_handler(ucharvalue);//警报处理程序voidbeep_handle(ucharlevel);//蜂鸣器判断处理程序ucharflag_beep=0;//蜂鸣器标志位uinttimer_buffer=0;ucharcodewelcom[]={"Welcometouse!\n"};ucharcodenow_ppm[]={"NowPPM:\n"};ucharcodeflush[]={""};//ucharcodeflush_line[]={""};ucharcodelevel[]={"Alarm:"};ucharcodealarm_level[4][7]={{"Normal"},{"Low"},{"Mid"},{"High"}};/*主程序*/voidmain(){ucharbutton_press=0;//键盘按位传递值uintt
/
本文档为【气体检测毕设论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索