|
匯編語言延時時間的計算:
DELAY: MOV R0,#0FFH ;當(dāng)晶振為12MHz時 MOV R1,#0FFH ;一個機(jī)器周期為1微秒 DLY_LP: NOP ;1 周期 NOP ;1 周期 DJNZ R0,DLY_LP ;2 周期 ;內(nèi)循環(huán)延時時間為(1+1+2)255 MOV R0,#0FFH ;1 周期 DJNZ R1,DLY_LP ;2 周期 ;外循環(huán)延時時間=[內(nèi)循環(huán)延時時間+1+2]255 RET 晶振為12MHz時: 延時時間=[(1+1+2)255+1+2]255×12/12=260.865ms 晶振為11.0592MHz時: 延時時間=[(1+1+2)255+1+2]255×12/11.0592=283.056ms 一個機(jī)器周期共有12個振蕩器周期。 如果振蕩器的頻率為12MHz,一個振蕩器周期為1/12微秒,一個機(jī)器周期為12/12=1微秒。 如果振蕩器的頻率為11.0592MHz,一個振蕩器周期為1/11.0592微秒,一個機(jī)器周期為12/11.0592=1.085微秒。 |
|
|