捕捉模式可以用来测频率,在捕捉模式下,应通过将相应的TRIS位置1将CCPx引脚设置为输入。
捕捉模式的结构框图:
在捕捉模式下,当CCPx的引脚发生以下事件时,CCPRxH:CCPRxL即捕捉TMR1寄存器的16位计数值。
? 每个脉冲的下降沿
? 每个脉冲的上升沿
? 每4 个脉冲的上升沿
? 每16个脉冲的上升沿
由控制位CCPxM3:CCPxM0(CCPxCON<3:0>)来选择上述4种事件之一。当一个捕捉发生时,中断请求标志位CCPxIF置1,该位必须用软件清零。如果寄存器CCPRx中的值被读出之前发生另一个捕捉,那么之前捕捉的数据将会丢失。
注:欲使 CCP模块使用捕捉功能,Timer1必须工作在定时器或同步计数器模式。在异步计数器模式下,可能无法进行捕捉操作。
输入频率不变时通过使用预分频器可以获得极佳的平均分辨率。例如,输入频率稳定时,将预分频比设置为1:16,那么这16个周期的总误差为1个TCY。其有效分辨率为TCY/16,即在20MHz时为12.5ns。只有在输入频率在16个采样周期均“稳定”的情况下,这一技巧才有效。不使用预分频器(1:1)时,每个采样分辨率为TCY。
|