PIC−USBIO using BASIC
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
USBインターフェースを内蔵したPICを使ってWindowsパソコンで外部回路を制御するための各種I/O基板の製作記事です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第103回]
●PICUSBIO−03(52)Timer2
Timer2は今まで説明してきましたTimer0、Timer1、Timer3とは大きく異なっています。
Timer2もタイマ、カウンタですが16ビットではなくて8ビットです。
入力クロックとしてはシステムクロックの1/4のクロックを使います。
しかし他のTimerのように外部クロックを使うことはできません。
割り込み機能はありますがオーバーフロー割り込みではありません。
コンパレータとして使うための8bitレジスタPR2が用意されていて、Timer2(TMR2)の値とPR2の値が一致すると割り込みフラグがセットされます。
割り込みフラグがセットされるとともにTimer2はクリアされ、00から再びカウントを続けますがPR2はクリアされません。
この機能によってTimer2を上限カウント値が設定できるタイマーとして使うことができます。
TMR2もPR2もプログラムでREAD/WRITEできます。
Timer2はMSSPモジュールおよびCCPモジュールのPWMモードのTimerとして使われます。
下はPIC18F13K50 Data SheetのTimer2の最初のページです。
[出典]Microchip Technology Inc. PIC18F13K50/14K50 Data Sheet
T2CONはTimer2の特殊レジスタです(以下普通にレジスタと表記します)。
PICOUT命令、PICIN関数でWRITE/READできます。
Timer2は4bitのプリスケーラと4ビットのポストスケーラを使うことができます。
その両方をフルに使えば不完全ではありますが16bitタイマ/カウンタとして使うことも可能になります。
bit6〜bit3でポストスケーラの分周比を1:1〜1:16の16通りの値に設定します。
bit2=1のときカウントスタート、=0のときカウントストップします。
bit1、bit0でプリスケーラの分周比を設定します。
00=1:1
01=1:4
1X=1:16
Data Sheetの続きです。
[出典]Microchip Technology Inc. PIC18F13K50/14K50 Data Sheet
FIGURE12−1はTimer2のブロック図です。
TMR2はカウントする毎にPR2とコンパレータで比較されます。
値が一致するとそのときのTMR2の値がPWMモジュールとMSSPモジュールに送られます。
またポストスケーラに設定した分周比に従ってTMR2割り込みがセットされます。
PIC−USBIO using BASIC[第103回]
2022.11.18upload
前へ
次へ
ホームページトップへ戻る