CO气体浓度监测仪设计_第1页
CO气体浓度监测仪设计_第2页
CO气体浓度监测仪设计_第3页
CO气体浓度监测仪设计_第4页
CO气体浓度监测仪设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

473第1章绪论 1122951.1CO气体浓度监测仪设计概况 177981.2本文研究内容 14464第2章CPU最小系统设计 2169272.1CO浓度监测仪总体设计方案 215162.2CPU的选择 384262.3复位电路设计 594592.4时钟电路设计 6167012.5CPU最小系统图 715580第3章CO浓度监测仪输入输出接口电路设计 8152273.1CO浓度监测仪传感器的选择 86033.2CO浓度监测接口电路设计 9245663.3A/D转换器选择 92893.4模拟量检测接口电路图 10323433.5人机对话接口电路设计 105899第4章CO浓度检测仪软件设计 11174144.1软件实现功能综述 111964.2流程图设计 11314894.3程序清单 1216524第5章系统设计与分析 13108075.1系统原理图 1388355.2系统原理综述 1411557第6章课程设计总结 1514430参考文献 16PAGE18绪论CO气体浓度监测仪设计概况公共场所和某些生产车间的空气污染直接威胁着人们的身体健康,为了控制空气污染,切实提高我国的空气质量,国家相继发布实施了《环境空气质量标准》(GB3095-1996)和《室内空气质量标准》(GB/T18883-2002),对公共所和生产环境空气中CO浓度作了明确规定,并由卫生防疫和劳动卫生保护部门进行监督和管理.《室内空气质量标准》自2003年3月1日起实施.按照这一标准,CO浓度的小时均值应低于10mg/m3,日均值应低于4mg/m3.本文研制了具有CO浓度小时均值、日均值测量功能,GSM短信收发功能,适用于公共场所和生产车间使用的CO浓度监测仪.它可以对监测点的CO浓度进行远程监测,并且作为一种便携式监测仪可以随时更换监测地点.为了减少耗电量,要求尽可能降低系统的功耗,采用低功耗设计,在设计仪器时讨论了单片机工作方式的选择、电源的供给、元器件的选取、TC35模块的管理等硬件设计问题和低功耗应用系统软件设计应采取的措施.本文研究内容本设计主要用于公共场所及某些车间空气中CO浓度的监测,检测标准是:CO浓度小时均值应低于3mg/m3,日均值应低于4mg/m3。本设计核心为89C51单片机,A/D转换器采用A1(OP90),传感器采用NAP-505。

CPU最小系统设计CO浓度监测仪总体设计方案此次设计是将传感器测得的非电量转换为电量,进而传输到单片机内,使用程序对整体设备操控,实现温度监测的制动化,需要注意的是传感器得到的是采集的数据,要传入系统,就要进行转换。将模拟信号转换为数字信号。因此,可以直接把传感器输出电压值经过A/D转换器转换得到数据送入单片机进行处理。此外,还需接入LED显示、电源电路、晶振电路、复位电路、接口电路。单片机应用系统也是由硬件和软件组成。硬件包括单片机、输入/输出设备、以及外围应用电路等组成的系统,软件是各种工作程序的总称。单片机应用系统的研制过程包括总体设计、硬件设计、软件设计等几个阶段。设计的药品库温度监控器应具有如下特点:(1)数据采集系统以单片机为控制核心,外围电路带有LED显示以及晶闸管控制电路,无需要其他计算机,用户就可以与之进行交互工作,完成数据的采集、存储、计算、分析等过程。(2)系统具有低功耗、小型化、高性价比等特点。(3)从便携式的角度出发,系统成功使用了LED数码管显示器,需要简单易携带。(4)软件设计简单易懂,可读性强。被测环境浓度传感器A/D转换电路单片机短信发送装置接口检测电路图2.1基本工作原理图CPU的选择89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。且具有体积小,可靠性高,功能强,等特点。89C51管脚图如图2.2所示。下面介绍89C51的主要管脚功能如下:图2.289C51管脚图40条引脚的功能:1.

电源引脚VSS和VCCVSS(20脚):接地;VCC(40脚):正常操作及对EPROM编程和验证时接+5伏电源。2.

外接晶体引脚XTAL1和XTAL2XTAL1(19脚):接外部晶体的一端。在单片机内部,它是一个反向放大器的输入端,这个放大器构成了片内振荡器。XTAL2(18脚):接外部晶体的另一端。在单片机内部,接至上述反向放大器的输出端。3.

控制或与其它电源复用引脚RST/VPD,ALE/PROG,PSEN和EA/VPPRST/VPD(9脚):当振荡器运行时,在此引脚上出现两个机器周期以上的高电平,将使单片机复位;VCC掉电期间,此引脚可接备用电源,以保持内部RAM的数据不丢失;当VCC掉到低于规定水平,而VPD在其规定的电压范(5±0.5V)内,VPD向内部RAM提供备用电源。ALE/PSEN(30脚):当访问外部存储器时,MCS-51系列单片机即用P0口作为低8位地址输出口,又作为数据输入/输出口。为了使地址与数据不致于混淆,通常先送地址再传送数据。ALE(允许地址锁存)将P0口输出的低8位地址锁存,从而实现低位地址与数据的分离。在ALE端会周期性地出现正脉冲信号,此信号频率为振荡器频率的1/6。因此,它可以用作对外输出的时钟。要注意的是:每当访问外部数据存储器时,将跳过一个ALE脉冲。ALE端可以驱动(吸收或输出电流)8个LSTTL输入。在对8751片内EPROM编程(固化)时,此引脚用于输入编程脉冲。PSEN(29脚):是外部程序存储器的读选通信号。在外部程序存储器取指令(或常数)期间,每一个机器周期两次有效。每当访问外部数据存储器时,这两次有效的信号将不出现。同样可以驱动8个LSTTL输入。EA/VPP(31脚):当EA端保持高电平时,访问内部程序存储器,但在PC(程序计数器)值超过0FFFH(对于8051/8751/80C51)或1FFFH(对于8052)时,将自动转向访问外部存储器。当EA端保持低电平时,不管是否有内部程序存储器,只访问外部程序存储器。在对8751片内EPROM编程时,此引脚用于施加21V的编程电源(VPP)。4.

输入/输出引脚P0口、P1口、P2口、P3口P0口(P0.0~P0.7共8条引脚,即39~32脚):是双向8位三态I/O口。在访问外部存储器时,可分时用作低8位地址线和8位数据线;在EPROM编程时,它输入指令字节,而在验证程序时,则输出指令字节。P0口能驱动8个LSTTL输入。P1口(P1.0~P1.7共8条引脚,即1~8脚):P1口是一个带有内部上拉电阻的8位双向I/O口。在EPROM编程和程序验证时,它接收低8位地址。它能驱动4个LSTTL输入。P2口(P2.0~P2.7共8条引脚,即21~28脚):P2口是一个带有内部上拉电阻的8位双向I/O口。在访问外部存储器时,它送出高8位地址。在对EPROM编程和程序验证时,它接收高8位地址。它能驱动4个LSTTL输入。P3口(P3.0~P3.7共8条引脚,即10~17脚):P3口是一个带有内部上拉电阻的8位双向I/O口。在MCS-51单片机中,这8个引脚都有各自的第二功能,在实际工作中,大多数情况下都使用P3口的第二功能。图2.3带手动复位的看门狗复位电路复位电路设计复位操作可以使单片机初始化,也可以使死机状态下的单片机重新启动,因此非常重要。单片机的复位都是靠外部复位电路来实现的,在时钟电路工作后,只要在单片机的RESET引脚上出现24个时钟振荡脉冲(两个机器周期)以上的高电平,单片机就能实现复位。在设计复位电路时,一般使RESET引脚保持10ms以上的高电平,单片机便可以可靠地复位。当RESET从高电平变为低电平以后,单片机从0000H地址开始执行程序。在复位有效期间,ALE和PSEN引脚输出高电平。8051外进入复位状态后,21个特殊功能寄存器复位后的状态为确定值,除SP为07H,P0~P3为FFH,其余均为0。简单的复位电路有上电复位和手动复位两种。为了保证复位电路可靠地工作,也可以采用专用的复位电路芯片。MAX813L是MAXIN公司生产的一种体积小、功耗低、性价比高的带看门狗和电源监控功能的复位芯片。本文采用带手动复位的看门狗复位电路,电路图如图2.4所示。MR:手动复位输入端,低电平有效,当该端输入电平保持140ms以上,MAX813L就输出复位电路。RESET:复位信号输出端,上电时,自动产生200ms的复位脉冲;手动复位端低电平时,该端也产生复位信号输出。WDI:看门狗输入端,程序正常运行时,必须在小于1.6s的时间间隔内向该输入端发送一个脉冲信号,以清除芯片内部看门狗定时器,若超过16.s该输入端收不到脉冲信号,则内部定时器溢出,WDO端输出低电平。PFI:电源故障输入端,当该输入端电压低于1.25v时,PFO端输出低电平。PFO:电源故障输出端,电源正常时输出保持高电平,电源电压变低或掉电时,输出由高电平变为低电平。VCC:工作电源,接+5vGND:接地端时钟电路设计时钟电路是用来产生AT89C51单片机工作时所必须的时钟信号,AT89C51本身就是一个复杂的同步时序电路,为保证工作方式的实现,AT89C51在唯一的时钟信号的控制下严格的按时执行指令进行工作,时钟的频率影响单片机的速度和稳定性。通常时钟由于两种形式:内部时钟和外部时钟。我们系统采用内部时钟方式来为系统提供时钟信号。AT89C51内部有一个用于构成振荡器的高增益反向放大器,该放大器的输入输出引脚为XTAL1和XTAL2,他们跨接在晶体振荡器的用于微调的电容,便构成了一个自激励振荡器。图2.4振荡电路电路中的C1,C2的选择在20PF左右,但电容太小会影响振荡的频率,稳定性和快速性。晶振频率为在1.2MHZ~12MHZ之间,频率越高单片机的速度就越快,但对存储器要求就高。为了提高稳定性我们采用温度稳定性好的NPO电容,采用晶振频率为12MHZ.本次系统的时钟电路设计如图2.2所示。MR:手动复位输入端,低电平有效,当该端输入电平保持140ms以上,MAX813L就输出复位电路。RESET:复位信号输出端,上电时,自动产生200ms的复位脉冲;手动复位端低电平时,该端也产生复位信号输出。WDI:看门狗输入端,程序正常运行时,必须在小于1.6s的时间间隔内向该输入端发送一个脉冲信号,以清除芯片内部看门狗定时器,若超过16.s该输入端收不到脉冲信号,则内部定时器溢出,WDO端输出低电平。PFI:电源故障输入端,当该输入端电压低于1.25v时,PFO端输出低电平。PFO:电源故障输出端,电源正常时输出保持高电平,电源电压变低或掉电时,输出由高电平变为低电平。VCC:工作电源,接+5vGND:接地端CPU最小系统图图2.5最小系统图CO浓度监测仪输入输出接口电路设计CO浓度监测仪传感器的选择本监测仪所选用的CO传感器N1为日本根本特殊化学株式会社生产的NAP-505电化学式传感器。该电化学式传感器是三电极结构。传感器的输出电流与CO气体浓度成线性关系IOUT=70±10nA/ppm.NAP-505是一种电化学传感器,相当于一种化学电池,随着CO浓度变化,产生0~70μA的电流,其本身不消耗额外的电流。其低功耗电路如图3.1:图3.1NAP-505低功耗电路图A/D转换器选择A1(OP90)保证工作电极和参考电极等电位。传感器输出0~70μA的电流,经A2(OP90)转换成0~017V的电压,以保证当CO浓度在0~1000ppm时,A3的图3.3A1(OP90)传感器输出为0~215V,以满足A/D转换器U1(ADS7822)的输入要求。OP90具有内部调零电路,允许仪器放大器提供真正的零输入、零输出操作。NAP-505的温度特性用常数B为3435K的NTC热敏电阻进行补偿。温度经过补偿后,在-10~50℃范围内,其输出能够满足精确度要求。U1(ADS7822)的参考电压通过5Ω电阻和电容组成的电源滤波器接到Vcc上,滤除电源自身的高频噪声。经A/D转换后的数据送入U2(89LV51)单片机,存储在U7(AT24C08)中。CO气体浓度监测仪的液晶显示模块可以显示浓度值和浓度变化曲线,并通过短消息收发模块与控制中心通信。模拟量检测接口电路图OP90具有内部调零电路,允许仪器放大器提供真正的零输入、零输出操作。NAP-505的温度特性用常数B为3435K的NTC热敏电阻进行补偿。温度经过补偿后,在-10~50℃范围内,其输出能够满足精确度要求。图3.4模拟量检测接口图人机对话接口电路设计TC35监测仪的一个突出优点是增加了短消息控制功能,它可以通过短消息收发模块与控制中心通信。本监测仪中GSM短消息收发模块采用西门子推出的GSMTC35模块,单一电压为313~515V,TC35在工作状态下电流为200mA,待机耗电40mA,空闲模式小于315mA,掉电模式为100uA。开机初始化时,首先启动TC35然后使之处于空闲模式,当测量完毕后唤醒使其为待机模式,等待是否有中心发来的短消息指令,然后对根据指令发送数据或是修改参数,通过工作模式的控制可以使模块有效的节省功率。对于输入引脚需要上拉电阻来驱动,如I2C总线的数据线,上拉电阻的阻值在能满足驱动能力的前提下,尽量选大,以减少在上拉电阻上消耗的功耗。对于电路中存在的其它电阻,如按键中的分压电阻等,也采取同样的措施。3.5TC35短信收发模块CO浓度检测仪软件设计软件实现功能综述该系统软件主要由主程序、中断子程序、显示子程序、检测等模块组成,因为C语言编写的软件易于实现模块化,生成的机器代码质量高、可读性强、移植好,所以本系统的软件采用C语言编写。系统软件实现的功能:通过LED显示浓度值;比较监测到的温度值和报警设置值;系统定期把相关浓度数据通过串行通信传给上位机PC机;显示子程序对每次由传感器所采集的数值经量化处理后所得到的标准值进行显示;根据相应的湿度值控制湿度调节系统运行。流程图设计根据软件所需要实现的功能,依据编程的习惯结构,可以得到主程序的流程设计图,其结构如图4.1所示。开开始初始化超过设定浓度上限检测当前浓度判断当前浓度发送短信转入连测子程序否是图4.1流程图程序清单由于主程序过长,现将数据采集程序提供如下。#include"REG51.H"#include"INTRINS.H"typedefunsignedcharBYTE;sbitDQ=P3^3;BYTETPH;//存放浓度值的高字节BYTETPL;//存放浓度值的低字节voidDelayXus(BYTEn);voidDS18B20_Reset();voidDS18B20_WriteByte(BYTEdat);BYTEDS18B20_ReadByte();voidmain(){DS18B20_Reset();//设备复位DS18B20_WriteByte(0xCC);//跳过ROM命令DS18B20_WriteByte(0x44);//开始转换命令while(!DQ);//等待转换完成DS18B20_Reset();//设备复位DS18B20_WriteByte(0xCC);//跳过ROM命令DS18B20_WriteByte(0xBE);//读暂存存储器命令TPL=DS18B20_ReadByte();//读浓度低字节TPH=DS18B20_ReadByte();//读浓度高字节while(1);}/**************************************延时X*10微秒(STC90C52RC@12M)不同的工作环境,需要调整此函数当改用1T的MCU时,请调整此延时函数**************************************/voidDelayX0us(BYTEn){while(n--){_nop_();_nop_();}}/**************************************复位NAP-505,并检测设备是否存在**************************************/voidNAP-505_Reset(){CY=1;while(CY){DQ=0;//送出低电平复位信号DelayX0us(48);//延时至少480usDQ=1;//释放数据线DelayX0us(6);//等待60usCY=DQ;//检测存在脉冲DelayX0us(42);}}//等待设备释放数据线BYTEDS18B20_ReadByte(){BYTEi;BYTEdat=0;for(i=0;i<8;i++)//8位计数器{dat>>=1;DQ=0;//开始时间片_nop_();//延时等待_nop_();DQ=1;//准备接收_nop_();//接收延时_nop_();if(DQ)dat|=0x80;//读取数据DelayX0us(6);}//等待时间片结束returndat;}voidDS18B20_WriteByte(BYTEdat){chari;for(i=0;i<8;i++)//8位计数器{DQ=0;//开始时间片_no

温馨提示

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

评论

0/150

提交评论