Atmega2560基础教程(6)——8位定时器(TIM0/2)CTC模式
Atmega2560一共有2个8位的定时器,定时器0,定时器2,让8位定时器工作在CTC一般需要五个寄存器,TCNTx,OCRxA,TCCRxA,TCCRxB,TIMSKx (x=0,2),定时器0和2结构基本一致,因此以下均用定时器0为例
1.工作原理
CTC模式是一种占空比固定,频率可变的模式。CTC模式下只能由OCRxA作为匹配值,这就导致了定时器只能有一个频率,定时器的数值向上递增,当递增至OCRxA时,匹配比较标志位置位,同时数值重新从TCNTx递增,如此往复循环,由于有匹配比较标志位,因此可以在其中加入匹配中断。CTC模式下OCRxA可由如下公式推得
![](https://i-blog.csdnimg.cn/blog_migrate/5bcaa9a067a94bc0269ffcfc346737f5.png)
频率为晶振频率hz,需进行转换单位,fclk_I/O为晶振频率,N为分频,fOCnx为目标频率
2.TCNTx寄存器
计数的起点,以及重装载的起始点
![](https://i-blog.csdnimg.cn/blog_migrate/26ec8f744d387fd0873f1c795de7b7f4.png)
3.OCRxA寄存器
比较的终点
![](https://wx2.sinaimg.cn/large/0068MSO3ly1gb7zs10norj30t502zwem.jpg)
4.TCCRxA寄存器
主要决定,当定时器匹配时,引脚作何动作,以及定时器工作在CTC模式
![](https://wx4.sinaimg.cn/large/0068MSO3ly1gb7uc9j9hdj30to03cjrm.jpg)
![](https://wx3.sinaimg.cn/large/0068MSO3ly1gb7ucdep3cj30ue05imxu.jpg)