中值滤波与均值滤波微机原理与接口技术实验报告.docxVIP

  • 0
  • 0
  • 约3.79千字
  • 约 7页
  • 2026-01-20 发布于山西
  • 举报

中值滤波与均值滤波微机原理与接口技术实验报告.docx

中值滤波与均值滤波微机原理与接口技术实验报告

实验内容

在数据段设变量数组TADA1和TADA2,并存入假设的两组采样值作为某一采样周期的采样值。

=2\*GB1⒉设计中值滤波程序求出测量值。

=3\*GB1⒊设计均值滤波程序求出测量值。

=4\*GB1⒋每个程序应能将结果显示在屏幕上。

=5\*GB1⒌在计算机上调试程序,并获得正确结果。

程序框图

均值滤波:

开始

用冒泡法将数据从小到大排列

用冒泡法将数据从小到大排列

删除最大值和最小值

删除最大值和最小值

剩余数值求和取平均值

剩余数值求和取平均值

结果输出在屏幕上

结果输出在屏幕上

结束

中值滤波:

开始

用冒泡法将数据从小到大排列

用冒泡法将数据从小到大排列

取出位于中间位置的值

取出位于中间位置的值

结果输出在屏幕上

结果输出在屏幕上

结束

程序清单

中值滤波:

DATASSEGMENT

TADA1DB65,72,33,84,43

NEQU$-TADA1

DATASENDS

CODESSEGMENT

ASSUMECS:CODES,DS:DATAS

START:

MOVAX,DATAS

MOVDS,AX;给DS段赋值

MOVCX,N-1;设置N-1轮比较次数

MOVDX,1;设置比较的轮次

AG:

CALLMP;调用子程序

INCDX

LOOPAG

MOVSI,0

XORAX,AX;将AX清零

MOVAL,TADA1[SI+(N-1)/2];取出中值

MOVBL,10

DIVBL

PUSHAX

ADDAL,30H

MOVDL,AL

MOVAH,2

INT21H;输出十进制数的高位

POPAX

ADDAH,30H

MOVDL,AH

MOVAH,2

INT21H;输出十进制数的低位

MOVAH,4CH

INT21H

MPPROC;冒泡法(从小到大排列)

PUSHCX

MOVCX,N

SUBCX,DX

MOVSI,0

RECMP:

MOVAL,TADA1[SI]

CMPAL,TADA1[SI+1];比较相邻两数据的大小

JLEL1;若前者小于等于后者,跳转到L1

XCHGAL,TADA1[SI+1];若前者大于后者,则两者交换

XCHGAL,TADA1[SI]

L1:

INCSI

LOOPRECMP

POPCX

RET

MPENDP

CODESENDS

ENDSTART

均值滤波:

(1)置入数据:

DATASSEGMENT

TADA2DB65,72,33,84,43

NEQU$-TADA2

DATASENDS

CODESSEGMENT

ASSUMECS:CODES,DS:DATAS

START:

MOVAX,DATAS

MOVDS,AX;给DS段赋值

MOVCX,N-1;设置N-1轮比较次数

MOVDX,1;设置比较的轮次

AG:

CALLMP;调用子程序

INCDX

LOOPAG

MOVSI,0

ANDTADA2[SI],0;将最小值清零

ANDTADA2[SI+N-1],0;将最大值清零

MOVCX,N

MOVAL,TADA2[SI]

MOVAH,0

MOVBL,N-2

SUM:

ADDAL,TADA2[SI+1];剩余数据求和

INCSI

LOOPSUM

DIVBL;求平均值

MOVBL,10

DIVBL

PUSHAX

ADDAL,30H

MOVDL,AL

MOVAH,2

INT21H;输出十进制数的高位

POPAX

ADDAH,3

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档