反汇编代码
C:01BC MOV R7,#0x14
C:01BE MOV R6,#0x14
C:01C0 DJNZ R6,C:01C0
C:01C2 DJNZ R7,C:01BE
C:01C4 MOV R7,#0xF8
C:01C6 DJNZ R7,C:01C6
MOV 单周期指令
DJNZ 双周期指令
如果单片机机器周期1us
则延时时间计算:
J次循环时间:
R6*2 = 20*2us = 40 us
i次循环时间:
(R6*2 + R6赋值 + 2 )*R7 = (40 + 1 + 2 )*20 = 860
K次循环时间:
R7*2 + R7赋值= 248*2us + 1us = 497us
总循环时间K次 + J + I +R7赋值 +程序返回 = 497 +40 +860 + 1 + 2 = 1400us
楼主可以看下汇编指令计算一下 对不对
|