色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > AVR單片機入門系列(25)AVR PWM OC0

          AVR單片機入門系列(25)AVR PWM OC0

          作者: 時間:2016-12-03 來源:網(wǎng)絡(luò) 收藏

          系統(tǒng)功能

          本文引用地址:http://cafeforensic.com/article/201612/325269.htm

          AVR內(nèi)部脈寬調(diào)制OC0輸出實驗,用LED指示PWM的頻率,在PWM速度較低時,可觀察到LED的閃爍。

          硬件設(shè)計

          AVR主控電路原理

          軟件設(shè)計

          //目標(biāo)系統(tǒng):基于AVR單片機

          //應(yīng)用軟件: ICC AVR

          /*01010101010101010101010101010101010101010101010101010101010101010101

          ----------------------------------------------------------------------

          實驗內(nèi)容:

          AVR內(nèi)部脈寬調(diào)制輸出實驗,用LED指示PWM的頻率,在PWM速度較低時,可觀察到LED的閃爍。

          ----------------------------------------------------------------------

          硬件連接:

          將UserLed指示燈連接至PWM的端口PB3/OC0。

          ----------------------------------------------------------------------

          注意事項:

          (1)若有加載庫程序,請將光盤根目錄下的“庫程序”下的“ICC_H”文件夾拷到D盤

          (2)請詳細閱讀:光盤根目錄下的“產(chǎn)品資料開發(fā)板實驗板SMK系列SMK1632說明資料”

          ----------------------------------------------------------------------

          10101010101010101010101010101010101010101010101010101010101010101010*/

          #include

          #include

          #define OC0_OUT_ENDDRB |= 0b00001000

          /*--------------------------------------------------------------------

          程序名稱:定時器0初始化程序

          程序功能:定時器作PWM使用,設(shè)置PWM的工作模式

          注意事項:

          提示說明:

          輸入:

          返回:

          --------------------------------------------------------------------*/

          void timer0_init(void)

          {

          TCCR0 = (1<||(1<||(1<|||(1<|(1<||(1<||(1<||(1<||(1<||(1<|||(1<|(1<||||(1<|<|(1<|(1<|(1<|(1<||||(1<||(1<|<|(1<|<|(1<|||(1<||(1<|(1<||(1<||(1<||||<|(1<|||(1<|(1<|(1<|<|<|||(1<||<|(1<||(1<||<|<|||(1<|<||(1<|(1<||||(1<|<|(1<|(1<|(1<|(1<||||(1<||(1<|<|(1<|<|(1<|||(1<||(1<|(1<||(1<||(1<||(1<|||(1<|(1<|||<|(1<|(1<|(1<||(1<||(1<||(1<|(1<|(1<|||(1<|(1<|(1<||(1<||(1<

          /*

          WGM01=1; WGM00=1; --> fast PWM modle

          COM01=1; COM00=0; -->比較匹配時set OC0 pin

          CS00=1; --> timer0 source不經(jīng)過任何分頻,直接為Clk,使得PWM可以工作得足夠快

          */

          TCNT0 = 0x00;//設(shè)置TC0計數(shù)寄存器初值

          OCR0 = 0x10;//輸出比較寄存器初值,設(shè)置該值可用于調(diào)節(jié)OC0輸出占空比

          }

          /*--------------------------------------------------------------------

          程序名稱:

          程序功能:

          注意事項:

          提示說明:

          輸入:

          返回:

          --------------------------------------------------------------------*/

          void main(void)

          {

          OC0_OUT_EN;//為允許PWM工作,需設(shè)置PB3為輸出

          timer0_init();

          SEI();

          while(1);

          }

          系統(tǒng)調(diào)試

          改變PWM初始化代碼的如下兩個語句的賦值:

          TCNT0 = 0x00;//設(shè)置TC0計數(shù)寄存器初值

          OCR0 = 0x10;//輸出比較寄存器初值,設(shè)置該值可用于調(diào)節(jié)OC0輸出占空比

          從LED的閃爍頻率可以看出,改變了PWM的頻率。



          關(guān)鍵詞: AVR單片機PWMOC

          評論


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

          關(guān)閉