【PIC16F81xの入出力ピン】
PIC16F818/819の入出力ピンは、PIC16F84Aに比べ下記のように変更
されています。
(1) ポートAはデフォルトがアナログ入力
電源投入時、リセット時には、ポートAのRA0からRA4はアナログ入力と
なっています。
従って、ディジタル入出力ピンとして使うときには、ADCON1レジスタで
ディジタルモードに設定する必要があります。
(2) MCLRピンがポートAのRA5として使える
コンフィギュレーションビットのMCLREビットを0に設定すると、MCLRピン
をRA5ポートとして使うことができます。
ただし、RA5は入力ピンとしてしか使えず、出力はできません。入力バッファ
はシュミットトリガとなっています。
この場合、MCLR機能そのものは、内部で電源にプルアップされます。
(3) クロック発振用のOSC2ピンがポートAのRA6として使える
外付けで振動子を使わない場合には、OSC2ピンが空いた状態になるので
それをRA6ピンとして汎用の入出力ピンとして使うことができます。
この場合には、コンフィギュレーションビットのFOSC2:0ビットで適切な発振
モードを指定する必要があります。
(4) クロック発振用のOSC1ピンがRA7として使える
内部クロックを使う場合には、クロック発振用の端子OSC1も使用しません
ので、これをポートAのRA7として汎用の入出力ピンとして使うことができます。
(5) ポートAのRA4はオープンドレインではない
RA4ピンは84Aではオープンドレイン構成でしたが、PIC16F81xではトーテン
ポール構成に変わっていますので、電流吐き出しも可能になりました。
また入力側もシュミットトリガのバッファになっています。
(6) ポートBは内蔵モジュールの入出力と併用
ポートBは内蔵のCCPモジュール、SPIモジュール用の入出力ピンとしても
使いますので、汎用入出力ピンとして使うときには注意が必要です。
【ポートAの初期設定例】
デフォルトでアナログ入力になっているポートAを、ディジタル入出力として
使う場合の初期設定は下記のようにします。
下記には内部クロックモードのクロック周波数設定も含んでいます。