今回の記事はPIC12F629を基準にしています。

PIC12F675は今回使用したPIC12F629の上位互換品です。

 

またCONFIG設定は汎用的なため、別のPICでも参考になるかもしれません。

 

 

データシートから引用

 

今回は上のレジスタの中身について解説していきます。

 

・BG1 GB0

BODやPORの基準電圧を調整します。
 
BODとはBrown-out Detect の略です。マイコンには必要な電圧が決まっており、その電圧を下回ったまま動作させると誤動作を起こすことがあります。それら防ぐためにある程度電圧が低下したらマイコンを動作させない様にするための装置です。
 
PORとはLow-Power Power-on Resetの略です。マイコンの電源を入れた直後はIC内部にある寄生容量等のコンデンサ成分で電圧が上がるのに多少時間がかかります。その際電圧が低いときにマイコンがONしてしまうと、マイコンが誤動作を起こす可能性があるため、それらを防ぐために電源を入れて少し経ってからマイコンが動作を始めるような装置です。
 
 
これらはマイクロチップ社が出荷する際に調整をしているようです。
おそらく変更する必要がありません。(変更してはいけないかもしれません)
 
 

・CPD

CPDはData Code Protectの略です。
PICはEEPROMに書き込んだデータを読み出す機能があります。
それらを制限するかを選択できます。
 
1.プロテクト無効
0.プロテクト有効
 
 

・CP

CPはCode Protectの略です。
PICには書き込んだソースコードを読み出す機能があります。
それらを制限するか選択できます。
 
1.プロテクト無効
0.プロテクト有効
 
 

・BODEN

Brown-Out Detect Enableの略です。
BOD (Brown-Out Detect)はマイコンには必要な電圧が決まっており、その電圧を下回ったまま動作させると誤動作を起こすことがあります。それら防ぐためにある程度電圧が低下したらマイコンを動作させない様にするための装置です。
 
1.BOD有効
0.BOD無効
 
Power-up Timerを設定しないとBODは動作しません。
BODENを有効にしてもPower-up Timer は設定されません。
Power-up Timerも有効にしてください。
 
 

・MCLRE

GP3/MCLR Pin Function Select bitの略です。
GP3/MCLRピンをGP3(GPIO)として使用するか、MCLRピンとして使用するか選択出来ます。
 
MCLRピンとはリセットピンのことです。
 

0. GP3/MCLRピンを GP3(GPIO)として利用する

1. GP3/MCLRピンを MCLR(リセットピン)として利用する
 
基本的にはMCLRとして利用する事を推奨します。
 
 

・PWRTE

Power-up Timer Enable bitの略です。
BOD PORを有効にするためのタイマービットです。
 
正確にはBOD PORをそれぞれセットすることでPWRTEを使用します。
 
1. PWRT無効
0. PWRT有効
 
 

・WDTE

Watchdog Timer Enable bitの略です。
 
Watchdog Timer(WDT)とはプログラムが固まってしまったなどの予期せぬマイコンの停止の際にリセットをかける機能です。
WDTを使用するにはWDTのカウンタの数字を定期的にリセットさせる必要があります。
WDTのリセットにはCLRWDTを使用するようです。(検証していないため詳しくは分かりません)
 
1. WDT有効
0. WDT無効
 
 

・FOSC2:FOSC0

Oscillator Selection bitsの略です。
 
111 . RCオシレーター GP4/OSC2/CLKOUT : CLKOUTとして
GP5/OSC1/CLKIN RC回路を接続
 
110 . RCオシレーター GP4/OSC2/CLKOUT : GP4 (GPIO)として
GP5/OSC1/CLKIN RC回路を接続
 
101 . INTOSC オシレーター GP4/OSC2/CLKOUT : CLKOUTとして
GP5/OSC1/CLKIN GP5 (GPIO)として
 
100 . INTOSC オシレーター GP4/OSC2/CLKOUT : GP4 (GPIO)として
GP5/OSC1/CLKIN GP5 (GPIO)として
 
011 . ECオシレーター GP4/OSC2/CLKOUT : CLKOUTとして
GP5/OSC1/CLKIN GP5 (GPIO)として
EC:外部クロックを入力します。
 
010 . HSオシレーター 
HS:ハイスピードクリスタル 8MHz ~ 16MHzを接続
 
001 . XTオシレーター
XT:クリスタル/レゾネータ 455kHz~4.0MHzを接続
 
000 . LPオシレーター
LP:低消費電力クリスタル 32kHzを接続
 
 
 
 
結構複雑なように見えて案外単純です。
 
次は実際にプログラムに書き込んでみようかなと思います。