51单片机汇编语言--延时程序的延时时间 -
来源: 网络用户发布,如有版权联系网管删除 2018-09-06
[导读]
请高手帮我分析以下延时程序所占的时钟周期。求解释:DELAY: MOV R6, #13DELAY1: MOV R5, #250DELAY2: NOP DJNZ R5, DELAY2 DJNZ R6, DELAY1 RET问题补充:晶振为12MHz,机器周期即是1us。;-----------
请高手帮我分析以下延时程序所占的时钟周期。
本文引用地址: http://www.21ic.com/app/mcu/201806/764351.htm
求解释:
DELAY: MOV R6, #13
DELAY1: MOV R5, #250
DELAY2: NOP
DJNZ R5, DELAY2
DJNZ R6, DELAY1
RET
问题补充:晶振为12MHz,机器周期即是1us。
;-----------------------------------------------------
最佳答案:
DELAY: MOV R6,#13 ;1
DELAY1: MOV R5,#250 ;1
DELAY2: NOP ;1
DJNZ R5,DELAY2 ;2 250 * (1 + 2) = 750
DJNZ R6,DELAY1 ;2 13 * (1 + 750 + 2) = 9789
RET ;2 1 + 9789 + 2 = 9792
加上调用指令,共用 9794 个机器周期。
当晶振频率为 12MHz,则延时时间为 9794 us。
查看评论 回复
"51单片机汇编语言--延时程序的延时时间 -"的相关文章
- 上一篇:一个 51 单片机的编程题 -
- 下一篇:最简短且高效的中断处理程序 -