TMR1CS = 1
7.0 タイマ 2 モジュール タイマ 2 モジュール タイマ 2 モジュール タイマ 2 モジュール
タイマ 2 モジュールには次の機能があります。
•
8 ビットタイマ (TMR2 レジスタ )•
8 ビット周期レジスタ (PR2)•
リードおよびライト可能 ( 両レジスタ可能)•
ソフトウエア・プログラマブルプリスケーラ (1:1、1:4、1:16)•
ソフトウエア・プログラマブルポストスケーラ (1:1 から 1:16)•
PR2 の値と一致による TMR2 割り込み•
SSP モジュール用シフト・クロックタイマ 2 には図 7‑1に示すようなコントロールレジス タがあります。タイマ 2 はコントロールビット TMR2ON
(T2CON<2>) をクリアすることによりオフにできます。
これにより消費電力を最小限に抑えることができま す。
図 7‑2はタイマ2モジュールの簡単なブロック図です。
タ イ マ モ ジ ュ ー ル に つ い て の 更 に 詳 し い 説 明 は、
PICmicroTM ミッド・レンジ リファレンスマニュアル
(DS33023) を参照してください。
7.1 7.1 7.1
7.1 タイマ 2 の動作タイマ 2 の動作タイマ 2 の動作タイマ 2 の動作
タイマ 2 は CCP モジュールの PWM モード用の PWM タイ ムベースとして使用できます。
TMR2 レジスタはリードとライトが可能で、どのデバイ スリセットでもクリアされます。
入力クロック (FOSC/4) には 1:1、1:4 または 1:16 のプ リスケールオプションがあり、コントロールビット、
T2CKPS1:T2CKPS0 (T2CON<1:0>) により選択されます。
TMR2 の一致出力は(1:1 から 1:16 までのスケーリング に対応する)4 ビットのポストスケーラを通じて TMR2 割 り 込 み を 生 成 し ま す(フ ラ グ ビ ッ ト TMR2IF、
(PIR1<1>) にラッチされます)。
プリスケーラとポストスケーラのカウンタは、次のい ずれかが発生するとクリアされます。
•
TMR2 レジスタへのライト•
T2CON レジスタへのライト•
すべてのデバイスリセットT2CON がライトされたときは、TMR2 はクリアされませ ん。
図 7‑1:
図 7‑1:図 7‑1:
図 7‑1: T2CON: TIMER2 コントロールレジスタ ( アドレス 12T2CON: TIMER2 コントロールレジスタ ( アドレス 12T2CON: TIMER2 コントロールレジスタ ( アドレス 12T2CON: TIMER2 コントロールレジスタ ( アドレス 12hhhh))))
U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
— TOUTPS
3
TOUTPS 2
TOUTPS 1
TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 R= リード可能なビット
W= ライト可能なビット U= なし
‘0’としてリードする - n= POR リセットでの値
bit7 bit0
bit 7:
なし:なし:なし:なし: 0 とリードされるbit 6-3:
TOUTPS3:TOUTPS0: タイマ 2 出力ポストスケール選択ビット 0000 = 1:1 ポストスケール0001 = 1:2 ポストスケール
•
•
•
1111 = 1:16 ポストスケール
bit 2:
TMR2ON: タイマ 2 オン・ビット1 = タイマ 2 はオン 0 = タイマ 2 はオフ
bit 1-0:
T2CKPS1:T2CKPS0: タイマ 2 クロック・プリスケール選択ビット 00 = プリスケーラは 101 = プリスケーラは 4 1x = プリスケーラは 16
DS30292A-J-page 54
Preliminary
2000 Microchip Technology Inc.このデータシートは参考資料です。最新版英語データシートを参照してください。
(http://www.microchip.com から入手できます)
7.2 7.27.2
7.2 タイマ 2 割り込みタイマ 2 割り込みタイマ 2 割り込みタイマ 2 割り込み
タイマ 2 モジュールには 8 ビット周期のレジスタ PR2 があります。タイマ 2 は 00h から PR2 に一致するまで インクリメントして、次のインクリメントサイクルで 00h にリセットします。PR2 はリードおよびライト可能 なレジスタです。PR2 レジスタはリセット時に FFh に 初期化されます。
7.3 7.37.3
7.3 TMR2TMR2TMR2TMR2 の出力の出力の出力の出力
TMR2(ポストスケーラの前)の出力は、シフトクロッ クとして SSP モジュールで使用できます。
図 7‑2:
図 7‑2:図 7‑2:
図 7‑2: タイマ 2 のブロック図タイマ 2 のブロック図タイマ 2 のブロック図タイマ 2 のブロック図
表 7‑1 表 7‑1 表 7‑1
表 7‑1 タイマ/カウンタとしてのタイマ 2 に関連するレジスタタイマ/カウンタとしてのタイマ 2 に関連するレジスタタイマ/カウンタとしてのタイマ 2 に関連するレジスタタイマ/カウンタとしてのタイマ 2 に関連するレジスタ
Comparator Sets flag TMR2
TMR2 reg 出力 (1)
Reset ポストスケーラ
プリスケーラ
PR2 reg
2
Fosc/4
1:1 1:16
1:1, 1:4, 1:16
EQ 4 bit TMR2IF
to
注意 1: TMR2 レジスタの出力は、ボー・クロックとし ての SSP モジュールで使用できます。
Address Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 POR、BORPOR、BORPOR、BORPOR、BOR での値 での値 での値 での値
他の全て他の全て 他の全て他の全て のリセッ のリセッ のリセッ のリセッ トでの値トでの値 トでの値トでの値 0Bh,8Bh,
10Bh, 18Bh
INTCON GIE PEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x 0000 000u
0Ch PIR1 PSPIF(1) ADIF RCIF TXIF SSPIF CCP1IF TMR2IF TMR1IF 0000 0000 0000 0000
8Ch PIE1 PSPIE(1) ADIE RCIE TXIE SSPIE CCP1IE TMR2IE TMR1IE 0000 0000 0000 0000
11h TMR2 Timer2 module’s register 0000 0000 0000 0000
12h T2CON — TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 -000 0000 -000 0000
92h PR2 Timer2 Period Register 1111 1111 1111 1111
凡例 : x = 不定、 u = 不変、 - = なし、0 とリードされる。網掛部分はタイマ 2 モジュールでは使用しません。
注意 1: これらのビットは 28 ピンデバイスでは 0 にしておいてください。
2000 Microchip Technology Inc.
Preliminary
DS30292A-J-page 55 このデータシートは参考資料です。最新版英語データシートを参照してください。(http://www.microchip.com から入手できます)
8.0 8.0 8.0
8.0 キャプチャ/コンペア/ PWM キャプチャ/コンペア/ PWM キャプチャ/コンペア/ PWM キャプチャ/コンペア/ PWM (CCP) モジュール
(CCP) モジュール (CCP) モジュール (CCP) モジュール
各 CCP(キャプチャ/コンペア/ PWM) モジュールには 16 ビットのキャプチャ・レジスタ、16 ビットのコンペ ア・レジスタまたは PWM マスター/スレーブ・デュー ティ・サイクル・レジスタとして動作できる 16 ビット のレジスタがあります。
表 8‑1
に CCP モジュールモー ドのタイマー・リソースを示します。CCP1 はスペシャル・トリガを除けば CCP2 と同様です。
したがって、CCP1 のみについて説明します。
表 8‑2に二つの CCP モジュールを動作させたときの注 意点を示します。
CCP1 モジュール
キャプチャ/コンペア/ PWM レジスタ 1(CCPR1) は 2 つの 8 ビットレジスタ、CCPR1L( ロー・バイト)と CCPR1H( ハイ・バイト)で構成されます。CCP1CON レジ スタは CCP1 の動作を制御します。すべてのレジスタは リードおよびライトが可能です。
CCP2 モジュール
キャプチャ/コンペア/ PWM レジスタ 2(CCPR2) は 2 つの 8 ビットレジスタ、CCPR2L( ロー・バイト)と CCPR2H( ハイ・バイト)で構成されます。CCP2CON レジ スタは CCP2 の動作を制御します。すべてのレジスタは リードおよびライトが可能です。
CCP モジュールに関する更に詳しい説明は、PICmicroTM ミッド・レンジ リファレンスマニュアル(DS33023)
を参照してください。
表 8‑1 表 8‑1 表 8‑1
表 8‑1 CCP モード ‑ タイマのリソースCCP モード ‑ タイマのリソースCCP モード ‑ タイマのリソースCCP モード ‑ タイマのリソース
表 8‑2 表 8‑2表 8‑2
表 8‑2 2 つの CCP モジュールを動作させたときの注意点2 つの CCP モジュールを動作させたときの注意点2 つの CCP モジュールを動作させたときの注意点2 つの CCP モジュールを動作させたときの注意点
図 8‑1:
図 8‑1:図 8‑1:
図 8‑1: CCP1CON レジスタ ( アドレス 17CCP1CON レジスタ ( アドレス 17CCP1CON レジスタ ( アドレス 17CCP1CON レジスタ ( アドレス 17hhhh) / CCP2CON レジスタ ( アドレス 1D) / CCP2CON レジスタ ( アドレス 1D) / CCP2CON レジスタ ( アドレス 1Dh) / CCP2CON レジスタ ( アドレス 1Dhhh) ) ) ) CCP モード
CCP モード CCP モード
CCP モード タイマーリソースタイマーリソースタイマーリソースタイマーリソース
キャプチャ コンペア
PWM
タイマ 1 タイマ 1 タイマ 2
CCPx CCPxCCPx
CCPx モードモードモードモード CCPy モードCCPy モードCCPy モードCCPy モード 注意点注意点注意点注意点 キャプチャ キャプチャ 同じ TMR1 タイムベースになります。
キャプチャ コンペア コンペアはスペシャル・イベント・トリガ用に構成されたとき、TMR1 をクリアする。
コンペア コンペア コンペアはスペシャル・イベント・トリガ用に構成されたとき、TMR1 をクリアする。
PWM PWM 2 つの PWM は同じ周波数を持ち、レートを更新する(TMR2 割り込み)。 PWM キャプチャ なし
PWM コンペア なし
U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
— — CCPxX CCPxY CCPxM3 CCPxM2 CCPxM1 CCPxM0
R =
リード可能ビットW =
ライト可能ビットU =
なし、0 とリードされる- n =POR リセットでの値
bit7 bit0
bit 7-6:
なしなしなしなし: 0 とリードされるbit 5-4:
CCPxX:CCPxY: PWM 最下位ビット キャプチャモード: 未使用
コンペアモード: 未使用
PWM
モード: これらのビットはPWMデューティサイクルの2LSbです。8MSb はCCPRxLに割り当てられてい ます。bit 3-0:
CCPxM3:CCPxM0: CCPx モードセレクトビット0000 = キャプチャ / コンペア /PWM オフ(CCPx モジュールをリセットする)
0100 = キャプチャモード、立ち下がりエッジごと 0101 = キャプチャモード、立ち上がりエッジごと 0110 = キャプチャモード、立ち上がりエッジ4回ごと 0111 = キャプチャモード、立ち上がりエッジ16回ごと
1000 = コンペアモード、一致時に出力をセット (CCPxIF ビットをセットする)
1001 = コンペアモード、一致時に出力をクリア(CCPxIF ビットをセットする)
1010 = コンペアモード、一致時にソフトウェア割り込みを生成(CCPxIF ビットをセット、CCPx ピンには 影響しない。)
1011 = コンペアモード、スペシャル・イベント・トリガ(CCPxIF ビットをセット;CCP1 は TMR1 をリセッ ト、CCP2 は TMR1 をリセットして A/D 変換を開始する(A/D モジュールがイネーブルの場合)。 11xx = PWM モード
DS30292A-J-page 56
Preliminary
2000 Microchip Technology Inc.このデータシートは参考資料です。最新版英語データシートを参照してください。
(http://www.microchip.com から入手できます)
8.1 8.18.1
8.1 キャプチャモードキャプチャモードキャプチャモードキャプチャモード
キャプチャ・モードでは CCPR1H:CCPR1L は RC2/CCP1 ピ ンでイベントが発生すると、16 ビット値の TMR1 レジ スタをキャプチャします。イベントは次のように定義 されます。
•
立ち下がりエッジごと•
立ち上がりエッジごと•
立ち上がりエッジ4回ごと•
立ち上がりエッジ16回ごとイ ベ ン ト は コ ン ト ロ ー ル ビ ッ ト CCP1M3:CCP1M0 (CCP1CON<3:0>) により選択されます。キャプチャが発 生すると、割り込み要求フラグビットCCP1IF(PIR1<2>) がセットされます。このビットはソフトウエアでクリ アする必要があります。CCPR1 レジスタの値がリード される前に別のキャプチャが発生すると、その前に キャプチャされた値が失われます。
8.1.1 CCP ピンの構成
キャプチャモードでは、RC2/CCP1 ピンは TRISC<2> ビッ トをセットして入力にします。.
図 8‑2:
図 8‑2:図 8‑2:
図 8‑2: キャプチャモードのブロック図キャプチャモードのブロック図キャプチャモードのブロック図キャプチャモードのブロック図
8.1.2 タイマ 1 モードの選択
CCPモジュールがキャプチャ機能を使用するためには、
タイマ 1 はタイマモードまたは同期カウンタモードで 動作しなければなりません。非同期カウンタモードで は、キャプチャは機能しない場合があります。
8.1.3 ソフトウエア割り込み
キャプチャ・モードを途中で変更すると、不必要なキャ プ チ ャ 割 り 込 み が 発 生 す る 場 合 が あ り ま す。
CCP1IE(PIE1<2>) ビットをクリアして、不必要な割り 込みを防ぐようにしてください。また、そのような変 更後には、フラグビット CCP1IF を、クリアしてくださ い。
8.1.4 CCP プリスケーラ
4 種類のプリスケーラ設定が CCP1M3:CCP1M0 により指 定されます。CCP モジュールがオフのとき、または、
CCP モジュールがキャプチャモードでないときは、プ リスケーラカウンタは常にクリアされます。これは、
すべてのリセットがプリスケーラカウンタをクリアす るということです。
1 つのキャプチャプリスケーラを別のプリスケーラに 切り換えると、割り込みが発生する場合があります。
また、プリスケーラカウンタがクリアされないので、
最初のキャプチャがノンゼロのプリスケーラから来る ことがあります。例 8‑1にキャプチャプリスケーラ間 の切り替え方法の推奨例を示します。この例ではプリ スケーラカウンタもクリアしますが、「偽の」割り込み を発生することはありません。
例 8‑1:
例 8‑1:例 8‑1:
例 8‑1: キャプチャプリスケーラ間のキャプチャプリスケーラ間のキャプチャプリスケーラ間のキャプチャプリスケーラ間の 変更
変更 変更 変更
CLRF CCP1CON ;Turn CCP module off MOVLW NEW_CAPT_PS ;Load the W reg with ; the new prescaler
; mode value and CCP ON
MOVWF CCP1CON ;Load CCP1CON with this ; value
注意 :注意 :注意 :
注意 : RC2/CCP1 が出力として構成されていると きは、ポートへのライトによりキャプチャ が発生できます。
CCPR1H CCPR1L
TMR1H TMR1L
フラッグビット CCP1IFをセット (PIR1<2>)
キャプチャ イネーブル
Q’s CCP1CON<3:0>
RC2/CCP1
プリスケーラ
³ 1, 4, 16
and edge detect Pin