[DELY]:通用延时子程序
[地址]:7FEBH - FFEBH
[功能]:延时
[入口]:延时常数放在 R2 寄存器中。时间常数 N(十六进制)所对应的延时时间(6MZH 晶振时)见下表:
[出口]:R2=0
[占用寄存器]:R2
[调用]:无
例:延时1 秒子程序
MOVR2,#18H
LCALL 7FEBH
RET
ORG7FEBH;通用延时子程序(07EBH & 0FEBH & ...)
L7FEB:PUSH02H;R2(复位后R2即为 02H)存放时间常数,进栈保护
L7FED:PUSH02H; R2 进栈保护
L7FEF:PUSH02H; 进栈
L7FF1:DJNZR2,$;R2 不为零等待
POP02H;出栈
DJNZR2,L7FEF; R2 不为零转
POP02H; 出栈
DJNZR2,L7FED; R2 不为零转
POP02H; 出栈
DJNZR2,L7FEB; R2 不为零转
RET;子程序返回
END
N(十六进制数)T(机器周斯)T(秒) 子程序地址
1110.000044
C27280.010912
18263230.1052922800
1D508380.2033522808
21803230.3212922810
241096660.4386642818
261332480.5329922820
281604310.6417242828
291754810.7010242830
2E2671461.0685842838
375168362.0673442840
3D7603663.0414642848
4210216814.0867242850
4612750165.1000642858
54254387810.1755122860
65514443620.5777442868
70765405330.6162122870
78998649139.9459642878
7F1243215849.7286322880
982495608399.8243322888
A937708623150.83453
B650353668201.414672890
CA75697683302.790732898
D9100218410400.8736528A0
E6125909940503.6397428A8
F1151248830605.0353228B0
FF188839490755.35794
0191768000767.07228B8