【コンフィギュレーションビット】
このコンフィギュレーションビットとは、PICのデバイスごとに内蔵ハードウェア
の使い方を設定するもので、プログラム命令では設定できません。
これはPICへのプログラムの書き込みのときにPICプログラマで書き込みます。
手動で指定して書き込むことも出来ますが、「#fuses」プリプロセッサで指定して
おけば、MPLABに内蔵しているプログラマ制御プログラムが自動的に
PICプログラマを制御して書き込んでくれます。
こうすれば書き込みを忘れることも無いので便利です。
【#fusesプリプロセッサ】
#fusesプリプロセッサの書式は例えば下記のようにします。
#fuses HS, NOWDT, PUT, NOPROTECT
#fuses HS,NOWDT,NOPROTECT,PUT,BROWNOUT,NOLVP
このようにパラメータを#fusesの後に並べて記述しますが、#fusesプリプロセッサの
パラメータはデバイス毎に異なっています。
どんなパラメータがあるかを知りたいときには、デバイス毎のヘッダファイルを
テキストエディタなどで開いて読めば、最初の方にコメントで記述してあるので、
これとPICのデータシートを比較すれば理解できると思います
【#fusesパラメータ一覧】
下記は代表的なPIC16F87xシリーズのコンフィギュレーションビットの
パラメータ例です。
パラメータ名 意味内容 クロック発振モード指定 XT 4MHz以下の外部振動子 LP 200kHz以下の外部振動子 HS 4MHz以上の外部振動子 RC 内部RC発振モード ウォッチドッグタイマ NOWDT ウォッチドッグタイマを使用しない(通常) WDT ウォッチドッグタイマを使用する パワーアップタイマ NOPUT パワーアップタイマを使用しない PUT パワーアップタイマを使用する(通常 コードプロテクト PROTECT コードをプロテクトする PROTECT_5% 5%だけプロテクトする PROTECT_50% 50%だけプロテクトする NOPROTECT コードをプロテクトしない ブラウンアウトリセット NOBROWNOUT ブラウンアウトリセットをしない BROWNOUT ブラウンアウトリセットをする 低電圧プログラム LVP 低電圧プログラムをする NOLVP 低電圧プログラムをしない メモリライト CPD プログラムメモリ書き込み許可 NOCPD プログラムメモリ書き込み禁止 EEPROMデータプロテクト WRT EEPROMデータプロテクトをする NOWRT EEPROMデータプロテクトをしない