PIC16F88のコンフィギュレーション

無断転載および再配布を禁じる。
Copyright (c) 2014 All rights reserved.


注意1:この文書の記載内容については、著作者はいっさいの責任を負いません。
各製品添付の資料で確認のうえ、自己責任でご利用ください。
注意2:この文書の内容に関して、各製品の販売元およびメーカーはまったく無関係であり、いっさいの責任がありません。
この文書に関して、販売元やメーカーへの問い合わせなどは固く禁じます。
備考:このような文字の部分は、マウスカーソルを重ねると、補助説明が表示されます。

コンフィギュレーションは、プログラムのソースファイルまたはINC(設定)ファイルに書き込みます。
ソースファイルに書き込む場合は、ソースプログラムの本文と区別するために、各行頭に「@」を付けます。

次のようなアセンブラーソフトに対する「擬似命令」を使って書きます。

擬似命令機能記述例
LISTアセンブル結果をリスト出力する。
NOLISTアセンブル結果をリスト出力しない。
INCLUDEアセンブルの際に読み込む他の定義ファイルを指定する。INCLUDE "P16F88.INC"
__CONFIGコンフィギュレーションを設定する。__config _CONFIG1, _DEBUG_OFF &・・・

16F88の場合、使い方によっては、コンフィギュレーションの設定がコンパイラーのデフォルトのままではうまく動かない場合があります。
下の表で水色に着色してある行は、ひとまず支障なく動作した設定例です。
動作しない場合は、コンパイラーのデフォルト設定を確認のうえ、異なる箇所(ビット)はプログラムのソースファイルまたはINC(設定)ファイルで書き換え、または書き加えてみてください。

なお、16F88は、低電圧書き込みのときRB3(PGM)端子をプルアップするので、ここがプルアップされているとVPPを使うライタ(PICKIT2など)は「認識しない」場合があります。
VPPを使う書き込みをするときは、回路でRB3(PGM)をプルアップしないでください。

また、16F88には、以下のようにコンフィギュレーション・レジスタがふたつあります。

[CONFIG1]

ビット名称設定アセンブラー表記機能
13CP1_CP_OFFプログラム読み出し許可
0_CP_ALLプログラム読み出し禁止
12CCPMX1_CCP1_RB0RB0コンパレータ入力
0_CCP1_RB3RB3コンパレータ入力
11DEBUG1_DEBUG_OFFインサーキットデバッガー禁止。RB7,6は入出力ポート
0_DEBUG_ONインサーキットデバッガー許可。RB7,6はそれぞれICSPCLK,ICSPDATとして機能する。
10,9WRT11_WRT_PROTECT_OFFフラッシュプログラムメモリ書き込み防止なし
10_WRT_PROTECT_256フラッシュプログラムメモリ00-00FF書き込み防止。それ以降0FFFまでEECONで設定する。
01_WRT_PROTECT_2048フラッシュプログラムメモリ00-07FF書き込み防止。それ以降0FFFまでEECONで設定する。
00_WRT_PROTECT_ALLフラッシュプログラムメモリ00-0FFF書き込み防止。
8CPD1_CPD_ONEEPROM読み出し許可
0_CPD_OFFEEPROM読み出し禁止
7LVP1_LVP_ON低電圧書き込み許可。PGM(RB3)をハイレベルにして書き込む。
0_LVP_OFF/MCLR端子に高電圧(VPP)を与えて書き込む。RB3(PGM)は通常の入出力ポート。
6BOREN1_BODEN_ON電圧低下(>4V)リセット許可
0_BODEN_OFF電圧低下リセット禁止
5MCLRE1_MCLRE_ONRA5はMCLR機能で、負パルスでリセット
0_MCLRE_OFFRA5は通常の入出力ポート。
4,1,0FOSC111_EXTRC_CLKOUTRA7が外部発振RC端子、RA6がクロック出力
110_EXTRC_IORA7が外部発振RC端子、RA6は通常の入出力ポート。
101_INTRC_CLKOUT内部クロック発振。RA6がクロック出力。RA7は通常の入出力ポート。
100_INTRC_IO内部クロック発振。RA6,7は通常の入出力ポート。
011_EXTCLK外部クロック。RA7が外部クロック入力、RA6は通常の入出力ポート。
010_HS_OSCRA7とRA6に高ゲイン(HS)発振子。4MHz-20MHz。
001_XT_OSCRA7とRA6に中ゲイン(XT)発振子。4MHz以下。
000_LP_OSCRA7とRA6に32kHz(LP)発振子。
3PWRTEN1_PWRTE_OFF電源立ち上げ時遅延スタートなし
0_PWRTE_ON電源立ち上げ時遅延スタートあり
2WDTEN1_WDT_ON暴走自動停止あり
0_WDT_OFF暴走自動停止なし。

[CONFIG2]

ビット名称設定アセンブラー表記機能
13-2---機能無し。「1」として読み出し。
1IESO1_IESO_ON電源立ち上げ時非常用内蔵クロック(FRC)使用許可
0_IESO_OFF電源立ち上げ時非常用内蔵クロック(FRC)使用禁止
0FCMEN1_FCMEN_ON非常用内蔵クロック(FRC)使用許可
0_FCMEN_OFF非常用内蔵クロック(FRC)使用禁止

[CONFIGRATION WORD]

上記により、C:PBPフォルダ内にある16F88.INCファイルを添付のように書き換えると、Pickitの操作画面で「Configuration」をクリックしたとき、ウインドウが開いて次のように表示されます。

CONFIGRATION WORD inserted by FC2 system