原创 AVR单片机的T0使用

2008-10-12 12:12 5186 8 8 分类: MCU/ 嵌入式

本文介绍ATmega 16 单片机的T0使用


 


M16中的T0是8位定时器/计数器


 


以下内容摘至ATmega 16 Datasheet


 


点击看大图点击看大图点击看大图点击看大图


 


注意,使用前要将OC0设置输出,上拉电阻


 


使用CTC方式产生38K方波。红外常用的


void timer0_init(void) //CTC模式输出38KHz方波,用于红外检测
{
 OCR0    = 11;    //设定TOP值


//TOP=7372800/(2*8*38000)-1=11    选11    38.397KHz(13uS)
TCCR0 = (1<<WGM01)|(0<<WGM00)|(0<<COM01)|(1<<COM00)|(0<<CS02)|(1<<CS01)|(0<<CS00);
//8分频,CTC模式,OC0取反输出方波
}


 


使用快速PWM,用于电机调速。其它方式PWM可参考DataSheet


void timer0_init(void)


{


  TCCR0=0x6A;//不匹配输出高电平,匹配OCRA清零,快速PWM
  TCNT0=0x00;//初始值
  OCR0=0x35;//匹配值


}

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
8
关闭 站长推荐上一条 /3 下一条