標(biāo)題:
求程序 單片機(jī)pwm+LED
[打印本頁(yè)]
作者:
153759
時(shí)間:
2023-11-15 21:36
標(biāo)題:
求程序 單片機(jī)pwm+LED
由于本論壇禁止直接求程序,禁止伸手黨,所以向大家請(qǐng)教一下大致的實(shí)現(xiàn)方法與思路,理清頭緒后我自己來寫程序去實(shí)現(xiàn),謝謝大家
c51使用定時(shí)器產(chǎn)生PIM波控制LD燈的亮度頻率50Hz占空比可調(diào),調(diào)節(jié)范圍為01-99% 串口輸入需要調(diào)節(jié)的占空比,設(shè)置成功,返回Set is ok
幫助一下代碼編寫
作者:
yzwzfyz
時(shí)間:
2023-11-17 17:10
本帖最后由 yzwzfyz 于 2023-11-20 08:09 編輯
【頻率50Hz】折成時(shí)間 = 20ms。
【調(diào)節(jié)范圍為01-99%】也即要將20ms分成100份,取其中的1-99份。
所以:
定時(shí)器中斷時(shí)間為:20ms/100 =200us。
中斷服務(wù)程序這樣寫:(設(shè)LED接在P1.0上)
1、給出一個(gè)周期變量T100(初始=0,用于計(jì)數(shù)20mS周期,計(jì)數(shù)值 0-100)。定義一個(gè)脈寬調(diào)制計(jì)時(shí)變量TLEDH(計(jì)數(shù) LED=1 [高電平]的時(shí)間,計(jì)數(shù)范圍0-99,輸入你希望的值N,例N=39表示39%)
2、每次中斷 T100 +1 ,當(dāng)T100 = 100 時(shí),讓T100 = 0,重新計(jì)數(shù),完成20ms周期計(jì)數(shù)。
判定:當(dāng)T100 = 0 時(shí),讓 P1.0 = 1,PWM輸出1;
當(dāng) T100 = TLEDH 時(shí) ;讓P1.0 = 0,PWM輸出0。
其它,什么也不做。
這樣你只要改變TLEDH的值1-99,就達(dá)成你的目的了。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1