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

可以使用两种方式实现定时,举例以7372800Hz时钟定时1秒

1.使用ICR1的CTC模式

void Timer1Init(void)
{  
  TCNT1=0;
  ICR1=7200; //Top值
  TCCR1B=_BV(WGM13)|_BV(WGM12)|_BV(CS12)|_BV(CS10);//1024分频,CTC模式
  TIMSK1=_BV(ICIE1);//比较匹配中断允许
}
ISR(TIMER1_CAPT_vect)
{
  LED_FLASH;
}


2.使用OCR1A的CTC模式

void Timer1Init(void)
{  
  TCNT1=0;
  OCR1A=7200;  //TOP值
  TCCR1B=_BV(WGM12)|_BV(CS12)|_BV(CS10);//1024分频,CTC模式
  TIMSK1=_BV(OCIE1A);//比较匹配中断允许
}
ISR(TIMER1_COMPA_vect )
{
  LED_FLASH;
}



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

芯艺工作室    蒙ICP备06005492号

Copyright© 2004-2020 ChipArt Studio All Rights Reserved