T/C0的应用(一)
发表:2023-08-29 12:02:19 阅读:40

T/C0的应用(一)

1)普通模式

普通模式(WGM01:0=o)为最简单的工作模式。在此模式下计数器不停地累加。计到最大值后(TOP=0xFF)计数器简单地返回到最小值0x00重新开始。在TCNT0为零的同一个定时器时钟里T/C溢出标志TOV0置位。此时TOVO有点像第9位,只是只能置位,不会清零。但由于定时器中断例程能够自动将TOV0清零,因此可以通过软件提高定时器的分辨率。在普通模式下没有什么需要特殊考虑的,用户可以随时写入新的计数器数值。输出比较单元可以用来产生中断。不推荐在普通模式下利用输出比较产生波形,因为会占用太多的CPU时间。

2)CTC(比较匹配时清除定时器)模式

在CTC模式(WGM01:0=2)里OCR0寄存器用于调节计数器的分辨率。当计数器的数值TCNT0等于0CR0时计数器清零。OCR0定义了计数器的TOP值,亦即计数器的分辨率。这个模式可以在极大程度上控制比较匹配输出的频率,也简化了外部事件计数的操作。CTC模式的时序如图2—26所示。计数器数值TCNT0一直增加直到TCNT0与()CR0匹配,然后TCNT0清零。

利用0CF0标志可以在计数器数值达到TOP时即产生中断。若使能了中断.可以利用中断例程来更新TOP的数值。由于CTC模式没有双缓冲功能,在计数器以无预分频器或很低的预分频器工作的时候将TOP更改为接近BOTTOM的数值时要小心。如果写人OCR0的数值小于当前TCNT0的数值,计数器将丢失一次比较匹配。在下一次比较匹配发生之前.计数器不得不先计数到最大值0xFF,然后再从Ox00开始计数到OCR0。

通过设置COM01:0=1,可以在CTC模式下将比较输出模式设置为交替方式。只要比较匹配发生,OC0的输出电平就取反。在期望获得0C0输出之前.首先要将其端口设置为输出。
波形发生器能够产生的最大频率为ƒOCOCLK-1/o/2(OCR0=Ox00)。频率由如下公式确定:

式中,变量N代表预分频因子(1、8、32、64、1 28、25 6或1 024)。在普通模式下,TOV0标志的置位发生在计数器从MAX变为0x00的定时器时钟周期。

 

电子街】推荐阅读:

 

计数器T/C0的特点

8位T/C0的计数单元

8位T/C0相关寄存器(一)

8位T/C0相关寄存器(二)