• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > SAM4E單片機之旅——4、LED閃爍之PWM

    SAM4E單片機之旅——4、LED閃爍之PWM

    作者: 時間:2017-01-18 來源:網絡 收藏

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

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

      一、實現思路

        

    image

     

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

      我們將使用的通道0。

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

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

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

      4. 將PC0和PD20兩個引腳短接起來。

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

      二、PWM設置

      在PMC中啟用PWM時鐘。

      1

      2

      3

      4/* PMC 啟用

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

      */

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

      禁用PWM通道。

      通道在啟用時不能進行完整的控制,先禁用通道。

      1

      2/* 禁用通道0,以進行配置 */

      PWM->PWM_DIS = PWM_DIS_CHID0;

      設置時鐘。

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

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

      1

      2

      3/* clockA */;

      PWM->PWM_CLK = PWM_CLK_DIVA(125)

      | PWM_CLK_PREA(9);

      選擇通道的模式。

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

      1

      2/* 配置通道0 */

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

      配置周期和占空比。

      為觀察方便,將輸出脈沖方波的周期設置為2秒,占空比50%。因為使用的時鐘頻率為62.5Hz,所以需要將計數器的周期設置為62.5 * 2 = 125。將比較器閥值設置為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); /* 占空比,準確來說是閥值 */

      使能PWM通道。

      1

      2/* 使能 PWM */

      PWM->PWM_ENA = PWM_ENA_CHID0;

      三、PIO設置

      在實現思路中已經說明了PIO引腳的配置,而且不是太為復雜,且后面將會給出完整代碼,這里就不單獨解釋了。



    關鍵詞: SAM4E PWM

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 砚山县| 四子王旗| 花垣县| 焉耆| 黄山市| 河北省| 武汉市| 湟中县| 新河县| 图们市| 长春市| 石屏县| 铜鼓县| 绥中县| 平阴县| 高雄县| 江阴市| 德阳市| 图木舒克市| 成都市| 云霄县| 交城县| 扎赉特旗| 嘉祥县| 黄浦区| 蛟河市| 井陉县| 牟定县| 东丰县| 龙州县| 香港| 寿宁县| 陇川县| 二手房| 五莲县| 贵德县| 屏东市| 文化| 金昌市| 肥城市| 广宗县|