---
---
ECCP (Enhanced Capture/Compare/PWM)のCaptureモードは、CCP1 ピンでイベントが発生すると、タイマー1またはタイマー3 の16ビットの値がCCPR1H:CCPR1L レジスタペアにキャプチャ(コピー)されます。キャプチャする CCP1 ピンのイベントは、以下のいずれかの動作を指定します。
この機能を活用することで、繰返し周波数の遅いパルスの周期、繰返し時間を測定することが可能です。
*注意*
キャプチャモードを変更すると、誤ったキャプチャ割り込みが発生する恐れがあります。このような誤動作を避けるために、割り込みイネーブルビットCCP1IE をクリアしておく必要があります。また、動作モードの変更後は、割り込みフラグビットCCP1IF もクリアする必要があります。なお、CCP1(RC5)をCCPの入力に使用する場合には、TRISCのビットを"1"入力に設定する必要があります。
関連するレジスター一覧を下表に示します。
レジスタ | bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 |
---|---|---|---|---|---|---|---|---|
RCON | IPEN | SBOREN | — | RI | TO | PD | POR | BOR |
INTCON | GIE/GIEH | PEIE/GIEL | TMR0IE | INTIE | RABIE | TMR0IF | INT0IF | RABIF |
PIR1 | - | ADIF | RCIF | TXIF | SSP1IF | CCP1IF | TMR2IF | TMR1IF |
PIE1 | - | ADIE | RCIE | TXIE | SSP1IE | CCP1IE | TMR2IE | TMR1IE |
IPR1 | — | ADIP | RCIP | TXIP | SSPIP | CCP1IP | TMR2IP | TMR1IP |
CCP1CON | P1M < 1 - 0 > | DC1B < 1 - 0 > | CCP1M < 3 - 0 > | |||||
TRISC | TRISC7 | TRISC6 | TRISC5 | TRISC4 | TRISC3 | TRISC2 | TRISC1 | TRISC |
CCPR1L | CCP Register 1, Low Byte | |||||||
CCPR1H | CCP Register 1, High Byte |
レジスタ | BIT | 名 | 説明 | 1 | 0 |
---|---|---|---|---|---|
RCON | 7 | IPEN | 2レベルのインタラプト優先度 | 使用 | 不 |
INTCON | 7 | GIEH | 高優先度インタラプトを使用許可 | 許可 | 不 |
6 | GIEL | 低優先度インタラプトを使用許可 | 許可 | 不 | |
PIR1 | 1 | CCP1IF | CCP1 発生フラグ | 発生 | |
PIE1 | 1 | CCP1IE | CCP1 インタラプトを使用許可 | 許可 | 不 |
IPR1 | 1 | CCP1IP | CCP1 インタラプト優先度 | 高 | 低 |
CCP1CON | 3 | CCP1M3 | 0000 =モジュール全体をOFF (初期値) 0100 =立ち下がりエッジごと、 0101 =立ち上がりエッジごと 0110 =立ち上がりエッジ 4 回ごと 0111 =立ち上がりエッジ 16 回ごと |
||
2 | CCP1M2 | ||||
1 | CCP1M1 | ||||
0 | CCP1M0 |