捕捉模式可以用來測頻率,在捕捉模式下,應通過將相應的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。
|