51單片機(jī)匯編語言-延時(shí)程序的延時(shí)時(shí)間
請高手幫我分析以下延時(shí)程序所占的時(shí)鐘周期。
求解釋:
DELAY: MOV R6, #13
DELAY1: MOV R5, #250
DELAY2: NOP
DJNZ R5, DELAY2
DJNZ R6, DELAY1
RET
問題補(bǔ)充:晶振為12MHz,機(jī)器周期即是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
加上調(diào)用指令,共用 9794 個(gè)機(jī)器周期。
當(dāng)晶振頻率為 12MHz,則延時(shí)時(shí)間為 9794 us。