新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AVR 定時器相位修正PWM 模式使用

        AVR 定時器相位修正PWM 模式使用

        作者: 時間:2016-12-03 來源:網絡 收藏
        相位修正PWM和快速PWM的區別在于,相位修正PWM在達到上限值后做減一操作,然后到達匹配值后端口再發生變化。

        其他特性和快速PWM基本一至。

        本文引用地址:http://www.104case.com/article/201612/325115.htm

        相位修正PWM時序圖

        頻率計算公式

        參考代碼:

        #include
        void FreCorrectPWM(void)
        {
        DDRD_Bit4 = 1;// OC1B 管腳設置為輸出
        DDRD_Bit5 = 1;// OC1A 管腳設置為輸出

        TCCR1A=(0<// OC1A 作為上限值 電平取反 OC1B 作為比較值 比較匹配時清零,到達上限值是置1
        // TCCR1A ==> COM1A1 , COM1A0 , COM1B1 , COM1B0 , FOC1A , FOC1B , WGM11 , WGM10
        // 0 1 1 0 無關 無關 1 1
        TCCR1B=(1<// 波形產生模式11 , 64分頻
        // TCCR1B ==> ICNC1 , ICES1 , - , WGM13 , WGM12 , CS12 , CS11 , CS10
        // 無關 無關 1 0 0 1 1

        OCR1A=1727;// 晶振頻率 11.0592MHz , 設定 100Hz PWM信號 , 64分頻
        OCR1B=345;// 為高電平持續時間
        }

        void main(void)
        {
        FreCorrectPWM();
        }



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 安陆市| 永善县| 荃湾区| 江源县| 靖宇县| 日喀则市| 垣曲县| 米林县| 阳曲县| 平湖市| 普安县| 拉孜县| 酒泉市| 班戈县| 崇信县| 平昌县| 巧家县| 威海市| 太白县| 雷波县| 九江县| 城步| 册亨县| 烟台市| 浮梁县| 白银市| 云安县| 化隆| 南漳县| 万荣县| 珠海市| 永靖县| 进贤县| 双柏县| 太原市| 兴城市| 祁阳县| 沅陵县| 安岳县| 三原县| 白水县|