標(biāo)題: 51單片機(jī)怎么輸出4路占空比可調(diào)頻率為5KHZ的PWM波 [打印本頁]

作者: game灬boy    時(shí)間: 2018-7-8 16:16
標(biāo)題: 51單片機(jī)怎么輸出4路占空比可調(diào)頻率為5KHZ的PWM波
我之前寫了一個(gè)程序但是頻率總是上不去只有1300HZ的樣子這是為什么?



作者: yzwzfyz    時(shí)間: 2018-7-8 19:34
再讀相關(guān)章節(jié)。
作者: hayden    時(shí)間: 2018-7-8 20:52
定時(shí)器定時(shí)200us
在定時(shí)器中斷里寫:

if(cnt1<T1) PWM1=1;  //更改T1可改變占空比,下面類似
else PWM1=0;//PWM1為定時(shí)器輸出IO

if(cnt2<T2) PWM2=1;
else PWM2=0;

if(cnt3<T3) PWM3=1;
else PWM3=0;

if(cnt4<T4) PWM4=1;
else PWM4=0;
作者: 7305    時(shí)間: 2018-7-8 22:21
感覺有一定幾率是程序長(zhǎng)了。89c52 12M晶振,平均1~2us運(yùn)行一句指令,也就是即使只有一條語句最高輸出頻率也只有1M HZ,如果前面語句多就會(huì)限制最高輸出頻率,需要運(yùn)行十幾行其他的代碼才能運(yùn)行你需要的那句,自然頻率就高不上去了。如果想多路可調(diào)頻率PWM波建議使用有獨(dú)立pwm發(fā)生器的單片機(jī)。
作者: 固原    時(shí)間: 2018-7-9 10:24
如果想多路可調(diào)頻率PWM波建議使用有獨(dú)立pwm發(fā)生器的單片機(jī)
作者: c279986149    時(shí)間: 2018-7-9 10:46
晶振用的多少的,如果晶振太低,或者代碼量太多,只能保證1路PWM的輸出,適當(dāng)提高晶振頻率,減少主程序執(zhí)行其他指令,如果條件允許,選擇專門的PWM控制器。
作者: xieqiang520    時(shí)間: 2018-7-9 11:03
單片機(jī)自帶PWM 這種就沒有問題
作者: game灬boy    時(shí)間: 2018-7-13 17:23
謝謝大家!我已經(jīng)找到原因了
定時(shí)器全局變量定義為uchar只有256 所以頻率上不去
作者: game灬boy    時(shí)間: 2018-7-13 17:24
xieqiang520 發(fā)表于 2018-7-9 11:03
單片機(jī)自帶PWM 這種就沒有問題

如果老師允許我也想用8a8k的單片機(jī)




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1