📄
字号:
;##############################################################
PROC YS_S,YS_MS
;********************************
; 延时s (调试通过)
;********************************
;入口 A=延时数据(秒)
;--------------------------------
YS_S:
PUSH PSW
PUSH ACC
PUSH B
MOV B,A
MOV A,R1
PUSH A
MOV A,R2
PUSH A
MOV R2,B
YS_S0:
MOV R1,#05
MOV A,#200
YS_S1:
LCALL YS_MS
DJNZ R1,YS_S1
DJNZ R2,YS_S0
;----------
POP ACC
MOV R2,A
POP ACC
MOV R1,A
POP B
POP ACC
POP PSW
RET
include "软件陷阱.asm"
;********************************
; 延时ms (调试通过)
;********************************
;入口 A=延时数据,ms
;--------------------------------
YS_MS:
PUSH PSW
PUSH ACC
PUSH B
MOV B,A
MOV A,R0
PUSH A
MOV A,R1
PUSH A
MOV A,R2
PUSH A
MOV R2,B
YS_MS0:
IF JTPL=40 ;晶体频率
MOV R1,#07H
MOV R0,#7AH
ENDIF
IF JTPL=36 ;晶体频率
MOV R1,#06H
MOV R0,#0D4H
ENDIF
IF JTPL=33 ;晶体频率
MOV R1,#06H
MOV R0,#5FH
ENDIF
IF JTPL=24 ;晶体频率
MOV R1,#04H
MOV R0,#0E2H
ENDIF
IF JTPL=22 ;晶体频率
MOV R1,#04H
MOV R0,#94H
ENDIF
IF JTPL=20 ;晶体频率
MOV R1,#04H
MOV R0,#3BH
ENDIF
IF JTPL=18 ;晶体频率
MOV R1,#03H
MOV R0,#0E9H
ENDIF
IF JTPL=12 ;晶体频率
MOV R1,#02H
MOV R0,#0F0H
ENDIF
IF JTPL=11 ;晶体频率
MOV R1,#02H
MOV R0,#0C9H
ENDIF
IF JTPL=10 ;晶体频率
MOV R1,#02H
MOV R0,#9DH
ENDIF
YS_MS1:
DJNZ R0,$
DJNZ R1,YS_MS1
DJNZ R2,YS_MS0
;----------
POP ACC
MOV R2,A
POP ACC
MOV R1,A
POP ACC
MOV R0,A
POP B
POP ACC
POP PSW
RET
include "软件陷阱.asm"
;********************************
END
;##############################################################
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -