新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ATMega8 PWM 功能(T/C 1)測試程序

        ATMega8 PWM 功能(T/C 1)測試程序

        作者: 時間:2016-11-23 來源:網絡 收藏
        #include <avr/io.h>

        #include

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

        #define uchar unsigned char
        #define uint unsigned int

        #define FREQ 4

        //延時
        void DelayMs(uint ms)
        {
        uint i;
        for(i=0;i _delay_loop_2(FREQ * 250);
        }

        int main (void)
        {
        uchar direction=1;
        uchar pwm=0;

        // 8位相位修正PWM模式
        // OC1A 向上計數過程中比較匹配時清零
        // 向下計數過程中比較匹配時置位
        // 時鐘源:4MHz/64 PWM頻率:4MHz/(64*256)=122Hz
        TCCR1A=_BV(COM1A1)|_BV(WGM10);
        TCCR1B=_BV(CS11)|_BV(CS10);


        TCNT1=0;
        DDRB|=_BV(PB1);//OC1A pwm輸出引腳允許

        //循環改變PWM輸出脈寬,使接在OC1A引腳上的發光管亮度發生變化
        while(1)
        {
        if(direction)
        {
        if(++pwm==254)
        direction=0;
        }
        else
        {
        if(–pwm==0)
        direction=1;
        }

        OCR1A=pwm;
        //OCR1B=pwm;
        DelayMs(10);
        }

        return 0;
        }



        關鍵詞: ATMega8PWM測試程

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 弥勒县| 泸州市| 沁阳市| 化隆| 和平县| 商水县| 方山县| 安多县| 兴化市| 无为县| 南川市| 鹤山市| 田东县| 铜梁县| 茌平县| 巫溪县| 南乐县| 濮阳市| 连江县| 大同市| 新竹市| 壤塘县| 淄博市| 滦南县| 措勤县| 长泰县| 正宁县| 常山县| 延长县| 商都县| 贺州市| 淳化县| 陈巴尔虎旗| 商城县| 开阳县| 威远县| 武隆县| 六枝特区| 大宁县| 武宁县| 高青县|