
题目中早亩裤的答案是错的。应该是:19960606 us
本题目的程序,共有耐圆三重循环,耗陆简时的精确计算方法,可见下图。
图中,还给出了用 keil 调试结果的画面。
包括调用指令的时间,共用了19960610 us。
DELAY 和 D1、D2是一个标号,相当是标记的地址。$标记的是本条指令地址。DJNZ <Rx>,Addr 是一个跳转指令,具体升败穗 *** 作是:
Rx=Rx-1
if Rx != 0
goto Addr
否则,往后执行
这一段代码其实就吵卜是一个多重循环,相当于 C 语言里的
for (i = 1i >0 i--) // i 相当于R5
for (j= 2j>0 j--) // j 相当于 R6
for (k=248k>0 k--) // k相当于 R7
{
_NOP() //每条汇编指令对应了一定的机器时间周期数(与具体型号有关),
DJNZ好像是3个机器周期,
一直在这循环打转,每执行一条指令就会花掉一定的时间,
所以起到延 时的作用枯谨
}
主要作用就是延时,数节拍数。在 单片机的教程定时器里都会有这样的范例。
不是,顺序是这样的先执行第一个For的第一遍循环,遇到到二个For时,进行循环,等第二个For循环全部祥答执行完后,再进行谨猜慧第一个For循环的第二遍,遇到到二个For时,再进行循环,等第二个For循环全部执行完后再运行第一个For循环的第三遍。兆卜。。。一直到第一个For循环全部执行完毕。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)