怎样计算软件延时时间?

2019-07-16 07:09发布

C8051F021  晶振用 11.0592MHz
延时子程序  
DELAY  :  MOV  R7,#10H
DELAY1:  MOV  R6,#0FFH
                 DJNZ  R6,$
                 DJNZ  R7,DELAY1
                 RET
这个子程序延时大概多少?如果能告诉我方法,更感激不过了!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
lirongqing
2019-07-16 12:14
教你怎么算,假设晶振是12MHz,经单片机12分频后,是1MHz,即单片机运行一个机器周期的时间是1us.
执行 MOV  R7,A 指令,一次要1个机器周期,你让它循环几次,就乘以几倍
MOV  R6,#0FFH   这个也是每次1个机器周期
                 DJNZ  R6,$    每次2个机器周期
                 DJNZ  R7,DELAY1  每次2个机器周期
                 RET   每次2个机器周期
计算出总的机器周期,乘以1us,就是延时时间了.当然,你的是11.0592Mhz,别算错了.

一周热门 更多>