- 采用晶振为12MHz的单片机,其一个机器周期为1us;
- DJNZ指令为双周期指令;
- MOV Rn,#data为单周期指令。
- 整个程序延时时间计算如下:1+10×(1+200×(1+248×2+2)+2)=998031个机器周期,一个机器周期1us,共0.998s,约等于1s.
- 最内层循环执行寄存器R7自减计数248次,每次2周期,体现为T3=248×2=496;
- 次内层循环执行200次,除了执行最内层循环以外,还有初始化最内层循环寄存器R7以及对本循环寄存器R6自减计数等操作,体现为T2=200×(1+T3+2)=99800;
- 最外层循环执行10次,分析过程和次内层相同,时间体现为T1=10×(1+T2+2)=998030;
- 最终时间为1+T1=998031us ≈ 1s.
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!