系统实用程序.pptVIP

  • 8
  • 0
  • 约2.12万字
  • 约 62页
  • 2017-03-23 发布于江苏
  • 举报
系统实用程序

10.3 数据处理程序 2. 去极值平均滤波 指导思想: 连续采样n次后累加求和,同时找出其中的最大值与最小值,再从累加和中减去最大值和最小值,按n-2个采样值求平均,即可得到有效采样值。 为使平均滤波算法简单,n-2 应为2、4、6、8或16,故 n 常取4、6、8、10或18。 具体作法有两种: 对于快变参数,先连续采样n次,然后再处理,但要在RAM中开辟出n个数据的暂存区; 对于慢变参数,可一边采样,一边处理,而不必在RAM中开辟数据暂存区。 下面以n=4为例,即连续进行4次数据采样,去掉其中最大值和最小值,然后求剩下两个数据的平均值。 以n=4为例: 连续进行4次数据采样,去掉其中最大值和最小值,然后求剩下两个数据的平均值。 R2、R3存放最大值,R4、R5存放最小值,R6、R7存放累加和及 最后结果。 连续采样不只限4次,可以进行任意次,这时,只须改变R0中的数值。 程序清单: CLR A MOV R2,A ;0→最大值寄存器R2R3 MOV R3,A MOV R6,A ;0→累加和寄存器R6R7 MOV R7,A MOV R4,#3FH ;3FFFH→最小值寄存器R4R5 MOV R5,#0FFH MOV R0,#4H DAV1:LCALL RDXP ;读A/D→B,A(调采样子程序) MOV R1,A ;采样值低位暂存R1,高位在B ADD A,R7 MOV R7,A ;低位加到R7 MOV A,B ADDC A,R6 MOV R6,A ;高位加到R6,(R6R7)+(BA)→R6R7 CLR C MOV A,R3 SUBB A,R1 MOV A,R2 SUBB A,B JNC DAV2 ;输入值>(R2R3)? MOV A,R1 MOV R3,A MOV R2,B ;输入值→R2R3 DAV2:CLR C MOV A,R1 SUBB A,R5 MOV A,B SUBB A,R4 JNC DAV3 ;输入值<(R4R5)? MOV A,R1 MOV R5,A ;输入值→R4R5 MOV R4,B DAV3:DJNZ R0,DAV1 ;n-1=0? CLR C MOV A ,R7 SUBB A ,R3 XCH A ,R6 SUBB A ,R2 XCH A ,R7 SUBB A ,R5 XCH A ,R6 SUBB A,R4 ;n个采样值的累加和减去最大值和最小值,n=4 CLR C RRC A XCH A ,R6 RRC A MOVC R7,A ;剩下数据求平均值(除2) RET 10.3.3 标度变换(工程量变换) 生产现场的各种参数都有不同的数值和量纲,例如,温度单位用℃,压力用Pa(帕),流量用m3/s。 这些参数经A/D转换后,统一变为0~M个数码,例如,8位A/D转换器输

文档评论(0)

1亿VIP精品文档

相关文档