新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AVR單片機(jī)入門(mén)系列(26)AVR PWM OC2

AVR單片機(jī)入門(mén)系列(26)AVR PWM OC2

作者: 時(shí)間:2016-12-03 來(lái)源:網(wǎng)絡(luò) 收藏
系統(tǒng)功能

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

本文引用地址:http://2s4d.com/article/201612/325270.htm

硬件設(shè)計(jì)

AVR主控電路原理

軟件設(shè)計(jì)

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

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

/*01010101010101010101010101010101010101010101010101010101010101010101

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

實(shí)驗(yàn)內(nèi)容:

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

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

硬件連接:

將UserLed指示燈連接至PWM的端口PD7/OC2。

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

注意事項(xiàng):

(1)若有加載庫(kù)程序,請(qǐng)將光盤(pán)根目錄下的“庫(kù)程序”下的“ICC_H”文件夾拷到D盤(pán)

(2)請(qǐng)?jiān)敿?xì)閱讀:光盤(pán)根目錄下的“產(chǎn)品資料開(kāi)發(fā)板實(shí)驗(yàn)板SMK系列SMK1632說(shuō)明資料”

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

10101010101010101010101010101010101010101010101010101010101010101010*/

#include

#include

#define OC2_OUT_EN DRD |= 0b10000000

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

程序名稱(chēng):定時(shí)器2初始化程序

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

注意事項(xiàng):

提示說(shuō)明:

輸入:

返回:

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

void timer2_init(void)

{

TCCR2 = (1<

/*

WGM21=1; WGM20=1; --> fast PWM modle

COM21=1; COM20=0; -->比較匹配時(shí)set OC2 pin

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

*/

TCNT2 = 0x00;//設(shè)置TC2計(jì)數(shù)寄存器初值

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

}

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

程序名稱(chēng):

程序功能:

注意事項(xiàng):

提示說(shuō)明:

輸入:

返回:

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

void main(void)

{

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

timer2_init();

SEI();

while(1);

}

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

改變PWM初始化代碼的如下兩個(gè)語(yǔ)句的賦值:

TCNT2 = 0x00;//設(shè)置TC2計(jì)數(shù)寄存器初值

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

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



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

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉