<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > SAM4E單片機(jī)之旅——4、LED閃爍之PWM

          SAM4E單片機(jī)之旅——4、LED閃爍之PWM

          作者: 時(shí)間:2017-01-18 來源:網(wǎng)絡(luò) 收藏

            兩個(gè)LED燈雖然可以閃了,但是總是需要CPU的參與?,F(xiàn)在嘗試使用一種更為自動(dòng)化的方法:讓脈寬調(diào)制()控制器輸出具有一定周期和占空比的方波,以此控制LED燈的亮滅。

          本文引用地址:http://www.ex-cimer.com/article/201701/343043.htm

            一、實(shí)現(xiàn)思路

              

          image

           

            依然使用藍(lán)色和琥珀色的LED燈。開發(fā)板上能啟用四個(gè)通道,每個(gè)通道能輸出兩個(gè)互補(bǔ)的方波。我們會(huì)啟用其中的一個(gè)通道,然后讓這個(gè)通道的兩個(gè)輸出分別控制一個(gè)LED燈。但是由于這兩個(gè)引腳上不存在同一通道的輸出,所以需要第三個(gè)引腳輔助。

            我們將使用的通道0。

            1. PWMH0輸出至引腳PA0(外設(shè)A)。

            2. PWML0輸出至引腳PC0(外設(shè)B)。

            3. 引腳PD20配置為純輸入引腳。

            4. 將PC0和PD20兩個(gè)引腳短接起來。

            這樣就可以使這兩個(gè)LED燈交替閃爍了。

            二、PWM設(shè)置

            在PMC中啟用PWM時(shí)鐘。

            1

            2

            3

            4/* PMC 啟用

            * PWM的ID大于31,需要在PMC_PCER1中啟用

            */

            PMC->PMC_PCER1 = 1 << (ID_PWM - 32);

            禁用PWM通道。

            通道在啟用時(shí)不能進(jìn)行完整的控制,先禁用通道。

            1

            2/* 禁用通道0,以進(jìn)行配置 */

            PWM->PWM_DIS = PWM_DIS_CHID0;

            設(shè)置時(shí)鐘。

            通道選擇的時(shí)鐘直接或間接由主時(shí)鐘分頻得到。由于主時(shí)鐘頻率較高,所以為保證能產(chǎn)生肉眼可見的閃爍,這里會(huì)選擇盡可能大的分頻數(shù)。為對PWM的特性有更多的了解,我們將開啟它的Clock A。

            通過向PWM時(shí)鐘控制器的(PWM_CLK)中的PERA字段寫入 9,以配置Clock A的輸入時(shí)鐘為MCK / 512;通過向DIVA字段寫入125,再將輸入時(shí)鐘進(jìn)行125分頻。配置完成后,CLKA輸出的時(shí)鐘的頻率即為MCK / (512 * 125)。初始化時(shí),MCK的頻率為4MHz(4000000Hz),所以CLKA輸出頻率即為62.5 Hz。

            1

            2

            3/* clockA */;

            PWM->PWM_CLK = PWM_CLK_DIVA(125)

            | PWM_CLK_PREA(9);

            選擇通道的模式。

            為簡單起見,將使用默認(rèn)的屬性:周期為左對齊,極性為先輸出低電平,不使用中斷以及死區(qū)發(fā)生器。同時(shí),在這里為通道選擇時(shí)鐘CLKA。

            1

            2/* 配置通道0 */

            PWM->PWM_CH_NUM[0].PWM_CMR = PWM_CMR_CPRE_CLKA;

            配置周期和占空比。

            為觀察方便,將輸出脈沖方波的周期設(shè)置為2秒,占空比50%。因?yàn)槭褂玫臅r(shí)鐘頻率為62.5Hz,所以需要將計(jì)數(shù)器的周期設(shè)置為62.5 * 2 = 125。將比較器閥值設(shè)置為63,使占空比大約為50%。

            1

            2PWM->PWM_CH_NUM[0].PWM_CPRD = PWM_CPRD_CPRD(125); /* 周期 */

            PWM->PWM_CH_NUM[0].PWM_CDTY = PWM_CDTY_CDTY(63); /* 占空比,準(zhǔn)確來說是閥值 */

            使能PWM通道。

            1

            2/* 使能 PWM */

            PWM->PWM_ENA = PWM_ENA_CHID0;

            三、PIO設(shè)置

            在實(shí)現(xiàn)思路中已經(jīng)說明了PIO引腳的配置,而且不是太為復(fù)雜,且后面將會(huì)給出完整代碼,這里就不單獨(dú)解釋了。



          關(guān)鍵詞: SAM4E PWM

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();