算术平均滤波
 
 所谓算术平均滤波就是把n个采样值相加,然后取其算术平均值作为本次有效的采样信号
 
 PUSH  PSW   ;现场保护 
 
       PUSH  A
 
       MOV   FLAG,#00H    ;进位位清零
 
       MOV   R0,DATA  ;设置数据存储区首址
 
       MOV   R7,#08H   ;设置采样数据个数
 
       CLR    A   ;清累加器
 
 LOOP: ADD   A,@R0     ;两数相加
 
       JNC     NEXT ;无进位,转NEXT
 
       INC     FLAG ;有进位,进位位加1
 
 NEXT: INC     R0 ;数据指针加1
 
       DJNZ  R7, LOOP ;未加完,继续加
 
       MOV   R7,#03H   ;设置循环次数
 
  
 
 DIVIDE:    MOV   TEMP,A    ;保存累加器中的内容
 
       MOV   A,FLAG   ;累加结果除2
 
       CLR    C 
 
       RRC   A
 
       MOV   FLAG,A 
 
       MOV   A,TEMP 
 
       RRC   A 
 
       DJNZ  R7,DIVIDE     ;未结束,继续执行 
 
       MOV   SAMP,A   ;保存结果至SAMP中
 
       POP    A   ;恢复现场
 
       POP    PSW 
 
       RET 
 
  
 
        
        
 导航:
 导航: