|
|
本帖最后由 yzwzfyz 于 2019-6-13 08:22 編輯
1、用定時器做一個1T中斷。
2、設(shè)置一個周期寄存器C,假設(shè)你需要的周期是100T,你就讓C=100。
3、設(shè)置一個占空比寄存器P,假設(shè)你需要的占空比是70,你就讓P=70。
關(guān)鍵點(方案):
定時器每次中斷后將C-1,如果P<>0,再將P-1,否則P不動!
1、當(dāng)C-1=0時,讓IO口置1,同時將C復(fù)成100、將P復(fù)成70;否則不處理。
2、當(dāng)P-1=0時,讓IO口清0;否則不處理。
這樣IO口的輸出就如你所愿了。
更高級一點做成活的。
再增設(shè)兩個寄存器M,N,將程序中的100用M替代、70用N替代。
這樣你只要改變M、N的值就可以任意改變周期與占空比了。而且隨時改變!不過要保證M>N,這很容易吧。
關(guān)鍵不是看你的程序,而是看你的構(gòu)思!你的程序有什么看頭。
如果你能理解并認(rèn)為我的方案可行,你就試著寫寫程序。
|
|