根据网上资料所写
delay: ;延时子程序 11.059Mhz,延时0.142s
mov r7,#00 ;12 clock 外循环的次数
dly:mov r6,#00 ;12 clock 内循环的次数
djnz r6,$ ;24clock 共执行256次
djnz r7,dly ;24clock 外循环 共执行256次
ret ;12 clock
如果系统使用的石英振荡频率为11.0592MHz,每个clock所要的时间为0.09uS
内循环要执行256次,外加第一次设置R6,共用了256X24+12=6156clock
外循环也是执行了256次,外加第一次设置R7,共用了256X6156+12=1575948次
调用延时程序一次所用的时间=1775948+12=1575960clock
11.059Mhz的为0.142s
本文详细解析了一个基于11.0592MHz石英振荡频率的延时程序实现原理。通过计算内外循环的执行次数及总耗时,得出调用一次延时程序所需的具体时间。
2176

被折叠的 条评论
为什么被折叠?



