新聞中心

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

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

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

#include

本文引用地址:http://m.butianyuan.cn/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 向上計數(shù)過程中比較匹配時清零
// 向下計數(shù)過程中比較匹配時置位
// 時鐘源:4MHz/64 PWM頻率:4MHz/(64*256)=122Hz
TCCR1A=_BV(COM1A1)|_BV(WGM10);
TCCR1B=_BV(CS11)|_BV(CS10);


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

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

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

return 0;
}



關(guān)鍵詞: ATMega8PWM測試程

評論


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

關(guān)閉