请高手帮我分析以下延时程序所占的时钟周期。 求解释: 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单片机 汇编语言 延时程序 延时时间 |
|