ATMega8 T/C0中断方式测试程序
来源: 芯艺工作室
本站广告
  ENC28J60+uIP DHCP动态获取IP及UDP广播服务端示例
  ENC28J60+uIP 基于TCP的MODBUS IO示例
  C720H5上实现MODBUS远程IO
  ENC28J60+uIP HTTP GET方式将温度数据上传到web服务器
  FM1702读写S50(也叫M1)卡相关资料

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 <avr/io.h>
#include <avr/interrupt.h>
#include <stdint.h>

#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;
}



声明:芯艺工作室(http://www.chipart.cn)保留所有权力,转载请注明出处!

芯艺工作室    蒙ICP备06005492号

Copyright© 2004-2020 ChipArt Studio All Rights Reserved