中值滤波与均值滤波微机原理与接口技术实验报告一、实验内容1. 在数据段设变量数组 TADA1 和 TADA2,并存入假设的两组采样值作为某一采样周期的采样值。⒉ 设计中值滤波程序求出测量值。⒊ 设计均值滤波程序求出测量值。 ⒋ 每个程序应能将结果显示在屏幕上。⒌ 在计算机上调试程序,并获得正确结果。二、程序框图1. 均值滤波: 开始 结束2. 中值滤波:用冒泡法将数据从小到大排列删除最大值和最小值剩余数值求和取平均值结果输出在屏幕上开始 结束三、程序清单1、 中值滤波: DATAS SEGMENT TADA1 DB 65,72,33,84,43 N EQU $-TADA1DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS MOV DS,AX ;给 DS 段赋值 MOV CX,N-1 ;设置 N-1 轮比较次数 MOV DX,1 ;设置比较的轮次 AG: CALL MP ;调用子程序 INC DX LOOP AG MOV SI,0XOR AX,AX ;将 AX 清零 MOV AL,TADA1[SI+(N-1)/2] ;取出中值 MOV BL,10DIV BLPUSH AXADD AL,30HMOV DL,AL MOV AH,2 INT 21H ;输出十进制数的高位POP AX用冒泡法将数据从小到大排列取出位于中间位置的值结果输出在屏幕上ADD AH,30HMOV DL,AHMOV AH,2 INT 21H ;输出十进制数的低位 MOV AH,4CH INT 21HMP PROC ;冒泡法(从小到大排列) PUSH CX MOV CX,N SUB CX,DX MOV SI,0RECMP: MOV AL,TADA1[SI] CMP AL,TADA1[SI+1] ;比较相邻两数据的大小 JLE L1 ;若前者小于等于后者,跳转到 L1 XCHG AL,TADA1[SI+1] ;若前者大于后者,则两者交换 XCHG AL,TADA1[SI]L1: INC SI LOOP RECMP POP CX RETMP ENDPCODES ENDSEND START2、 均值滤波:(1)置入数据: DATAS SEGMENT TADA2 DB 65,72,33,84,43 N EQU $-TADA2DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS MOV DS,AX ;给 DS 段赋值 MOV CX,N-1 ;设置 N-1 轮比较次数 MOV DX,1 ;设置比较的轮次 AG: CALL MP ;调用子程序 INC DX LOOP AG MOV SI,0 AND TADA2[SI],0 ;将最小值清零 AND TADA2[SI+N-1],0 ;将最大值清零 MOV CX,N MOV AL,TADA2[SI] MOV AH,0 MOV BL,N-2SUM: ADD AL,TADA2[SI+1] ;剩余数据求和 INC SI LOOP SUM DIV BL ;求平均值 MOV BL,10 DIV BL PUSH AXADD AL,30HMOV DL,AL MOV AH,2 INT 21H ;输出十进制数的高位POP AXADD...