众所周知,房屋装修、劣质家具等所留有害气体主要为甲醛,中华人民共和国国家标准(居室空气中甲醛的卫生标准)规定:居室空气中甲醛的最高容许浓度为0.08 mg/m3,超过这个标准就会对人体产生危害。因此人们迫切需要一种能方便地检测室内残留甲醛含量的设备,以使生活更加方便和安全。
本文在经过大量的资料调研后,设计了一种基于ST89C52RC单片机的检测室内气体中所含甲醛含量的检测系统。该检测系统不仅能实时显示甲醛含量,而且当甲醛超标时还有语音报警的功能。
1 STS9C52RC单片机特点
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机内存RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。
本系统采用的是STC公司生产的STC89C52RC型单片机。S7C89C52RC是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序内存和512 bytes的随机存取数据存储器(RAM),器件采用STC公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,STC89C52RC单片机在电子行业中有着广泛的应用。STC89C52RC单片机各引脚功能如图1所示。
2 基于STC89C52RC单片机的检测系统设计与实现
以STC89C52RC为核心的检测系统的硬件组成图如图2所示。
本系统主要分为:主控制模块、数据采集模块、显示模块、报警模块和人机交互模块。
主控制模块选用的是STC89C52RC单片机。封装形式是双列直插式的。主控制模块其实就是单片机最小系统,包括电源电路,晶振电路,复位电路和P0口的上拉电阻。其中本系统的电源采用两种供电方式,直流电池供电和USB电源线供电。当选用直流电池供电时,采用7805芯片进行稳压。
数据采集模块选用的是化学传感器MQ138型传感器,并结合模数转换器ADC0809进行模数转换。
显示模块采用的是液晶LCD12864,本设计选用的是带字库的上下分屏液晶。这种液晶显示汉字简单,方便,主要用来显示甲醛的浓度。
报警模块采用语音和蜂鸣器双重报警。当甲醛的浓度超过正常的甲醛浓度时,语音报警并且蜂鸣器也会响铃报警,这两种报警方式都是属于听觉报警。而且蜂鸣器的响铃报警设置了三个响铃频率。系统会根据不同浓度值选择不同频率的响铃。浓度越高,响铃频率越高。
人机交互模块的实现是采用简单的三个按键,定义为确认键,人工报警键(以后称报警键)和响铃键。确认键的功能就是当系统上电启动时,需要按下确认键才可以检测到甲醛的浓度并显示。返回键的功能是当按下返回键,系统退出,并提示关闭电源。报警键的功能就是当按下报警键时,系统的蜂鸣器会选择三个频率中中间的那个频率响铃。
本系统以单片机为控制中心,利用甲醛传感器采集室内甲醛含量的数据,传感器采集的数据经外围放大电路放大,此放大信号经AD转换器转换为单片机可识别的信号,信号经由单片机处理显示在LCD上,当浓度超标时单片机控制报警电路报警,语音和蜂鸣器同时报警。
3 软件实现
主程序实现的功能:与硬件相结合实现室内甲醛检测仪的各个功能。主要是检测与显示,数据存储,功能子函数的调用。主程序控制整个程序的流程。主程序也就是程序的入口,所以一般进入主程序之后最先做的事情就是一些初始化的动作,将CPU初始化,将外设初始化,使其都处于可用状态。紧跟其后的就是整个系统的逻辑结构处理。本系统在最开始的时候初始化了CPU、定时器、及LCD12864的初始化。之后才进行系统结构的逻辑处理。主程序的流程图如图3所示。
4 实验结果分析
经过测试,该系统硬件正常工作,软件能稳定运行。成功地实现了甲醛检测并报警的功能。该系统能够满足生活需要,携带方便、体积小,质量轻,性价比高。
该系统的设计主要分为硬件和软件两部分。硬件部分主要根据系统所要实现的功能而设计出相应的功能模块。硬件系统中所包含的功能模块有:数据采集模块、数据转换模块、显示模块、报警模块、按键模块,将这几个模块组合搭建而成整体的硬件电路。
软件是基于C语言编写的,结合了编写语言的优点,具有很好的可控性、模块化和移植性。编写的思路就是模块化的思想,原则是高内聚、低耦合。将系统的各个功能进行划分,然后对各个模块进行设计。再将设计的模块整合形成整个软件设计部分。
本设计经过设计、仿真、制板和焊接最终做出了实物,并且与市场上同功能的检测仪器进行了对比试验,最终证明本系统能得出较准确的甲醛测试浓度,精度能达到0.001 ppm,图4为利用本系统的一个测试实例。