quote:以下是引用凌飞翼在2010-11-15 15:36:58的发言:
程序运行步骤详解
读数--需要滤波的数据(整型,取值范围-32000~32000)
表长--参与滤波计算数据区数据个数(长整型,取值范围4~64)
最大值--存储在数据区内的最大值
最小值--存储在数据区内的最小值
输出--数据区内去除最大值和最小值后的平均值
输出=(总和-最大值-最小值)/(表长-2)
前值--前一次的输出值
读入存储区特征单元16B。
读数大于数据区最大值时,如果最大值标志位=0,直接舍弃,令最大值标志位=1,直接输出前值。
读数大于数据区最大值时,如果最大值标志位=1,记入数据区。
读数小于数据区最小值时,如果最小值标志位=0,直接舍弃,令最小值标志位=1,直接输出前值。
读数大于数据区最小值时,如果最小值标志位=1,记入数据区。
记入数据:
读数写入当前指针指向的数据单元。
最小值标志位、最大值标志位复位。
将前值传递给最大值、最小值寄存器(实现最大值、最小值寄存器的初始化,该值在下面将要进行的比较、替换操作结束后得到数据区的最大值和最小值)。
当前指针如果已经是表尾,令当前指针指向数据区开始单元,否则下移。
累加数据区数据,同时与最大值、最小值寄存器比较,找出最大值、最小值。
从累加器减掉当前最大值,减掉当前最小值之后,用(数据个数-2)去除,得到平均值。
刷新存储区的特征单元16B。
这个说明我看不懂,您提供的附件我下载不了,请问可不可以麻烦你发到我的邮箱,我现在急用,麻烦你了。我的邮箱是zyl.615325@yahoo.com.cn
谢谢了