PIC16F877Aコンフィグレーションの説明
・CP:Flash Program Memory Code Protection bit
有効時(0)、プログラムの内容を見られないようにします。
1 = Code protection off(プログラムの内容は見れる)
0 = All program memory code-protected(プログラムの内容は見れない)
・DEBUG:In-Circuit Debugger Mode bit
PICKEY(ICD)を使用する場合RB7、RB6は使用しません。Aポート以外の特定の
ポートを使用してデバッグを行います。(デバッグの使用は未確認)
1 = In-Circuit Debugger disabled, RB6 and RB7 are general purpose I/O pins
0 = In-Circuit Debugger enabled, RB6 and RB7 are dedicated to the debugger
・WRT:Flash Program Memory Write Enable bits
フラッシュメモリー書き込み禁止エリア、通常はOFFで使用(3)
11 = Write protection off; all program memory may be written to by EECON control
10 = 0000h to 00FFh write-protected; 0100h to 1FFFh may be written to by EECON control
01 = 0000h to 07FFh write-protected; 0800h to 1FFFh may be written to by EECON control
00 = 0000h to 0FFFh write-protected; 1000h to 1FFFh may be written to by EECON control
・CPD:Data EEPROM Memory Code Protection bit
EEPROMコードプロテクションビット、通常は書き込み可で使用(1)
1 = Data EEPROM code protection off(EEPROM書き込み可)
0 = Data EEPROM code-protected(EEPROM書き込み禁止)
・LVP:Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit
低電圧プログラミング指定ビット、RB3をPGMとして使用する。
1 = RB3/PGM pin has PGM function; low-voltage programming enabled
0 = RB3 is digital I/O, HV on MCLR must be used for programming
実験結果:
PICKEYは低電圧書き込みができず、書き込みはLVPのビットに影響なし。
・BOREN:Brown-out Reset Enable bit
電源の瞬停などで低電圧になった時リセットする。電源が安定していれば問題なし。
1 = BOR enabled(低電圧リセット使用)
0 = BOR disabled(低電圧リセット使用しない)
・PWRTE:Power-up Timer Enable bit(パワーアップタイマー)
パワーアップタイマー有効時(0)、電源を入れて、72msec後、プログラムが走ります。
1 = PWRT disabled(リセット後)
0 = PWRT enabled(電源投入72msec後)
・WDTE:Watchdog Timer Enable bit
ウォッチドグタイマーは、プログラム暴走自己診断に使用します。
1 = WDT enabled(ウォッチドグタイマー使用)
0 = WDT disabled(ウォッチドグタイマー使用しない)
・FOSC:Oscillator Selection bits
発振器指定ビット、ここが一番重要な設定です。回路やプログラムが正しくとも、
この設定が間違っているとPICは動きません。
11 = RC oscillator(RC発振器)内部発振回路を、抵抗とコンデンサーの組み合わせで発振させる。
10 = HS oscillator(HS発振器)4MHz~20MHz(通常これを使用する)。
01 = XT oscillator(XT発振器)200KHz~4MHz。
