AVR计数器寄存器的笔记

由坑神整理的AVR-Mega16单片机所用到的各种寄存器相关设置

TCNT0:定时器当前的计数值(每次开始和溢出后都要设置初始值)

OCR0:设置定时器比较匹配的值。如果TCNT0==OCR0,并且计数器中断位置位,则会触发匹配中断

TCCR0:如果TCCR0!=0,只要MCU一上电,T/C就开始计时工作。以下代码:

void timer0_init(void)
{
 TCCR0 = 0x00; //stop
 TCNT0 = 0x00; //set count
 OCR0  = 0x0f;  //set compare
 TCCR0 = 0x02; //start timer
}

要设置T/C计时器的初始值和比较匹配值,设置之前先让计时器停止工作,设置完成之后再重新置位相应的计数器位。
TCCR0:用于设置
1,低三位:是否使用时钟源,是否分频还有驱动方式
2,第6、3位:模式选择,共四种
3,第4、5位:对OCn输出的设置(OCn为某个输出引脚,可能与PB或者其他某个引脚对应)(不同模式OCn的设置不同,参考课本P246-247)

TIFR:记录各类中断是否触发(这里是溢出中断和匹配中断)

开启何种中断应设置TIMSK寄存器
TIMSK:中断使能
注:中断有两个:溢出中断(TCNT0超过0xFF),匹配中断(OCR0与TCNT0匹配)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、MCS-51单片机的定时器/计数器概念 单片机中的定时器和计数器其实是同一个物理的电子元件,只不过计数器记录的...
    Dorajimmy阅读 5,189评论 0 1
  • 8086汇编 本笔记是笔者观看小甲鱼老师(鱼C论坛)《零基础入门学习汇编语言》系列视频的笔记,在此感谢他和像他一样...
    Gibbs基阅读 37,594评论 8 114
  • SPI通信实验 SPI简介 串行外设接口(Serial Peripheral Interface Bus,SPI)...
    btskyrmb阅读 13,248评论 1 12
  • 产品描述 工作频段 **CC1100: **400-464 MHz and 800-928MHzCC1101: 3...
    Alex_Lin阅读 10,233评论 1 0
  • 挑战365天|第7天 文/依依思言 悲秋,多因风的萧瑟,雨的寒冷,草的枯黄,所以,在诗人苏轼的词《定风波》中,就有...
    依依思言阅读 3,349评论 12 10