PIC18F14K50の基本動作から応用プログラムまでを学びます。

ホーム
16F18313
16F18325
16F18346
16F1619
Curiosity
---
---
    
12F1822
16F1455
16F1459
18F14K50
18F26J50
dsPIC
その他
CCP キャプチ

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