Timer2是一个8位定时器,带有一个预分频器、一个后分频器和一个周期寄存器。当将预分频器和后分频器设置为最大值时,其溢出时刻与 16位定时器的相同。在PWM形式下运用 CCP模块时, Timer2 为PWM时基。
与Timer2有关的寄存器
PWM形式
一个PWM输出包括一个时基(周期)和一段输出高电平的时刻(占空比)。PWM的频率是周期的倒数(1/周期)。
PWM周期可经过写入PR2 寄存器来规则,可用以下公式核算:
PWM 频率 (FPWM)界说为1/[PWM周期]。
当TMR2 等于PR2 时,鄙人一递加计数周期中将发生下面三个事情:
• TMR2 被清零
• CCPx 引脚被置1( 例外情况:假如PWM占空比 =0%, CCPx 不被置1)
• PWM 占空比从CCPRxL 被锁定为 CCPRxH
PWM占空比可经过写入CCPRxL寄存器和DCxB1:DCxB0(CCPxCON<5:4>)位来规则。最高分辨率可达10位:由CCPRxL 中的高8位和CCPxCON<5:4>中的低2位组成。这一10位值由DCxB9:DCxB0来表征。核算 PWM 占空比的公式如下:
DCxB9:DCxB0的值能够在任何时候写入,但直到PR2与TMR2中的值相符(当时周期完毕)时,占空比的值才被锁存到CCPRxH。在PWM形式下,CCPRxH是只读寄存器。CCPRxH 寄存器和一个2位的内部锁存器用于为PWM占空比供给两层缓冲。两层缓冲对PWM的无毛刺操作是极其重要的。当CCPRxH和2位锁存器的值与TMR2和内部2位Q时钟(或TMR2分频器的2位)串接值相符时,CCPx引脚被清零。此刻占空比完毕。关于给定的PWM频率,其最大分辨率(位)为:
核算举例:
经过以下过程将CCP模块装备为PWM形式:
1. 写入PR2寄存器以设定PWM周期。
2. 写入DCxB9:DCxB0位以设置PWM占空比。
3. 将相应的TRIS位清零以将CCPx引脚设为输出。
4. 写入T2CON以设置TMR2预分频比并使能 Timer2。
5. 将CCP模块装备为PWM形式。