新聞中心

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

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

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

#include

本文引用地址:http://butianyuan.cn/article/201611/320577.htm

#define uchar unsigned char
#define uint unsigned int

#define FREQ 4

//延時(shí)
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 向上計(jì)數(shù)過程中比較匹配時(shí)清零
// 向下計(jì)數(shù)過程中比較匹配時(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)閉