您的当前位置:首页正文

定时器0

2020-01-18 来源:步旅网
ATmegal6内部有3个通用定时器/计数器:2个8位的定时器/计数器:T/CO、T/C2,1个16位的定时器/计数:T/C1。3个通用定时器/计数器除了能够实现通常的定时计数功能外,还具有捕获,比较、脉宽调制输出(PWM)实时时钟等超强功能 计数原理

计数原理框图

当外部发送来一个有效脉冲时,在S1闭合的情况下,计数器会加1,即表示计数器记录了一次外部事件。当外部脉冲为连续的脉冲时,计数器将不断地加1,直到计数器溢出(如8位计数器从00到FFH就溢出)。计数器溢出时计数器自动回“0”,同时向溢出标志TF进位,计数器又从“0”开始继续计数。

计数器原理图

定时原理

定时功能实质上也是通过计数器的计数来实现的。当计数器的输入脉冲频率恒定时,计数器所记录的数值就代表了时间的概念。频率恒定的脉冲可以来自外部晶振,也可以来自内部RC电路。

定时器原理框图

当计数频率恒定为1MHz,即其周期为l μs,此时表明每1微秒计数器加1。当计数器的值从1增加到10时,计数器所记录的时间为10 μ s,即实现了定时功能,定时时间为10微秒。

可见,当计数器的计数频率恒定时(l μs),可以根据计数器的“计数值”计算出定时时间。反过来也可按定时时间要求计算出计数器的预置初值。若要定时100微秒,则要记录100个数,计数器的预置值应该设置为156,即9CH。 单片机的定时时钟源通常有两种:内部定时时钟源和外部定时时钟源,且这种选择用户是可编程的。如同计数器一样,定时器的初值、定时器的工作状态和定时器溢出中断等,用户都是可以进行控制(可编程)的。

T/C0是一个通用的单通道8 位定时器/ 计数器模块。其主要特点如下:

 单通道计数器

 比较匹配发生时清除定时器( 自动加载)  无干扰脉冲,相位正确的PWM  频率发生器  外部事件计数器

 10位的时钟预分频器

 溢出和比较匹配中断源 (TOV0 和 OCF0)

8位avr的T/C框图

M16的定时计数系统由外引脚、内部RC振荡器、熔丝配置位、分频器、计数器、中断系统、控制寄存器等组成。

与定时/计数器0相关的寄存器 1. T/C0控制寄存器——TCCR0

7 6 5 4 3 2 1 0 FOC0  比较匹配输出使能位 WGM00 COM01 COM00 WGM01 CS02 CS01 CS00

比较匹配输出模式 时钟选择位 模式 WGM00 WGM01 T/C0工作模式 计数上限 OCR0更新 TOV0置位 0 1 2 3

T/C0和T/C2的分频设置

0 0 1 1 0 1 0 1 一般模式 PWM,相位可调 CTC模式 快速PWM 0XFF 0XFF OCR0 0XFF 立即 0XFF 立即 0XFF 0XFF 0X00 0XFF 0XFF

ATmegal6的T/CO和T/C1由一个10位的预定比例分频器提供时钟源。该预分频器将系统时钟按设定的比例进行分频,以产生不同周期的时钟clkT0、clkTl,分别作为时钟源提供给T/CO和T/C1使用。下图为T/CO、T/C1的预定比例分频器示意图。T/CO和T/C1的时钟源可来自芯片内部,也可来自外部引脚T0(PB0)和T1(PBl)。当选择外部引脚的输入信号为时钟源时,预分频器不对外部引脚的输入信号进行预分频。当选择芯片内部时钟时,通过设置预分频器可选择4种不同的分频比例,它们是8、64、256、1024分频。

因篇幅问题不能全部显示,请点此查看更多更全内容