全球旧事资料 分类
41所示:
开始
初始化
传感器预热、故障检测
键盘处理
是否按下模式切换NAD转换
Y
报警限设置
平均值法滤波
线性化处理
Y是否超过报警限N浓度显示报警子程序
设置指示灯状态
图41
主程序流程图
第15页
f首先要给传感器预热三分钟,因为传感器需要预热一段时间才能正常采集烟雾和温度信息。预热同时,对传感器加热丝故障检测,采用软件方式检测传感器加热丝或电缆线是否断线或者接触不良。程序初始化结束后,系统进入监控状态。AT89S52单片机对传感器检测到的烟雾浓度和温度信号进行AD转换、平均值法滤波、线性化处理后,将检测值与报警限设定值相比较,判断是否报警。同时送入显示器显示通道及相应的数字量。主程序还包括状态指示灯及按键功能,中断子程序等,使报警器功能更加完善,给用户带来便利。
42
主程序初始化流程图
主程序初始化流程图如图32所示。这部分实现的功能包括各种IO输入输
出状态的设定、寄存器初始化、中断使能等。首先设定定时器工作方式,然后开系统中断,以便响应中断定时,及时对气体浓度和温度进行采样。然后关闭蜂鸣器,开启绿灯,设置报警限初值。
开始
定时器初始化
开中断
关闭蜂鸣器,打开绿灯N是否保持报警初值Y返回设定初值
图42
主程序初始化流程图
43
滤波子程序
在对气体浓度采样时,可能会遇到尖脉冲干扰的现象。干扰通常只影响个别
第16页
f采样点的数据,此数据与其他采样点的数据相差比较大。如果采用一般的平均值法,则干扰将“平均”到计算结果上去,故平均值法不易消除由于脉冲干扰而引起的烟雾浓度采样值的偏差。为此,可采取去极值平均滤波法,先对N个采样数据进行比较,去掉其中的最大值和最小值,然后计算余下的N2个数据的算术平均值。这种方法既可滤去脉冲干扰又可滤去小的随机干扰。保证报警器检测烟雾浓度的准确性,减小误报、错报的可能。
开始
设定采样次数
调用AD采样N已达到设定次数Y将采样值排序
求第二个到第九个采样值的累加和
将累加和求平均值
送入寄存器
图44
滤波子程序流程图
44
线性化子程序
本论文报警器使用的TGS202型传感器的电阻是随着可燃气体浓度值的升
高而降低的,因此输入单片机的电压也是随之降低的。电压值与气体浓度之间是
第17页
f非线性的关系,为了实时显示烟雾浓度需要对其进行线性化处理。在误差许可范围内,根据标定曲线形状,以及单片机处理能力,把曲线分成若干小段,对每小段分别线性化根据分段线性插值法求输入r
好听全球资料 返回顶部