[PIC]PIC16F88でPortAが入出力ピンとして動作しない場合にチェックする事

PIC16F88にあるPortAのうち、RA0-RA4はアナログ入力と兼用になっているのですが、デフォルトではアナログ入力側が有効になっているのでデジタルのI/Oとして使用できません。


この為、ANSELレジスタ(Analog Select Register)をデジタル入出力として設定する必要があります。

ANSELレジスタ(0x9B)

bit7  unimpremented
bit6  ANS6
bit5  ANS5
bit4  ANS4
bit3  ANS3
bit2  ANS2
bit1  ANS1
bit0  ANS0


ANSnはANnピンのモード指定で、0でデジタル入出力、1でアナログ入出力となります。
PIC16F88は、RA0~RA4がAN0~AN4にマッピングされているので下位5bitを操作すればOKです。
RB6,7も同様にデジタル入出力として使う場合はbit5,6を操作します。

例えば,RA0-RA5をデジタル出力ピンにする設定をHI-TECH Cのコードで書くと以下のようになります。

TRISA  = 0x00;			// PortAをすべて出力にする
ANSEL  = 0x00;			// AN1-AN6を使用しない(すべてデジタル出力にする)


関連記事

One Response to “[PIC]PIC16F88でPortAが入出力ピンとして動作しない場合にチェックする事”

  1. 飯島 忠男 より:

     PIC16F88のAN0からAN4までをANSEL = 0x00; // AN1-AN6を使用しない(すべてデジタル出力にする) する事によって RA0かRA4にする事によって デジタルIOで動作した。

飯島 忠男 へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。