找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 10610|回復(fù): 14
打印 上一主題 下一主題
收起左側(cè)

求助STC15W4K16S4三路不同頻率PWM輸出

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:104779 發(fā)表于 2017-4-9 23:44 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
50黑幣
本帖最后由 hozhiwen 于 2017-4-9 23:45 編輯

各位大神們:
       本人正在學(xué)習(xí)STC15W系列單片機(jī),有很多問題都不懂,現(xiàn)有事請(qǐng)教如下.
求大神們編一個(gè)程序來(lái)學(xué)習(xí)下,要求單片機(jī)輸出三路PWM信號(hào),指定P2.1 P2.2 P2.3為信號(hào)輸出端,P2.1和P2.2輸出頻率為630Hz左右,P2.3輸出頻率為16KHz左右,而且各個(gè)輸出端的占空比可單獨(dú)賦值.什么精度要求都不高.我只求個(gè)過(guò)程.能幫助的請(qǐng)?zhí)峁┮幌略闯绦?謝謝.

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:123289 發(fā)表于 2017-4-10 12:41 | 只看該作者
樓主的命題,對(duì)單片機(jī)初學(xué)者來(lái)說(shuō)很典型:面對(duì)一個(gè)新問題如何解決?
其實(shí)就一條解決方案:研讀手冊(cè)!!
問題是如何速讀手冊(cè)呢?我想以本命題為例向大家說(shuō)說(shuō)。
與樓主一樣,我也從未用過(guò)單片機(jī)做PWM,處于與初學(xué)者同樣的境況,唯一不同的是:我已領(lǐng)悟了單片機(jī)的精華,所以可以從容面對(duì)各類問題,下面就以我是思路,向大家介紹“如何解決自己未做過(guò)的單片機(jī)項(xiàng)目。”不一定對(duì),僅供參考!

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

板凳
ID:123289 發(fā)表于 2017-4-10 12:43 | 只看該作者
方法是以下五點(diǎn),請(qǐng)初學(xué)者記牢前三點(diǎn):
一、依命題在手冊(cè)中搜索關(guān)鍵項(xiàng)。(本命題是“PWM”)
二、由于單片機(jī)的特殊功能都在“特殊功能寄存器中”中體實(shí)現(xiàn)的,所以必須在“特殊功能寄存器中” 搜索關(guān)鍵項(xiàng)。(本命題是“PWM”)
三、研讀并弄清搜索到的各“相關(guān)”“特殊功能寄存器”的各個(gè)位的表述。重點(diǎn)關(guān)心“復(fù)位值”。因?yàn)檫@涉及你要不要設(shè)置處理它。
四、結(jié)合命題,取其有用部分,棄其無(wú)用部分,做出相應(yīng)設(shè)置(也就是初始化功能)。
五、最后才是寫程序了。
回復(fù)

使用道具 舉報(bào)

地板
ID:123289 發(fā)表于 2017-4-10 13:10 | 只看該作者
我將自己如何利用手冊(cè)找到解決樓主問題的詳細(xì)步驟,且做成的截圖,但在上傳這些截圖時(shí),卻上傳不了(發(fā)表回復(fù)區(qū)如何上傳截圖我不會(huì),界面不友好),就不在此答復(fù)了。手冊(cè)是拒復(fù)制的PDF檔,只能截圖。
回復(fù)

使用道具 舉報(bào)

5#
ID:146949 發(fā)表于 2017-4-10 14:38 | 只看該作者
本帖最后由 wosiyabo 于 2017-4-10 14:39 編輯

樓上的經(jīng);貜(fù)帖子,但很少說(shuō)到問題的點(diǎn)子上。
我以前研究過(guò)STC15W的硬件PWM,P2.1/P2.2/P2.3分別是6路帶死區(qū)的硬件15位PWM3、4、5輸出腳。
硬件15位PWM的頻率來(lái)自時(shí)鐘分頻或定時(shí)器2的溢出,這個(gè)硬件15位PWM的頻率源來(lái)自同一地方,不能同時(shí)輸出不同的頻率。
給你的建議是通過(guò)設(shè)置不同的時(shí)鐘源輸出兩個(gè)不同頻率的硬件PWM
PCA輸出630HZ (P1.0/P1.1)
15位硬件PWM輸出16KHz (P2.3)
用硬件PWM而不用定時(shí)器模擬PWM的好處是你的程序運(yùn)行其它中斷時(shí)對(duì)硬件PWM的干擾影響比較小。

評(píng)分

參與人數(shù) 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

6#
ID:123289 發(fā)表于 2017-4-10 15:46 | 只看該作者
截取部分(未答復(fù)的部分),告訴樓上,如何解決樓主命題中的兩個(gè)頻率問題:
3、        假設(shè)系統(tǒng)振蕩器頻率為12M,對(duì)于命題中的:630Hz、 16KHz,折成周期脈沖數(shù)是:12M/630、12M/15K,約19048、750,考慮到“基準(zhǔn)計(jì)數(shù)器”只有一個(gè),取數(shù)值大的做周期(630Hz),另一個(gè)(16KHz)則用中斷的方式,采用不斷地修改T1/T2值來(lái)實(shí)現(xiàn)。為保證頻率穩(wěn)定,必須保證兩個(gè)頻率是整數(shù)倍的關(guān)系。16K/630約25,所以:
取19000作為周期,用于輸出630Hz。取19000/25=760,作為16KHz的周期。
將PWMCH/L置成:19000,用于輸出630Hz。
4、        P2.1、P2.2輸出630Hz,只要將PWM3/4的T1/T2設(shè)置制成<19000的數(shù)就可以了,取不同的T1/T2得到不同的占空比。這時(shí)頻率約為= 631.6符合題意630左右。
5、        P2.3輸出16K,要在一個(gè)630Hz的周期中采用25次中斷,且每次改動(dòng)翻轉(zhuǎn)比較值,設(shè)初始:
PWM5T1H/L=190、           PWM5T1H/L=570,            T2產(chǎn)生中斷后,將參數(shù)修改成:
PWM5T1H/L=190+760*1、PWM5T1H/L=570+760*1; T2產(chǎn)生中斷后,將參數(shù)修改成:
PWM5T1H/L=190+760*2、PWM5T1H/L=570+760*2; T2產(chǎn)生中斷后,將參數(shù)修改成:
……(第23次T2中斷后)
PWM5T1H/L=190+760*24、PWM5T1H/L=570+760*24;T2產(chǎn)生中斷后,將參數(shù)修改成:
PWM5T1H/L=190、            PWM5T1H/L=570。
這樣就保證:P2.3輸出15.8K ,符合題意16K左右。
回復(fù)

使用道具 舉報(bào)

7#
ID:104779 發(fā)表于 2017-4-10 22:20 | 只看該作者
謝謝樓上各位給我的回復(fù),希望能編個(gè)程序出來(lái)參考參考.
回復(fù)

使用道具 舉報(bào)

8#
ID:146492 發(fā)表于 2017-4-10 22:23 | 只看該作者
這個(gè)是力矩器里面的功能嗎?
回復(fù)

使用道具 舉報(bào)

9#
ID:104779 發(fā)表于 2017-4-10 22:27 | 只看該作者
519762768 發(fā)表于 2017-4-10 22:23
這個(gè)是力矩器里面的功能嗎?

不是,這個(gè)只是我想知道PWM多路不同頻率輸出是怎樣才能實(shí)現(xiàn)的,單路或多路同頻我會(huì)編.
回復(fù)

使用道具 舉報(bào)

10#
ID:123289 發(fā)表于 2017-4-11 11:24 | 只看該作者
比如,雙頻A和B,只有當(dāng)A=B*N(N=正整數(shù))時(shí),才可以用中斷,不斷改變比較門檻值的方法來(lái)解決。
回復(fù)

使用道具 舉報(bào)

11#
ID:154197 發(fā)表于 2017-4-11 23:33 | 只看該作者
www點(diǎn)edawiki點(diǎn)com/index.php?category-view-38.htm
這里有個(gè)講15的視頻,60幾講有關(guān)于pwm的,你看看吧
回復(fù)

使用道具 舉報(bào)

12#
ID:104779 發(fā)表于 2017-5-6 22:32 | 只看該作者
helios 發(fā)表于 2017-4-11 23:33
www點(diǎn)edawiki點(diǎn)com/index.php?category-view-38.htm
這里有個(gè)講15的視頻,60幾講有關(guān)于pwm的,你看看吧

謝謝,看了一下,好像還是單個(gè)PWM設(shè)置的.
回復(fù)

使用道具 舉報(bào)

13#
ID:382298 發(fā)表于 2018-12-25 19:04 | 只看該作者
可以做到。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表