原创 CVAVR基础程序---T2定时程序

2009-4-5 16:28 2266 6 6 分类: MCU/ 嵌入式

//AVR T2 作普通定时器
#include <mega8.h>
#define  uchar unsigned char
#define  LEDDIR  DDRD.1
#define  LED     PORTD.1
#define  SEI     SREG|=0x80
uchar    i;


void IO_Init(void)
{
      LEDDIR="1";
      LED="0";
}          


void Timer2_time_Init(void)
{
      TCCR2=0x00;
      TCNT2=56;
      TIMSK|=0x40;
      TIFR&=0x3f;
      SEI;
      TCCR2=0x02;
}


interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{
      TCNT2=56;             //8M 八分频  每步耗时1us 则定时时间为:(256-56)*1us=200us
      if (++i>=250){i=0; LED=!LED;} // LED灯操作一次的时间:250*200us=50ms
}



void main(void)
{
      IO_Init();
      Timer2_time_Init();
      while(1){;;}
}

文章评论0条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /2 下一条