怎样计算软件延时时间?

2019-07-16 07:09发布

C8051F021  晶振用 11.0592MHz
延时子程序  
DELAY  :  MOV  R7,#10H
DELAY1:  MOV  R6,#0FFH
                 DJNZ  R6,$
                 DJNZ  R7,DELAY1
                 RET
这个子程序延时大概多少?如果能告诉我方法,更感激不过了!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
lirongqing
1楼-- · 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,别算错了.
leebilly007
2楼-- · 2019-07-16 12:45
楼上正解。。。哈哈
离“炫”的心
3楼-- · 2019-07-16 14:54
 精彩回答 2  元偷偷看……
hzmy5
4楼-- · 2019-07-16 15:19
楼上正解顶
憧憬明天
5楼-- · 2019-07-16 19:56
{:1:}{:1:}

一周热门 更多>