PCA模块的使用方式2:扩展定时器模式
PCA模块可以作为16位定时器使用,即扩展一个16位定时器。
16位定时器模式的结构如下图所示
电路图的解读:
图中红色标示部分就是与扩展定时器有关的寄存器位。
首先使能ECOMn,开启16位比较器。
MATn位置1,当CH,CL中的计数值与CCAPnH,CCAPnL中的数值相等的时候,中断标志位将被置位。
ECCFn位置1,允许MCU响应中断。
EA=1总中断允许
CH,CL是一个十六位的计数器,当CR=1时,开启这个计数器,每隔一定的时间自动加1。当增加到与比较寄存器CCAPnH,CCAPnL中的值相等的时候,就会将中断标志位CCFn置位。此时如果EECFn=1允许响应中断,并且EA =1总中断允许,则程序将跳转到PCA中断服务子程序即interrupt 7处。
PCA计数器[CH,CL]每隔一定时间自动加1,时间间隔取决于所选择的时钟源。默认时钟源为SYSclk/12,即系统时钟的12分频。所以每隔12个时钟周期[CH,CL]加1,当[CH,CL]增加到等于捕获/比较寄存器[CCAPnH,CCAPnL]的值