微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > Atmega16 定时器T0的应用

Atmega16 定时器T0的应用

时间:11-13 来源:互联网 点击:
下面的部分来自数据手册,

定时器工作模式:工作模式- T/C 和输出比较引脚的行为- 由波形发生模式(WGM21:0) 及比较输出模式

(COM21:0) 的控制位决定。比较输出模式对计数序列没有影响,而波形产生模式对计数序

列则有影响。COM21:0 控制PWM 输出是否反极性。非PWM 模式时COM21:0 控制输

出是否应该在比较匹配发生时置位、清零,或是电平取反(P113 " 比较匹配输出单元" )。

普通模式:普通模式(WGM21:0 = 0) 为最简单的工作模式。在此模式下计数器不停地累加。计到8

比特的最大值后(TOP = 0xFF),由于数值溢出计数器简单地返回到最小值0x00 重新开

始。在TCNT0 为零的同一个定时器时钟里T/C 溢出标志TOV2 置位。此时TOV2 有点象

第9 位,只是只能置位,不会清零。但由于定时器中断服务程序能够自动清零TOV2,因

此可以通过软件提高定时器的分辨率。在普通模式下没有什么需要特殊考虑的,用户可以

随时写入新的计数器数值。

输出比较单元可以用来产生中断。但是不推荐在普通模式下利用输出比较产生波形,因为

会占用太多的CPU 时间。

T/C 时序图:

8 位T/C 寄存器说明

T/C 控制寄存器- TCCR2

?Bit 7 – FOC2: 强制输出比较

FOC2仅在WGM指明非PWM模式时才有效。但是,为了保证与未来器件的兼容性,使用

PWM 时,写TCCR2 要对其清零。写1 后,波形发生器将立即进行比较操作。比较匹配输

出引脚 OC2 将按照COM21:0 的设置输出相应的电平。要注意FOC2 类似一个锁存信号,

真正对强制输出比较起作用的是COM21:0 的设置。

FOC2 不会引发任何中断,也不会在使用OCR2 作为TOP 的CTC 模式下对定时器进行清

零。

读FOC2 的返回值永远为0。

? Bit 6, 3 – WGM21:0: 波形产生模式

这几位控制计数器的计数序列,计数器最大值TOP 的来源,以及产生何种波形。T/C 支

持的模式有:普通模式,比较匹配发生时清除计数器模式(CTC),以及两种PWM 模式,

详见 Table 50 与P114" 工作模式" 。

? Bit 5:4 – COM21:0: 比较匹配输出模式

这些位决定了比较匹配发生时输出引脚OC0 的电平。如果COM01:0 中的一位或全部都

置位, OC0 以比较匹配输出的方式进行工作。同时其方向控制位要设置为1 以使能输出

驱动。

当OC0 连接到物理引脚上时, COM01:0 的功能依赖于WGM01:0 的设置。Table 51 给

出了当WGM01:0 设置为普通模式或CTC 模式时COM01:0 的功能。

二、在进行相应的应用的时候请注意

不能对定时器TO赋初值,否则应用普通模式时,定时时间非常不准确。

定时时间的改变只能通过时钟源和分频系数确定

最后说一句:Atmega16数据手册做得很好,中文资料也多,非常容易去学习!!!!!!!!!!!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top