文章
博客 网店

 ATMega8 T/C0中断方式测试程序


main.c文件:

/********************************
  ATMega8 T/C0中断方式测试程序 
  文件名:main.c
  编译:WinAVR-20070122

  硬件环境:CA-M8X   打开的开关如下
            S6(1,2)   - 外部4MHz晶振
            S1(8)    - PB0接红LED
  
  芯艺设计室 2004-2007  版权所有 
  转载请保留本注释在内的全部内容
  WEB: http://www.chipart.cn
  Email: changfutong@sina.com
*******************************/

#include 
#include 
#include 

#define FLASH_LED  PORTB^=_BV(PB0)

static uint8_t g_bCount=0;  //中断计数器

//T/C0中断例程
ISR(TIMER0_OVF_vect)
{
  // 产生中断周期 T = 256 * 1024 / 4MHz 
  // T * 15 约等于 1 秒 
  if(++g_bCount >14)    //中断15次约一秒
  {
    FLASH_LED;
    g_bCount=0;
  }
}

int main(void)
{
  //PB0初始化成输出
  DDRB=_BV(PB0);
  PORTB=_BV(PB0); 

  TCNT0=0; // T/C0开始值 
  TCCR0=_BV(CS02)|_BV(CS00); // 预分频 ck/1024 ,计数允许
  
  TIMSK=_BV(TOIE0);  //T/C0中断允许
  sei();        //总中断标志置位
  
  while(1);//等待中断
  return 0;
}

芯艺工作室    蒙ICP备06005492号
Copyright© 2004-2023 ChipArt Studio All Rights Reserved