設(shè)單片機的晶振頻率為12MHz,編寫一段延時程序約50ms的子程序
供參考的50ms延時子程序如下:Delay: MOV R7,#100 ;L1: MOV R6,#250 ;DJNZ R6,$ ; 內(nèi)循環(huán) 延時 2μs * 250 = 500μsDJNZ R7,L1; 外循環(huán) 延時(500 + 2 + 1) * 100 = 50300 μsRET ; 解析:單片機的晶振頻率為12MHz,則其時鐘周期為1/12μs,機器周期為12*(1/12μs)即1μs。而DJNZ指令是雙周期指令,,所以執(zhí)行一次要2μs,,MOV指令則為1μs,。上面程序通過空循環(huán)來實現(xiàn)軟件延時,,延時約為 50.3 mS,。
相關(guān)推薦
便查問答是一款實用的網(wǎng)絡(luò)熱門知識問答平臺,,專注于分享你不知道的知識、經(jīng)驗及生活問題,,在這里所有人都能找到答案歡迎網(wǎng)友參與討論,。