资源描述:
《中值滤波与均值滤波.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、四川大学电气信息学院微机原理与接口技术实验报告实验名称:中值滤波与均值滤波实验地点:二基楼A514年级:2014级姓名:宋雅婕学号:2014141443030实验时间:2016年5月27日一、实验内容1.在数据段设变量数组TADA1和TADA2,并存入假设的两组采样值作为某一采样周期的采样值。⒉设计中值滤波程序求出测量值。⒊设计均值滤波程序求出测量值。⒋每个程序应能将结果显示在屏幕上。⒌在计算机上调试程序,并获得正确结果。二、程序框图1.均值滤波:开始用冒泡法将数据从小到大排列删除最大值和最小值剩余数值求和取平均值结果输出在
2、屏幕上结束2.中值滤波:开始用冒泡法将数据从小到大排列取出位于中间位置的值结果输出在屏幕上结束一、程序清单1、中值滤波:DATASSEGMENTTADA1DB65,72,33,84,43NEQU$-TADA1DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AX;给DS段赋值MOVCX,N-1;设置N-1轮比较次数MOVDX,1;设置比较的轮次AG:CALLMP;调用子程序INCDXLOOPAGMOVSI,0XORAX,AX;将AX清零MOV
3、AL,TADA1[SI+(N-1)/2];取出中值MOVBL,10DIVBLPUSHAXADDAL,30HMOVDL,ALMOVAH,2INT21H;输出十进制数的高位POPAXADDAH,30HMOVDL,AHMOVAH,2INT21H;输出十进制数的低位MOVAH,4CHINT21HMPPROC;冒泡法(从小到大排列)PUSHCXMOVCX,NSUBCX,DXMOVSI,0RECMP:MOVAL,TADA1[SI]CMPAL,TADA1[SI+1];比较相邻两数据的大小JLEL1;若前者小于等于后者,跳转到L1XCHGA
4、L,TADA1[SI+1];若前者大于后者,则两者交换XCHGAL,TADA1[SI]L1:INCSILOOPRECMPPOPCXRETMPENDPCODESENDSENDSTART1、均值滤波:(1)置入数据:DATASSEGMENTTADA2DB65,72,33,84,43NEQU$-TADA2DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AX;给DS段赋值MOVCX,N-1;设置N-1轮比较次数MOVDX,1;设置比较的轮次AG:C
5、ALLMP;调用子程序INCDXLOOPAGMOVSI,0ANDTADA2[SI],0;将最小值清零ANDTADA2[SI+N-1],0;将最大值清零MOVCX,NMOVAL,TADA2[SI]MOVAH,0MOVBL,N-2SUM:ADDAL,TADA2[SI+1];剩余数据求和INCSILOOPSUMDIVBL;求平均值MOVBL,10DIVBLPUSHAXADDAL,30HMOVDL,ALMOVAH,2INT21H;输出十进制数的高位POPAXADDAH,30HMOVDL,AHMOVAH,2INT21H;输出十进制数的
6、低位MOVAH,4CHINT21HMPPROC;冒泡法(从小到大排列)PUSHCXMOVCX,NSUBCX,DXMOVSI,0RECMP:MOVAL,TADA2[SI]CMPAL,TADA2[SI+1];比较相邻两数据的大小JLEL1;若前者小于等于后者,跳转到L1XCHGAL,TADA2[SI+1];若前者大于后者,则两者交换XCHGAL,TADA2[SI]L1:INCSILOOPRECMPPOPCXRETMPENDPCODESENDSENDSTART(2)键入数据:DATASSEGMENTD1DB'pleaseinput
7、numbers',0DH,0AH,'$'D2DB30DUP(0)DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXLEADX,D1MOVAH,9INT21HLEASI,D2MOVBX,0J1:MOVAH,1INT21HCMPAL,0DHJZJ2SUBAL,30HMOV[SI],ALINCSIINCBXLOOPJ1J2:MOVCX,BXDECCXMOVDX,0001AG:CALLMPINCDXLOOPAGMOVSI,0ANDD2[SI],0
8、;将最小值清零DECBXANDD2[SI+BX],0;将最大值清零DECBXXORAX,AXMOVAL,BYTEPTRD2[SI]MOVCX,BXSUM:ADDAL,D2[SI+1];剩余数据求和INCSILOOPSUMDIVBLADDAL,30HMOVDL,ALMOVAH,2INT21H