《基于单片机的一氧化碳检测仪设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的一氧化碳检测仪设计.doc(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于单片机的一氧化碳检测仪的控制系统设计摘 要一氧化碳检测仪是一种用于公共场所及室内具有检测及超限报警功能的仪器。其设计方案基于AT89C52单片机,选择CITY公司的7E/F一氧化碳传感器。系统将传感器的标准信号通过AD0832为核心的A/D转换电路调理后,经由单片机进行数据处理,最后由数码管显示一氧化碳浓度值。文中详细介绍了数据采集子系统、软件编程、数据处理过程以及数据显示子系统和报警电路的设计方法和过程。系统对于采样地点超出规定的一氧化碳容许浓度时采用三极管驱动的单音频报警电路提醒监测人员。同时,操作人员对于具体报警点的上限值可以通过单片机编程进行设置。另外,该系统对浓度信号进行了信号补
2、偿等处理,减少了测量误差,因此,具有较高的测量精度,而且结构简单,性能优良。关键词:一氧化碳检测;单片机;数据采集处理系统24 / 27目 录1 前言11.1一氧化碳的危害11.2一氧化碳检测仪的种类21.3课题的背景和意义22 检测仪系统总体设计33 一氧化碳检测仪硬件设计33.1硬件结构设计33.2硬件选择与设计43.2.1 MCU的选择与设计43.2.2单片机最小系统的实现63.2.3数据采集系统的选择与设计83.2.4模数转换的选择与设计103.2.5数码显示模块设计133.2.6电源模块设计133.2.7报警电路的选择133.3硬件设计主电路图143.4实物图144 软件设计154.
3、1软件设计结构的设计154.2模数转换模块的设计154.3软件设计程序16总结17致谢17参考文献18附录一19附录二201 前言1.1一氧化碳的特性及危害一氧化碳是无色、无臭、无味、有毒的气体,熔点199,沸点191.5。标准状况下气体密度为l.25g/L,和空气密度(标准状况下1.293g/L)相差很小,这也是容易发生煤气中毒的因素之一。一氧化碳分子中碳元素的化合价是2价,能进一步被氧比成4价,从而使一氧化碳具有可燃性和还原性,一氧化碳能够在空气中或氧气中燃烧,生成二氧化碳。一氧化碳中毒(carbon monoxide poisoning),亦称煤气中毒。一氧化碳是无色、无臭、无味的气体,
4、故易于忽略而致中毒。常见于家庭居室通风差的情况下,煤炉产生的煤气或液化气管道漏气或工业生产煤气以及矿井中的一氧化碳吸入而致中毒。中毒原理:一氧化碳会与肺部的血红蛋白结合,造成机体缺氧。一是轻度中毒。患者可出现头痛、头晕、失眠、视物模糊、耳鸣、恶心、呕吐、全身乏力、心动过速、短暂昏厥。血中碳氧血红蛋白含量达10%-20%。二是中度中毒。除上述症状加重外,口唇、指甲、皮肤粘膜出现樱桃红色,多汗,血压先升高后降低,心率加速,心律失常,烦躁,一时性感觉和运动分离(即尚有思维,但不能行动)。症状继续加重,可出现嗜睡、昏迷。血中碳氧血红蛋白约在30%-40%。经及时抢救,可较快清醒,一般无并发症和后遗症。
5、三是重度中毒。患者迅速进入昏迷状态。初期四肢肌张力增加,或有阵发性强直性痉挛;晚期肌张力显著降低,患者面色苍白或青紫,血压下降,瞳孔散大,最后因呼吸麻痹而死亡。经抢救存活者可有严重合并症及后遗症。一氧化碳的后遗症。中、重度中毒病人有神经衰弱、震颤麻痹、偏瘫、偏盲、失语、吞咽困难、智力障碍、中毒性精神病。部分患者可发生继发性脑病。1.2 一氧化碳检测仪的种类目前,市场上一氧化碳检测仪的种类是多种多样,目前应用得较为广泛的是热催化监测方式,但由于多种可热性气体都能催化氧化燃烧,导致检测精度下降,另外,采用这种方式的检测仪体积和功率都较大,不便于随身携带,本设计提出的一种采用点调制非光红外(NDIR
6、)气体成分分析技术检测一氧化碳气体的方法,该方法提高了检测精度,大大降低了检测仪的尺度和功耗,延长了电池供给时间,体积和功耗的有效降低。1.3课题的背景和意义在当今社会发展中,现代化的发展给人类带了很大的方便,但与此同时,人生安全越来越受到人们的重视,一氧化碳在工业领域所给我们带来的方便不言而喻,但它对人体的危害也是显而易见的。所以我们设计一款基于单片机控制的一氧化碳检测仪,对一氧化碳进行检测,为人们提供了安全的保障。2 一氧化碳检测仪系统总体设计本论文主要完成一氧化碳检测仪软件和硬件设计,采用单片机为控制核心,以实现一氧化碳检测仪的基本控制功能。系统主要功能内容包括:信号采集、信号放大、A/
7、D转换器程序、控制程序、超标报警、数据显示等。本系统设计采用功能模块化的设计思想,系统主要分为总体方案设计、硬件和软件的设计三大部分。根据任务书上的要求进行综合分析,总设计方案分为以下几个步骤:(1)硬件系统电路的设计;(2)软件系统主程序及其相关子程序的编写;(3)系统电路及软件的调试;(4)结论。3 一氧化碳检测仪硬件设计3.1硬件结构设计单片机AT89C52硬件设计部分主要包括:单片机、A/D转换器、运算放大器、数码管、蜂鸣器等芯片的选择;硬件主电路设计、数据采集、模数转换电路设计、数码显示电路设计、复位电路、报警电路等功能模块电路设计。硬件结构框图3-1。数码显示信号采集信号放大报警电
8、路A/D转换图3-1 硬件结构框图3.2硬件选择和设计3.2.1 AT89C52单片机的选择本系统采用AT89C52单片机。而目前世界上较为著名的8位单片机的生产厂家和主要机型如下:美国Intel公司:MCS51系列及其增强型系列;美国Motorola公司:6801系列和6805系列;美国Atmel公司:89C51等单片机;美国Zilog公司:Z8系列及SUPER8;美国Fairchild公司:F8系列和3870系列;美国Rockwell公司:6500/1系列;美国TI(德克萨司仪器仪表)公司:TMS7000系列;NS(美国国家半导体)公司:NS8070系列等等。尽管单片机的品种很多,但是在我
9、国使用最多的还是Intel公司的MCS52系列单片机和美国Atmel公司的89C52单片机。MCS51系列单片机包括三个基本型8031、8051、8751。本系统采用AT89C52单片机为控制核心。而相比之下52型功能更为强大,ROM和RAM存储空间更大,52还兼容51指令系统。基于本系统设计内容的需要,综合考虑后,我们选择单片机ATME公司的AT89C52为控制核心;主要基于考虑AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8KB的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM)、6个中断源;时钟频率024MHz;器件采用高密度、非易失性
10、存储技术生产,并兼容标准MCS-51指令系统,功能强大。AT89C52是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含8K bytes的可反复擦写的只读程序存储器(PEROM)和256K bytes的随机存取数据存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器和FLASH存储单元,功能强大,AT89C52单片机适合于许多较为复杂控制应用场合。图3-2 引脚图主要性能参数:与MCS-51产品指令和引脚完全兼容;8K字节可重擦写FLASH闪存存储器;1000次写/擦循环;时钟频率:0Hz24
11、MHz;三级加密存储器;256字节内部RAM;32个可编程I/O口线;3个16位定时/计数器;6个中断源;可编程串行UART通道。3.2.2单片机最小系统的设计采用AT89C52来设计一个单片机系统能运行起来的需求最小的系统,电路图见图3-3:图3-3 单片机最小系统图上图的最小单片机系统包含有晶振电路和复位电路,AT89C52芯片组成。(1)晶振电路晶振电路在各种指令的微操作在时间上有严格的次序,这种微操作的时间次序称作时序, AT89C52的时钟产生方式有两种,一种是内部时钟方式,一种是外部时钟方式。本系统中采用了内部时钟方式,为了尽量降低功耗的原则。电路图见图3-4。图3-4 晶振电路图
12、在89C52单片机的内部有一个震荡电路,只要在单片机的XTAL1和XTAL2引脚外接石英晶体(简称晶振)就构成了自激振荡器并在单片机内部产生时钟脉冲信号,图中电容器C1和C2稳定频率和快速起振,晶振CRY选择的是12MHz。(2)复位电路复位的意义复位电路在单片机工作中仍然是不可缺少的主要部件中,单片机工作时必须处于一种确定的状态。端口线电平和输入输出状态不确定可能使外围设备误动作,导致严重事故的发生;内部一些控制寄存器(专用寄存器)内容不确定可能导致定时器溢出、程序尚未开始就要中断及串口乱传向外设发送数据。复位电路原理图3-5 上电复位电路图本设计中复位电路采用的是上电复位与手动复位电路,开
13、关未按下是上电复位电路,上电复位电路在上电的瞬间,由于电容上的电压不能突变,电容处于充电(导通)状态,故RST脚的电压与VCC相同。随着电容的充电,RST脚上的电压才慢慢下降。选择合理的充电常数,就能保证在开关按下时是RST端有两个机器周期以上的高电平从而使AT89C52内部复位。开关按下时是按键手动复位电路,RST端通过电阻与VCC电源接通,通过电阻的分压就可以实现单片机的复位。电路图见图3-6: 图3-6 复位电路图3.2.3数据采集系统的选择与设计(1)一氧化碳传感器的选择:一氧化碳传感器选用CO/CF-1000探头组成,如下表3-1。表3-1 传感器参数名称一氧化碳传感器 CO/CF-
14、1000测量范围0 - 1 000 ppm输 出10020nA/ppm分辨率0.05 ppm响应时间 (T 90)50 seconds湿度范围15-90 %RH(非凝结)最大零点漂移(20to 40)10 ppm长期漂移2% /每月推荐负载值10线性度输出线性(2)从传感器过来的电压信号,必须采集,滤波,放大,转换才能被MCU识别和处理。由于假若每一路都设置放大、滤波等器件,那么成本会很大,所以信号的采集一般用多路模拟通路进行选择。然而选择多路模拟开关时必须考虑以下的几个因素:通道数量、切换速度、开关电阻和器件的封装形式。总之数据采集与硬件的选择有很大的关系。(3)测量电路测量电路由CO/CF
15、-1000一氧化碳传感器、ADC0832组成。当空气被内部的采样系统接收后,产生一个与一氧化碳浓度成正比的电压信号,该电压信号经ADC0832与AT89C52单片机相连,在显示器上显示出一氧化碳的浓度值,当超过国家规定的标准时报警。信号采集电路图如下:图3-7 信号采集电路图3.2.4模数转换器的选择与简介(1)由于ADC0832模数转换器具有8位分辨率、双通道A/D转换、输入输出电平与TTL/CMOS相兼容、5V电源供电时输入电压在05V之间、工作频率为250KHZ 、转换时间为32微秒、一般功耗仅为15MW等优点,适合本系统的应用,所以我们采用ADC0832为模数转换器件。电路图见图3-7
16、如下:图3-8 模数转换电路图(2)ADC0832 具有以下特点:8位分辨率;双通道A/D转换;输入输出电平与TTL/CMOS相兼容;5V电源供电时输入电压在05V之间;工作频率为250KHZ,转换时间为32S;一般功耗仅为15mW;8P、14PDIP(双列直插)、PICC 多种封装;商用级芯片温宽为0到+70,工业级芯片温宽为40到+85;芯片接口说明:CS_片选使能,低电平芯片使能;CH0模拟输入通道0,或作为IN+/-使用;CH1模拟输入通道1,或作为IN+/-使用;GND芯片参考0电位(地);DI数据信号输入,选择通道控制;DO数据信号输出,转换数据输出;CLK芯片时钟输入;Vcc/R
17、EF电源输入及参考电压输入(复用)。单片机对ADC0832的控制原理:正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,CLK和DO/DI的电平可任意。当要进行A/D转换时,先将CS使能端置于低电平并且保持低电平直到转换完全结束。同时由处理器向芯片时钟输入端CLK 输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。(3)测量量程由于ADC0832模数转换器的位数为8位,所以AD
18、C0832模数转换器的精度为:10ppm/256=0.039ppm。3.2.5数码显示模块设计图3-9 数码显示电路图3.2.6电源模块设计图3-10 电源模块电路图3.2.7报警电路的选择图3-11 报警电路接线图在单片机应用系统中,一般的工作状态可以通过指示灯或数码显示来指示,供操作人员参考,了解系统的工作状况。但对于紧急状态,比如系统检测到的错误状态等,往往还需要有某种更能引人注意,及时采取措施,往往还需要有某种更能引人注意,提起警觉的报警信号。这种报警信号通常有三种类型:一是闪光报警,因为闪动的指示灯更能提醒人们注意;二是鸣音报警,发出特定的音响,作用于人的听觉器官,易于引起和加强警觉
19、;三是语音报警,不仅能起到报警作用,还能直接给出警报种类的信息。其中,前两种报警装置因硬件结构简单,软件编程方便,常常在单片机应用系统中使用;而语音报警虽然警报信息较直接,但硬件成本高,结构较复杂。单频音报警实现单频音报警的接口电路比较简单,其发音元件通常可采用压电蜂鸣器,当在蜂鸣器两引脚上加315V直流工作电压,就能产生3kHZ左右的蜂鸣振荡音响。压电式蜂鸣器,约需10mA的驱动电流,可在某端口接上一只三极管和电阻组成的驱动电路来驱动,如图3-14所示。在图3-14中,P1.0接三极管基极输入端,当P1.0输出高电平“1”时,三极管导通,蜂鸣器的通电而发音,当P1.0输出低电平“0”时,三极
20、管截止,蜂鸣器停止发音。3.3 硬件设计主电路图,见附录一。3.4 实物图,见附录二。4软件设计4.1软件设计结构软件设计部分主要包括:主程.序/子程序流程的设计、功能模块程序的编写、软/硬件结合调试与演示。主要包括以下功能模块:51驱动、检测、数码管显示、模数软换,软件结构框图4-1。系统初始化信号采集并放大输出A/D转换并输出数据单片机数据处理并输出74HC595串进并出数码管显示 图4-1 软件结构框图4.2模数转换的设计(1)模数转换模块的主要功能就是将经放大器放大的模拟电压信号转化为MCU能够处理的数字信号,并传送给单片机。(2)ADC0832转换的流程图见下图4-2。 开始使能芯片
21、产生时钟信号输入通道控制字读取2字节数据字节数据校正送入指定寄存器结束图4-2数转换流程图4.3软件设计程序见附录三总结本一氧化碳检测仪的设计体积小,质量轻,性价比高。主要分为硬件设计和软件设计。基本实现了设计前对该系统所要求实现的功能。软件是基于C语言编写的,具有很好的可控性、模块化和移植性。编写的思路以模块化思想,将系统的各个功能进行划分,然后对各个模块进行设计。本系统的主要模块为一氧化碳检测、A/D转换、液晶显示和时钟设置。软件与硬件相结合的仿真演示出了一氧化碳检测仪主要的工作情况。但由于是电信号模拟,和真实一氧化碳检测有一定区别,而且所学知识有限,本系统实现的功能不是很健全,但在设计过
22、程中让自己学会了很多。致谢本论文是在王新金老师的悉心指导下完成的。从选题到完成,每一步都是在老师的指导下完成的,在此,谨向王老师表示崇高的敬意和衷心的感谢。 我的项目课题是基于单片机的一氧化碳检测仪控制系统的设计,是一个实际的小工程。作为一个本科生,我对实际的工程设计认识不够,经验不足,难免在设计的整体框架中,有很多的细节没有考虑。但老师给予我鼓励和很多宝贵的建议,并且悉心引导,给予我一个比较清晰的设计思路,帮助我解决了许多设计上的困难。忘老师们对论文的不足之处敬请批评点。参考文献1何立民MCS-51系列单片机应用系统设计 M北京航空航天大学出版社,19902马忠梅单片机的C语言应用程序设计M
23、北京航空航天大学出版社,2001 3陈小忠单片机接口技术实用子程序M人民邮电大学出版社,2005 4张淑清单片微型计算机接口技术及其应用M国防工业大学出版社,2001 5曹琳琳单片机原理及接口技术M国防科技大学出版社,2000 6徐煜明单片机原理及接口技术M电子工业出版社,2005 7赵新民智能仪器原理及设计M哈尔滨工业大学出版社,1995附录一:附录二:附录三:#include #include #define uint unsigned int#define uchar unsigned charsbit SH_CP=P26; sbit ST_CP=P25; sbit DS=P24; sb
24、it AD_CS=P30;sbit AD_RD=P31;sbit AD_WR=P32;sbit AD_INTR=P33;sbit ling=P27;sbit duan_1=P20;sbit duan_2=P21;sbit duan_3=P22;sbit duan_4=P23;uchar code table=0x28,0xeb,0x32,0xa2,0xe1,0xa4,0x24,0xea,0x20,0xa0;uchar code duanxuan=0x08,0x04,0x02,0x01;void delayms(uint x) /延时函数50msuint i,j;for(i=x;i0;i-)fo
25、r(j=150;j0;j-);void shuju_595(uchar shuju) /串行输入,并行输出uchar i;ST_CP=0; for(i=8;i0;i-) SH_CP=0; if(shuju&0x80)!=0)DS=1; else DS=0; shuju0;i-)display(dianya);P1=0xff; /AD数据端口初始化AD_RD=1;_nop_();AD_RD=0;_nop_();value=P1;AD_RD=1;_nop_(); dianya=value*5;/(uint)(value*470/256);if(dianya=200) /大于200报警ling=ling; else if(dianya=1000)dianya=1000;