我的日志
;片内RAM初始化子程序
IBCLR :MOV A,R0
MOV R1,A
CLR A
IBC1 :MOV @R1,A
INC R1
DJNZ R7,IBC1
RET
;片外RAM初始化子程序
EBCLR1 :MOV A,ADDPL
MOV DPL,A
MOV A,ADDPH
MOV DPH,A
CLR C
EBC11 :MOVX @DPTR,A
INC DPTR
DJNZ R7,EBC11
RET
;片外RAM初始化子程序(双字节个单元)
EBCLR2 :MOV A,ADDPL
MOV DPL,A
MOV A,ADDPH
MOV DPH,A
MOV A,R7
JZ EBC21
INC R6
EBC21 :CLR A
MOVX @DPTR,A
INC DPTR
DJNZ R7,EBC21
DJNZ R6,EBC21
RET
;内部RAM数据复制程序
;入口 :R0,R7
;占用资源:A
;堆栈需求:2字节
;出口 :R1
IBMOV :MOV A,R0
ADD A,R7
MOV R0,A
MOV A,R1
ADD A,R7
MOV R1,A
IBM1 :DEC R0
DEC R1
MOV A,@R0
MOV @R1,A
DJNZ R7,IBM1
RET
;外部RAM数据复制程序
;入口 :ADDPH,ADDPL,R7
;占用资源:ACC
;堆栈需求:2字节
;出口 :R0,R1
EBMOV1 :MOV A,ADDPL
ADD A,R7
MOV DPL,A
CLR A
ADDC A,ADDPH
MOV DPH,A
MOV A,R7
ADD A,R1
XCH A,R0
ADDC A,#00H
MOV P2,A
EBM11 :DEC R0
CJNE R0,#0FFH,EBM12
DEC P2
EBM12 :DEC DPL
MOV A,DPL
CJNE A,#0FFH,EBM13
DEC DPH
EBM13 :MOVX A,@R0
MOVX @DPTR,A
DJNZ R7,EBM11
RET
;外部RAM数据复制程序
;入口 :ADDPH,ADDPL,R6,R7
;占用资源:ACC
;堆栈需求:2字节
;出口 :R0,R1
EBMOV2 :MOV A,ADDPL
ADD A,R7
MOV DPL,A
MOV A,R6
ADDC A,ADDPH
MOV DPH,A
MOV A,R7
ADD A,R1
XCH A,R0
ADDC A,R6
MOV P2,A
MOV A,R7
JZ EBM21
INC R6
EBM21 :DEC R0
CJNE R0,#0FFH,EBM22
DEC P2
EBM22 :DEC DPL
MOV A,DPL
CJNE A,#0FFH,EBM23
DEC DPH
EBM23 :MOVX A,@R0
MOVX @DPTR,A
DJNZ R7,EBM21
DJNZ R6,EBM21
RET
;外部RAM数据复制到内部RAM程序
;入口 :ADDPH,ADDPL,R7
;占用资源:ACC
;堆栈需求:2字节
;出口 :R0
ITEMOV :MOV A,ADDPL
ADD A,R7
MOV DPL,A
MOV A,ADDPH
ADDC A,#00H
MOV DPH,A
MOV A,R0
ADD A,R7
MOV R0,A
ITEM1 :DEC R0
DEC DPL
MOV A,DPL
CJNE A,#0FFH,ITEM2
DEC DPH
ITEM2 :MOVX A,@DPTR
MOV @R0,A
DJNZ R7,ITEM1
RET
;限幅滤波程序
;入口 :A,SDAT,DELTY
;占用资源:B
;堆栈需求:2字节
;出口 :A
JUGFILT :MOV B,A
CLR C
SUBB A,SDAT
JNC JUGFT1
CPL A
INC A
JUGFT1 :SETB A
SUBB A,#DELTY
JNC JUGFT3
MOV A,SDAT
RET
JUGFT3 :MOV A,B
MOV SDAT,A
RET
;中位值滤波程序
;入口 :ADDPH,ADDPL,N
;占用资源:ESELSORT
;堆栈需求:4字节
;出口 :A
MEDFILT :LCALL ESELSORT
MOV A,N
CLR C
RRC A
ADD A,ADDPL
MOV DPL,A
MOV A,ADDPH
MOV DPH,A
JNC MEDFT1
INC DPH
MEDFT1 :MOVX A,@DPTR
RET
;N点算术平均滤波
;入口 :ADDPH,ADDPL,N
;占用资源:B,R3,R4
;堆栈需求:2字节
;出口 :A
AVFILT :MOV A,ADDPL
MOV DPL,A
MOV A,ADDPH
MOV DPH,A
CLR A
MOV R3,A
MOV R4,A
MOV R7,N
AVFT1 :MOVX A,@DPTR
INC DPTR
ADD A,R4
MOV R4,A
JNC AVFT2
INC R3
AVFT2 :DJNZ R7,AVFT1
MOV R7,N
MOV R2,#00H
LCALL NDIV31
MOV A,R4
RET
你可以通过这个链接引用该篇文章:http://cpudiy.bokee.com/viewdiary.16715892.html
个人形象