51微控制器組合語言--延時程式的延時時間
請高手幫我分析以下延時程式所佔的時鐘週期。
提問時間:| 2011-4-22 23:36
求解釋:
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。
;-----------------------------------------------------
回答時間:2011-4-23 13:01
回答者: 做而論道 | 十四級 採納率:43% 名人 達人
提問者對於答案的評價:夠詳細!!
原題網址:http://zhidao.baidu.com/question/256771736.html
;-----------------------------------------------------