1、基于52单片机的甲醛检测仪课程设计 摘 要本文研究设计了一种用于公共场所及室内具有检测及超限报警功能的甲醛智能测试仪。其设计方案基于89C51单片机,选择瑞士蒙巴波公司的CH20/S-10甲醛传感器。系统将传感器输出的420mA的标准信号通过以AD0832为核心的A/D转换电路调理后,经由单片机进行数据处理,最后由LCD显示甲醛浓度值。文中详细介绍了数据采集子系统、数据处理过程以及数据显示子系统和报警电路的设计方法和过程。系统对于采样地点超出规定的甲醛容许浓度时采用三极管驱动的单音频报警电路提醒监测人员。同时,操作人员对于具体报警点的上限值可以通过单片机编程进行设置。 另外,该系统对浓度信号进
2、行了信号补偿等处理,减少了测量误差,因此,具有较高的测量精度,而且结构简单,性能优良。本系统的量程为0-10ppm,精度为0.039ppm。关键词: 甲醛检测,数据采集处理系统,硬件电路,软件设计,A/D转换器,AT89C52单片机3第1章 绪论1.1 引言1.1.1甲醛的特性及危害甲醛是一种无色,有强烈刺激性气味的气体。化学式(HCHO )易溶于水、醇和醚。甲醛在常温下是气态,通常以水溶液形式出现。其37%的水溶液称为福尔马林,医学和科研部门常用于标本的防腐保存。此溶液沸点为19.5故在室温时极易挥发,随着温度的上升甲醛的挥发速度加快。在我国有毒化学品优先控制名单中甲醛列居第二位。1.1.2
3、甲醛的来源1.室内装修所用的合成板材,如胶合板、细木工板、高密度板、刨花板。这些板材中甲醛起胶合剂、防腐剂的作用,主要用于加强板材的硬度、防虫、防腐。板材中残留的和未参与反应的甲醛逐渐向周围环境释放,是室内空气中甲醛的主要来源。2.用合成板材制造的家具,厂家为了追求利润使用不合格的板材,再粘贴面材料时使用不合格的胶水,造成家具中甲醛含量超标。3.含有甲醛成分并有可能向外界散发的各类装饰材料,如壁纸、地毯、油漆。第章 概述2.1系统总概述本论文主要完成甲醛检测仪软件设计,设计内容包括:A/D转换器程序、控制程序、超标报警、键盘检测、数据显示等。本系统采用单片机为控制核心,以实现便携式甲醛检测仪的
4、基本控制功能。系统主要功能内容包括:数据处理、时间设置、开始测量、超标报警、键盘检测、自动休眠:仪器若不进行称量操作,5分钟后自动进入休眠模式,以降低电源消耗。本系统设计采用功能模块化的设计思想,系统主要分为总体方案设计、硬件和软件的设计三大部分。2.2总体方案设计室内甲醛污染对人身体健康影响较大,标准规定的方法绝大多数是化学分析法,使用的手段是实验室分析仪器 主要有比色计、 分光光度计、化学滴定、 气相和液相色谱。但这些方法费力费时、成本高、自动化程度低过程复杂、大多数过程是人工操作很难做到现场实时控制随着传感器和计算机技术的不断发展,现已有了基于单片机的便携式甲醛测试仪,并且测试测试范围、
5、分辨率、精度、稳定性已接近标准要求。因此本设计可选用基于电化学原理的甲醛传感器,其原理是空气中的甲醛在电极下发生氧化反应,产生的扩散电极电流与空气中的甲醛浓度成正比,通过检测放大电路和放大倍数的调整经A/D转换后送单片机 、由单片机现场自动控制检测并显示甲醛浓度。由于甲醛含量超量的话,将对人体健康造成很大的影响。具有民用价值的便携式甲醛检测仪的研制受到了人们的高度重视。设计能够满足生活需要,携带方便的便携式甲醛检测仪迫在眉睫。针对目前的现状,本系统设计遵守体积小,质量轻,性价比高的原则。2.3硬件设计硬件设计部分主要包括:(MCU、A/D、时钟芯片、LCD、外围扩展数据RAM)等芯片的选择;
6、硬件主电路设计、数据采集、模数转换电路设计、液晶显示电路设计、外围扩充存储器接口电路、时钟电路、复位电路、键盘接口电路等功能模块电路设计。2.4软件设计软件设计部分主要包括:编写语言的选择、主程序/子程序流程的设计、功能模块程序的编写、软/硬件结合调试与演示。主要包括一下功能模块:51驱动、检测、液晶显示、时钟、键盘、模数软换。2.5 硬件结构框图如图2.1所示图2.1 硬件结构框图2.6 软件结构框图如图2.2所示 图2.2 软件结构框图第3章 硬件设计3.1 硬件选择 3.1.1 MCU的选择与简介1. 单片机的概念和特点 现代社会中,尽管PC机的应用已经相当普遍,但是,在工控领域,在日益
7、追求小而精、轻而薄的自动化控制器、自动化仪器仪表、家电产品等方面,PC机仍有所不相适宜的地方。而工业控制、仪器仪表、家电产品等市场广阔,要求PC机技术与之相适应。在这种情况下,单片机应运而生了(也称作微型计算机)。微型计算机的基本机构是由中央处理器、储存器、和I/O设备构成的。所谓的单片机是指将微型计算机3个单元的多个分体中的主要功能用1个集成电路芯片来实现,该芯片具有一个微型计算机的基本功能。这种超大规模集成电路芯片即称为单片微型计算机,通常简称单片机。单片机具有以下特点:(1) 受集成度限制,片内存储容量较小,一般8位单片机的ROM小于8/16K字节,RAM小于256字节,但可在外部扩展,
8、通常ROM、RAM可分别扩展至64K字节。(2) 可靠性好。芯片本身是按工业测控环境要求设计的,其抗工业噪声干扰优于一般通用CPU;程序指令及常数、表格固化在ROM中不易破坏;许多信号通道均在一个芯片内,故可靠性高。(3) 易扩展。片内具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。(4) 控制功能强。为了满足工业控制要求,一般单片机的指令系统中具有极丰富的条件分支转移指令、I/O口的逻辑操作以及位处理功能。一般说来,单片机的逻辑控制功能及运行速度均高于同一档次的微处理器。(5) 一般单片机内无监控程序或系统通用管理
9、软件,只放置有用户调试好的应用程序。但近年来也开始出现了在片内固化有BASIC解释程序的单片机。2. 单片机的发展与趋势 由于单片机具有以上特点,因此在工业控制、数据采集、智能仪器仪表、智能化设备和各种家用电器等领域得到广泛的应用。随着微电子工艺水平的提高,近十年来单片微型计算机有了飞速的发展。归纳起来,它是沿着两条路发展的:1.改进集成电路制造工艺,提高芯片的工作速度,降低工作电压和降低功耗:2.在保留共同的CPU体系结构,最基本的外设装置(如异步串行口,定时器等)和一套公用的指令系统的基础上,根据不同的应用领域,把不同的外设装置集成到芯片内,在同一个家族内繁衍滋生出各种型号的单片机。另外在
10、单片机的应用中,可靠性是首要因素,为了扩大单片机的应用范围和领域,提高单片机自身的可靠性是一种有效方法。近年来,单片机的生产厂家在单片机设计上采用了各种提高可靠性的新技术,主要表现在一下几点:(1) EFT(Electrical Fast Transient)技术(2) 低噪音布线技术及驱动技术(3) 采用低频时钟总之,单片机在目前的发展形势下,表现出几大趋势: 可靠性及应用水平越来越高,和internet连接已是一种明显的走向; 所集成的部件越来越多; 功耗越来越低; 和模拟电路结合越来越多。 3.单片机选择AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Fl
11、ash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。3.1.2 AT89S52功能及特性AT89S52具有以下标准功能:4k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2
12、种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 与MCS-51单片机产品兼容 8K字节在系统可编程Flash存储器 10000次擦写周期 全静态操作:0Hz33Hz 三级加密程序存储器 32个可编程I/O口线 三个16位定时器/计数器 全双工UART串行通道 低功耗空闲和掉电模式 掉电后中断可唤醒 看门狗定时器 双数据指针 掉电标识符2. AT89S52各个管脚说明VCC:供电电压。 GND:接地。 P0 口:P0口是一个8位漏极开路的双向I/O
13、口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在 flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2
14、的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表3-1所示。在flash编程和校验时,P1口接收低8位地址字节。P2口:P2口为一个内部上拉电阻的8 位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的 管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给 出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在
15、FLASH编程和校验时接收高 八位地址信号和控制信号。表3-1 P1口的第二功能引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口作为AT89C52的一些特殊功能口,如表3-2所示:RST:
16、复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG: 当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期 输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。表3-2 P3的特殊功能
17、口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0 (记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通) /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA /VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA
18、将内部锁定 为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 3.1.3 单片机最小系统的实现介绍完以上的单片机系统的核心芯片之后,我们采用AT89C52来实现一个单片机系统能运行起来的需求最小的系统,电路图见图3.1 图3.1 单片机最小系统图上图由晶振电路和复位电路,AT89C52芯片组成,构成最小的单片机系统, 下面详细介绍其中的两个电路。1 晶振电路单片机工作的过程中各指令的微操作在时间上有严格的次序,这种微操作的时间
19、次序称作时序,单片机的时钟信号用来为单片机芯片内部各种微操作提供时间基准,89c52的时钟产生方式有两种,一种是内部时钟方式,一种是外部时钟方式。内部时钟方式即在单片机的外部接一个晶振电路与单片机里面的振荡器组合作用产生时钟脉冲信号,外部时钟方式是把外部已有的时钟信号引入到单片机内,此方式常用于多片89C52单片机同时工作,以便于各单片机的同步,一般要求外部信号高电平的持续时间大于20ns.且为频率低于12MHz的方波。对于CHMOS工艺的单片机,外部时钟要由XTAL1端引入,而XTAL2端应悬空。本系统中为了尽量降低功耗的原则,采用了内部时钟方式。电路图见图3.2:图3.2晶振电路图 在89
20、C52单片机的内部有一个震荡电路,只要在单片机的XTAL1和XTAL2引脚外接石英晶体(简称晶振)就构成了自激振荡器并在单片机内部产生时钟脉冲信号,图中电容器C1和C2稳定频率和快速起振,电容值在530pF,典型值是22pF,晶振CYS选择的是12MHz。2 .复位电路复位的意义单片机开始工作的时候,必须处于一种确定的状态,否则,不知哪是第一条程序和如何开始运行程序。端口线电平和输入输出状态不确定可能使外围设备误动作,导致严重事故的发生;内部一些控制寄存器(专用寄存器)内容不确定可能导致定时器溢出、程序尚未开始就要中断及串口乱传向外设发送数据.因此,任何单片机在开始工作前,都必须进行一次复位过
21、程,使单片机处于一种确定的状态。复位电路原理当在89C52单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。实际应用中,复位操作有两种基本形式:一种是上电复位,另一种是上电与按键均有效的复位,上电复位见图3.3,要求接通电源后,单片机自动实现复位操作。常用的上电复位电路如下图所示。上电瞬间RST引脚获得高电平,随着电容C1的充电,RST引脚的高电平将逐渐下降。 图3.3 上电复位电路图 RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。该电路典型的电阻和电容参数为:晶振为12MHz时,
22、C1为22uF:R1为8.2 ;振为6MHz时,C1为22uF,R1为1.本设计中复位电路采用的是开关复位电路,开关S9未按下是上电复位电路,上电复位电路在上电的瞬间,由于电容上的电压不能突变,电容处于充电(导通)状态,故RST脚的电压与VCC相同。随着电容的充电,RST脚上的电压才慢慢下降。选择合理的充电常数,就能保证在开关按下时是RST端有两个机器周期以上的高电平从而使AT89C52内部复位。开关按下时是按键手动复位电路,RST端通过电阻与VCC电源接通,通过电阻的分压就可以实现单片机的复位。电路图见图3.4: 图3.5 复位电路图3.2.1 数据采集系统(1)从传感器过来的电压信号,必须
23、放大,滤波,采集,转换才能被MCU识别和处理。由于假若每一路都设置放大、滤波等器件,那么成本会很大,所以信号的采集一般用多路模拟通路进行选择。然而选择多路模拟开关时必须考虑以下的几个因素:通道数量、切换速度、开关电阻和器件的封装形式。总之数据采集与硬件的选择有很大的关系。(2)甲醛传感器的选择甲醛传感器由甲醛探头CH20传感器组成。甲醛传感器/甲醛模块(CH2O传感器)详细介绍如下表3-3:(3)测量电路测量电路由CH20/S-10甲醛传感器,ADC0832组成。 甲醛传感器由甲醛探头和CH20传感器组成。当空气被内部的采样系统吸收后,产生一个与甲醛浓度成正比的电压信号, 该电压信号经AD08
24、32与AT89C52单片机相连,在显示器上显示出甲醛的浓度值,当超过国家规定的标准时报警。 表3-3 传感器参数表名称甲醛传感器 CH2O/S-10:测量范围0- 10 ppm最大负荷50ppm工作寿命空气中3年输 出1200300nA/ppm4-20mA(甲醛模块分辨率0.05 ppm温度范围-20 to 45压力范围大气压10%响应时间 (T 90) 50 seconds湿度范围-20 to 45零点输出 (纯净空体,20) 0.1 ppm最大零点漂移(20to 40)0.1 ppm长期漂移2% /每月推荐负载值10线性度输出线性重 量约32克3.2.2 模数转换的选择与简介实现A/D转换
25、的基本方法很多,有计数法、逐次逼近法、双斜积分法和并行转换法。由于逐次逼近式A/D转换具有速度,分辨率高等优点,而且采用这种方法的ADC芯片成本低,所以我们采用逐次逼近式A/D转换器。逐次逼近型ADC包括1个比较器、一个模数转换器、1个逐次逼近寄存器(SAR)和1个逻辑控制单元。逐次逼近型是将采样信号和已知电压不断进行比较,一个时钟周期完成1位转换,依次类推,转换完成后,输出二进制数。这类型ADC的分辨率和采样速率是相互牵制的。优点是分辨率低于12位时,价格较低,采样速率也很好。由于ADC0832模数转换器具有8位分辨率、双通道A/D转换、输入输出电平与TTL/CMOS相兼容、5V电源供电时输
26、入电压在05V之间、工作频率为250KHZ 、转换时间为32 微秒、一般功耗仅为15MW等优点,适合本系统的应用,所以我们采用ADC0832为模数转换器件。电路图见图3.5如下: ADC0832 具有以下特点: 8位分辨率; 双通道A/D转换; 输入输出电平与TTL/CMOS相兼容; 5V电源供电时输入电压在05V之间; 工作频率为250KHZ,转换时间为32S; 图3.5 模数转换电路图 一般功耗仅为15mW; 8P、14PDIP(双列直插)、PICC 多种封装; 商用级芯片温宽为0C to +70C,工业级芯片温宽为40C to +85C;芯片接口说明: CS_ 片选使能,低电平芯片使能。
27、 CH0 模拟输入通道0,或作为IN+/-使用。 CH1 模拟输入通道1,或作为IN+/-使用。 GND 芯片参考0 电位(地)。 DI 数据信号输入,选择通道控制。 DO 数据信号输出,转换数据输出。 CLK 芯片时钟输入。 Vcc/REF 电源输入及参考电压输入(复用)。 ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在05V之间。芯片转换时间仅为32S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过
28、DI 数据输入端,可以轻易的实现通道功能的选择。单片机对ADC0832 的控制原理:正常情况下ADC0832 与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI 并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK 输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第
29、1 个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2 位数据用于选择通道功能,(4)测量量程本系统的量程为0-10ppm。由于我所使用的是8位ADC0832,所以本系统的精度为:10ppm/256=0.039ppm。 3.2.3 按键选择与简介本系统应用有人机对话功能,该功能即能随时发出各种控制命令和数据输入以及和LCD连接显示运行状态和运行结果。键盘分为:独立式和矩阵式两类,每一类按其编码方法又可以分为编码和非编码两种。由于本系统只有UP、DOWN 、OK 、CANCEL 4个控制命令,所需按键较少,所以本系统选择独立式按键。电路图见图3.6: 图
30、3.6 按键电路图独立式按键是直接用I/O口线构成的单个按键电路。每个独立式按键占有一根I/O口线。各根I/O口线之间不会相互影响。在此电路中,按键输入部采用低电平有效,上拉电阻保证了按键断开时,I/O口线有确定的高电平,(AT89C52 .P1口内部接有上拉电阻)所以就不需要再外接上拉电阻。键盘抖动的消除:抖动的消除大致可以分为硬件削抖和软件削抖。硬件削抖是采用硬件电路的方法对键盘的按下抖动及释放抖动进行削抖,经过削抖电路后使按键的电平信号只有两种稳定状态。软件削抖的基本原理是当检测出键盘闭合时,先执行一个延时子程序产生数毫秒的延时,待接通时的前沿抖动消失后再判别是否有健按下。当按键释放时,
31、也要经过数毫秒延时,待后沿抖动消失后再判别键是否释放。由于应用硬件削抖还需要外加器件,成本相对较高,所以本系统选择软件延时削抖的方法。 3.2.4 外围扩充存储器基于AT89C52单片机具有8KB的程序存储器(ROM),256B的数据存储器(RAM),由于考虑到本系统的数据处理与存储所需的容量,现在需要扩充存储器的容量。在应用中要保存一些参数和状态,据了解基于EEPROM的存储芯片是一种很好的选择。我们选定了AT24C128存储器。电路图见图3.8:图3.7 外围扩充存储电路图 3.2.5 时钟芯片选择与简介因为此系统需要记录测量发生的时间,所以需要时钟芯片来记录不同人在不同时间的监测数据,因此我们在系统中加入了时钟芯片。对时钟芯片的要求首先
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1