计算机应用系统方面的编程题

来源:百度知道 编辑:UC知道 时间:2024/05/27 06:25:30
对于中值滤波法,如果设n=3;3此采样值分别存放在R2、R3、R4中,中值存在R3中,试用51系列单片机汇编语言编写中值滤波程序。

我这里有个十一个数的中值滤波,是我毕设时用到的一个子程序。流程是先把这十一个数进行由小到大排序,再读取中间一个。希望对你有所帮助。

;滤波子程序(中值滤波) :EVR
;入口参数:50H--5AH
;出口参数:5AH
EVR: MOV R2,#10 ;对50H--5AH的11个数据进行中值滤波,存于5AH中
EVR2: MOV A,R2
MOV R3,A
MOV R0,#50H
EVR1: MOV A,@R0
INC R0
CLR C
SUBB A,@R0
JC EVR3
ADD A,@R0
XCH A,@R0
DEC R0
MOV @R0,A
INC R0
EVR3: DJNZ R3,EVR1
DJNZ R2,EVR2
MOV 5AH,55H ;取中值
RET