Atmega2560基础教程(10)——16位定时器(TIM1/3/4/5)CTC模式

Atmega2560基础教程(10)——16位定时器(TIM1/3/4/5)CTC模式

Atmega2560一共有四个16位的定时器,定时器1,定时器3,定时器4,定时器5,让16位定时器工作在CTC一般需要五个寄存器,TCNTx,OCRxA,TCCRxA,TCCRxB,TIMSKx (x=1,3,4,5),16位定时器结构基本一致,因此以下均用定时器1为例

1.工作原理

CTC模式是一种占空比固定,频率可变的模式,16位定时器有两种CTC模式我们常用模式1。CTC模式下只能由OCRxA作为匹配值,这就导致了定时器只能有一个频率,定时器的数值向上递增,当递增至OCRxA时,匹配比较标志位置位,同时数值重新从TCNTx递增,如此往复循环,由于有匹配比较标志位,因此可以在其中加入匹配中断。CTC模式下OCRxA可由如下公式推得

  f O C n A = f c l k _ I / O 2 ∗ N ∗ ( 1 + O C R x A ) \Large \ f_{OCnA}=\frac{f_{clk\_I/O}}{2*N*(1+OCRxA)}  fO

Atmega2560基础教程(10)——16位定时器(TIM1/3/4/5)CTC模式

Atmega2560基础教程(10)——16位定时器(TIM1/3/4/5)CTC模式

Atmega2560一共有四个16位的定时器,定时器1,定时器3,定时器4,定时器5,让16位定时器工作在CTC一般需要五个寄存器,TCNTx,OCRxA,TCCRxA,TCCRxB,TIMSKx (x=1,3,4,5),16位定时器结构基本一致,因此以下均用定时器1为例

1.工作原理

CTC模式是一种占空比固定,频率可变的模式,16位定时器有两种CTC模式我们常用模式1。CTC模式下只能由OCRxA作为匹配值,这就导致了定时器只能有一个频率,定时器的数值向上递增,当递增至OCRxA时,匹配比较标志位置位,同时数值重新从TCNTx递增,如此往复循环,由于有匹配比较标志位,因此可以在其中加入匹配中断。CTC模式下OCRxA可由如下公式推得

  f O C n A = f c l k _ I / O 2 ∗ N ∗ ( 1 + O C R x A ) \Large \ f_{OCnA}=\frac{f_{clk\_I/O}}{2*N*(1+OCRxA)}  fO