目次
→
PIC入門
→
877ハード
→
SFR
PIC16F877のSFR説明(1)
PORTD(Dポートレジスタ)/TRISD(Dポート設定レジスタ) 08h/88h
このレジスタは874および877に装備されているレジスタです。8ポートあります。
I/Oポート機能以外にパラレルスレーブポートとして使うことができます。パラレルスレーブポートは8ビットの並列通信を行う場合に使用します。
ポートの用途の切り替えはTRISEレジスタのPSPMODEで行います。このビットが"0"の場合にはPORTDはI/Oポートとして使用されます。PSPMODEが"1"の場合にはPORTDはパラレルスレーブポート(PSP)として使用されます。
I/Oポート時の入力/出力の切り替えはTRISDレジスタにより行います。TRISDレジスタの各ビットはPORTDレジスタの各ポートに対応しています。TRISDのビットを"0"にすると「出力ポート」、"1"にすると「入力ポート」として動作します。
PORTE(Eポートレジスタ) 09h
このレジスタは874および877に装備されているレジスタです。3ポートあります。
I/Oポート機能以外にパラレルスレーブポートの制御入力およびアナログ/デジタル変換の入力として使うことができます。
デジタルポートとして使用するか、AD変換のアナログポートとして使用するかは
ADCON1レジスタ
のPCFGビットで切り替えます。
また、デジタルポートの場合、I/Oポートとして使用するか、PSPの制御ポートとして使用するかはTRISEレジスタのPSPMODEにより切り替えます。
アナログ入力またはPSP制御ポートとして使用する場合、入出力モードは必ず入力モードに設定しなけれなばりません。
TRISE(Eポート設定レジスタ) 89h
このレジスタでEポートに関する各種設定を行います。
カッコ内の値は電源投入直後の状態です。
IBF
: 入力バッファ・フル・ステータスビット (読込専用)
1
:
1 ワードを受信後、CPU がリードするのを待機中
0
:
ワードの受信なし
OBF
: 出力バッファ・フル・ステータスビット (読込専用)
1
:
出力バッファはまだ以前にライトされたデータを保持している
0
:
出力バッファがリードされた
IBOV
: 入力バッファ・オーバーフロー検出ビット( マイクロプロセッサモード時)
1
:
以前の入力ワードがまだリードされていない時、ライトが発生した(ソフトでのクリアが必要)
0
:
オーバーフローの発生なし
PSPMODE
: パラレルスレーブポートモードセレクトビット
1
:
パラレルスレーブポートモード
0
:
汎用I/O モード
bit2
: RE2/CS(inv)/AN7 ピンの方向コントロールビット
1
:
入力
0
:
出力
bit1
: RE1/WR(inv)/AN6 ピンの方向コントロールビット
1
:
入力
0
:
出力
bit0
: RE0/RD(inv)/AN5 ピンの方向コントロールビット
1
:
入力
0
:
出力