最簡(jiǎn)短且高效的脈沖輸出程序
設(shè)MCS-51單片機(jī)使用12MHz晶振,欲使用定時(shí)器在P1.0口產(chǎn)生占空比約30%,周期為60ms的脈沖。
;============================================
最佳答案:
ORG0000H
MOVTMOD,#01H
SETBTR0
LOOP:
MOVR2,#3
SETBP1.0
REPEAT:
MOVTH0,#(65536-20000)/256
MOVTL0,#(65536-20000)MOD256
JNBTF0,$
CLRTF0
CLRP1.0
DJNZR2,REPEAT
JMPLOOP
END
;============================================
;============================================
后記:
這里給出的程序,可以說是最簡(jiǎn)短且高效的脈沖輸出程序。
程序中的指令,僅僅11行,經(jīng)過編譯,長(zhǎng)度僅僅有26個(gè)字節(jié)!
程序的執(zhí)行速度、時(shí)間控制的精度,都是無與倫比的。
只有用匯編語言編寫程序,才能達(dá)到如此精練的水平。
有些人,用C編寫程序,編譯后發(fā)現(xiàn),單片機(jī)芯片的存儲(chǔ)空間的都不夠用的,呵呵
用C編寫較大些的程序,執(zhí)行的速度,更別提了。
建議,還是應(yīng)該掌握匯編語言。
本程序,也很容易修改維護(hù),改變周期、占空比,都是輕而易舉的事。
;============================================