山东群英会开奖结果

(玩电子) 电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

AVR定时器1的普通模式设置

作者:佚名   来源:本站原创   点击数:x  更新时间:2014年09月01日   【字体:

 如何设置定时器1的寄存器呢?我们仅要简单的随着以下流程

1.对T/C1 控制寄存器B TCCR1B,设置分频或者无分频。TCCR1B|=BIT(2);
2.对TCNT1H 和TCNT1L 赋初值。
3.对T/C1 中断屏蔽寄存器TIMSK,使能定时器1 溢出中断。TIMSK|=0x04;
4.对全局中断使能使能。SREG|=BIT(7);
5.之后再编写相关的中断函数即可。
那么现在出现了一系列的问题?分频有什么用?又如何对TCNT1 赋初值?照以下的公式计算:要赋给TCNT1 的初值= ( 65536 - ( ( 晶振频率/分频) * 定时时间) )
搞了半天,就是分频置初值,使能中断、开总断。与51极相似!
定时器0:
void miao(void)
{
   if(num == 125)//实际是8MS中断一次
  {
      num = 0;
   if(second++ == 60) second = 0;
  }
  else
  {
   num++;
  }
  TCNT0 = 0x05;
}
void Timer0Init(void)
{
   TCCR0 = 0x04;
  TCNT0 = 0x05;
  TIMSK |= (1<<0);
  SREG |= 0x80;
}
定时器1:
// T/C1中断入口
void miao(void)
{
   if(num == 100)
      num = 0;
  else num++;
  TCNT1H = 0x85;
  TCNT1L = 0xED;
}
void Timer1Init(void)
{
   TCCR1B = 0x04;
  TCNT1H = 0x85;
  TCNT1L = 0xED;
  TIMSK |= (1<<2);
  SREG |= 0x80;
}

文章评论

山东群英会开奖结果相关的文章

山东群英会开奖结果北京赛车pk10赔率最高的平台 北京赛车怎么玩 安徽快3走势 新疆喜乐彩大小分布 内蒙古11选5 北京赛车pk10玩法 北京赛车怎么玩 北京赛车怎么玩 五分时时彩 北京赛车pk10玩法