新闻中心

EEPW首页 > 测试测量 > 设计应用 > 基于EFM32TG840F16 MCU的室内甲醛检测仪设计

基于EFM32TG840F16 MCU的室内甲醛检测仪设计

作者:时间:2012-04-24来源:网络收藏

图 2:主程序结构框图
图 2:主程序结构框图

系统上电后,进行初始化和中断处理操作,主要完成系统自检和复位。初始化完成后,开始采样浓度值,并判断是否有按键按下。如果有按键按下,则进行相应数据处理,并执行功能指令,然后在液晶显示屏上显示相应信息。如果没有按键按下,则显示当前实测浓度值,等待用户进行下一步操作,系统转入定时计时阶段。

2.2 低功耗中断子程序

为减小系统功耗,延长电池的使用时间,设计时考虑设备在较长时间段内处于待机状态时,应尽量降低功耗。系统设计低功耗中断子程序(见图3)

图3:低功耗中断子程序结构框图
图3:低功耗中断子程序结构框图

这里采用一个定时器。当定时器大于0 时,系统处于开机状态;当定时器倒数到0 时,系统自动进入低功耗模式,并关闭LCD 模块和A/D 模块。其中定时器是通过软件对控制寄存器进行设置实现的。具体操作是这样:开机时,对定时器初始化一个大于0 的值,比如60,并且在每按一次有效键时,系统重新初始化这个值。因此,当没有按任何有效键时,60s 后就会自动进入休眠状态,从而实现降耗目的。在休眠期间,若有按键按下,微处理器响应中断,系统退出休眠状态,返回到正常工作状态。

2.3 采样数据处理子程序

为提高检测精度,采样数据处理软件设计是关键。系统采用采样数据排队与中值滤波法。数据排队就是在给定的数据暂存区内不断地用最新数据取代最早数据的过程;利用软件进行数据排队具有通用性和灵活性。原理(见图4)。

图4:采样数据更新排队的双倍暂存区扩展法
图4:采样数据更新排队的双倍暂存区扩展法

由图4 可见, 将暂存区的空间扩大为需要保存数据空间的2 倍, 并将暂存区等分为前后相连的2 个区, 每个区的长度与需保存数据长度相等。当前采样得到的一组新数据同时存入2 个区的对应位置,这样2 组相同采样数据之间刚好间隔1 个区的长度, 间隔内的全部数据连同最后1 个最新数据即为当前排队结果。以后每组新采样数据依次向后存入暂存区, 存满后再从头开始。每次采样周期中完成相应的排队更新任务后记下当前队列的首(或末)地址作为指针并保存,供处理程序取数时使用,这样一来就满足实时排序的要求。

对排队后的数据采取中位值滤波算法。算法的具体实现过程:取N 个连续采样数据,并按照递增或递减顺序排列,取中间值作为本次采样值。中位值滤波算法能有效地克服因偶然因素引起的干扰或波动而产生的误差。即提高系统的检测精度。

3 结束语

本甲醛检测仪采用32TGF16 单片机作为核心控制单元,电路结构简单、外设功能模块丰富,功耗低,待机时间长,支持IAP 功能,软件升级方便,另外该MCU 性能强劲,可升级空间极大。

网线测试仪相关文章:网线测试仪原理

上一页 1 2 下一页

关键词: 840F EFM 840 F16

评论


相关推荐

技术专区

关闭