無断転載および再配布を禁じる。
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]
ビット | 名称 | 設定 | アセンブラー表記 | 機能 |
---|---|---|---|---|
13 | CP | 1 | _CP_OFF | プログラム読み出し許可 |
0 | _CP_ALL | プログラム読み出し禁止 | ||
12 | CCPMX | 1 | _CCP1_RB0 | RB0コンパレータ入力 |
0 | _CCP1_RB3 | RB3コンパレータ入力 | ||
11 | DEBUG | 1 | _DEBUG_OFF | インサーキットデバッガー禁止。RB7,6は入出力ポート |
0 | _DEBUG_ON | インサーキットデバッガー許可。RB7,6はそれぞれICSPCLK,ICSPDATとして機能する。 | ||
10,9 | WRT | 11 | _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書き込み防止。 | ||
8 | CPD | 1 | _CPD_ON | EEPROM読み出し許可 |
0 | _CPD_OFF | EEPROM読み出し禁止 | ||
7 | LVP | 1 | _LVP_ON | 低電圧書き込み許可。PGM(RB3)をハイレベルにして書き込む。 |
0 | _LVP_OFF | /MCLR端子に高電圧(VPP)を与えて書き込む。RB3(PGM)は通常の入出力ポート。 | ||
6 | BOREN | 1 | _BODEN_ON | 電圧低下(>4V)リセット許可 |
0 | _BODEN_OFF | 電圧低下リセット禁止 | ||
5 | MCLRE | 1 | _MCLRE_ON | RA5はMCLR機能で、負パルスでリセット |
0 | _MCLRE_OFF | RA5は通常の入出力ポート。 | ||
4,1,0 | FOSC | 111 | _EXTRC_CLKOUT | RA7が外部発振RC端子、RA6がクロック出力 |
110 | _EXTRC_IO | RA7が外部発振RC端子、RA6は通常の入出力ポート。 | ||
101 | _INTRC_CLKOUT | 内部クロック発振。RA6がクロック出力。RA7は通常の入出力ポート。 | ||
100 | _INTRC_IO | 内部クロック発振。RA6,7は通常の入出力ポート。 | ||
011 | _EXTCLK | 外部クロック。RA7が外部クロック入力、RA6は通常の入出力ポート。 | ||
010 | _HS_OSC | RA7とRA6に高ゲイン(HS)発振子。4MHz-20MHz。 | ||
001 | _XT_OSC | RA7とRA6に中ゲイン(XT)発振子。4MHz以下。 | ||
000 | _LP_OSC | RA7とRA6に32kHz(LP)発振子。 | ||
3 | PWRTEN | 1 | _PWRTE_OFF | 電源立ち上げ時遅延スタートなし |
0 | _PWRTE_ON | 電源立ち上げ時遅延スタートあり | ||
2 | WDTEN | 1 | _WDT_ON | 暴走自動停止あり |
0 | _WDT_OFF | 暴走自動停止なし。 |
[CONFIG2]
ビット | 名称 | 設定 | アセンブラー表記 | 機能 |
---|---|---|---|---|
13-2 | - | - | - | 機能無し。「1」として読み出し。 |
1 | IESO | 1 | _IESO_ON | 電源立ち上げ時非常用内蔵クロック(FRC)使用許可 |
0 | _IESO_OFF | 電源立ち上げ時非常用内蔵クロック(FRC)使用禁止 | ||
0 | FCMEN | 1 | _FCMEN_ON | 非常用内蔵クロック(FRC)使用許可 |
0 | _FCMEN_OFF | 非常用内蔵クロック(FRC)使用禁止 |
[CONFIGRATION WORD]
上記により、C:PBPフォルダ内にある16F88.INCファイルを添付のように書き換えると、Pickitの操作画面で「Configuration」をクリックしたとき、ウインドウが開いて次のように表示されます。