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