PICマイコンを利用した自動車用電子工作 
 PIC>初期設定
 MENU
 ・ PIC12F629
 ・ PIC12F675
 ・ PIC16F819
 ・ PIC16F84A
 ・ ソースコード集 
 ・ ルーチンソース
 ・ 基本構成
 ・ 初期設定
 ・ 用語メモ
 

 よくあるレジスタ設定 for PIC12F629/675

レジスタ  機 能  解 説
ADCON0  A/D制御レジスタ

 ・ A/Dコンバータの設定を行う。


bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
ADFM VCFG - - CHS1 CHS0 GO/DONE ADON

bit 7   A/D 変換結果選択ビット
  ・ 1 = 右8ビット選択
  ・ 0 = 左8ビット選択
bit 6  標準電圧(ボルテージ・レファレンス)ビット
  ・ 1 = VREF ピン
  ・ 0 = VDD
bit 5  未使用
bit 4  未使用
bit 3  アナログチャンネル選択ビット
  ・ 00 = チャンネル 00 (AN0)
  ・ 01 = チャンネル 01 (AN1)
  ・ 10 = チャンネル 02 (AN2)
  ・ 11 = チャンネル 03 (AN3)
bit 2
bit 1  A/D 変換開始/完了ビット
  ・ 1 = A/D 変換スタート
  ・ 0 = A/D 変換完了(A/D変換が完了すると"0"になる)
bit 0  A/D コンバータ設定ビット
  ・ 1 = A/D コンバータ有効
  ・ 0 = A/D コンバータ無効

レジスタ  機 能  解 説 ・ ヒント
ANSEL  アナログ・セレクト・レジスタ

 ・ A/Dコンバータのクロックを選択する。
 ・ アナログ入力ポートを設定する。
 ・ GP2等をデジタルインプットとして使用する場合は、ANSビットをゼロにセットしておくこと


bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
- ADCS2 ADCS1 ADCS0 ANS3 ANS2 ANS1 ANS0

bit 7   未使用
bit 6  A/D コンバータ クロック選択ビット
  ・ 000 = FOSC/2
  ・ 001 = FOSC/8
  ・ 010 = FOSC/32
  ・ x11 = FRC (内部オシレータ設定 = 500 kHz max)
  ・ 100 = FOSC/4
  ・ 101 = FOSC/16
  ・ 110 = FOSC/64
bit 5
bit 4
bit 3  アナログ入力ポート選択ビット
  ANS3:GP4,ANS2:GP2,ANS1:GP1,ANS0:GP0に対応
  ・ 1 = アナログInput
  ・ 0 = デジタルI/O

  なお、別途TRISIOレジスタにて入力ポートとして設定しておく必要がある。
bit 2
bit 1
bit 0

レジスタ  機 能  解 説
CMCON  コンパレータ・コントロール・レジスタ

 ・ GP0からGP2までをデジタルIOポートとして利用する場合、コンパレータの機能を停止させておく必要がある。
   → CM<2:0>=111
 ・ コンパレータを搭載したPIC16F648でも同じ


bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
- COUT - CINV CIS CM2 CM1 CM0

bit 7   未使用
bit 6  コンパレータ出力ビット
 ○ CINV = 0のとき
  ・ 1 = VIN+ > VIN-
  ・ 0 = VIN+ < VIN-
 ○ CINV = 1のとき
  ・ 1 = VIN+ < VIN-
  ・ 0 = VIN+ > VIN-
bit 5  未使用
bit 4  コンパレータ出力反転ビット
  ・ 1 = 出力反転
  ・ 0 = 出力非反転
bit 3  コンパレータ入力スイッチビット
 ○ CM2:CM0 = 110 または101のとき
  ・ 1 = VIN- connects to CIN+
  ・ 0 = VIN- connects to CIN
bit 2  コンパレータモードビット
  ・ 011 = GP1:アナログ/Vref:内部設定
  ・ 111 = コンパレータ オフ/GP<0:2>:デジタル
bit 1
bit 0

レジスタ  機 能  解 説
INTCON  インターラプト・コントロール・レジスタ

 ・ 割り込み(インターラプト)の設定を行う。


bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
GIE PEIE T0IE INTE GPIE T0IF INTF GPIF

bit 7  GIE: グローバル割り込みイネーブルビット
  ・ 1 = 全てのマスクされていない割り込み発生を許可する
  ・ 0 = 全ての割り込み発生を禁止する
bit 6 PEIE: 周辺機器(Peripheral )割り込みイネーブルビット
  ・ 1 = 全てのマスクされていない周辺機器割り込み発生を許可する
  ・ 0 = 全ての周辺機器割り込み発生を禁止する
bit 5 T0IE: TMR0 オーバーフロー割り込みイネーブルビット
  ・ 1 = TMR0 割り込み発生を許可する
  ・ 0 = TMR0 割り込み発生を禁止する
bit 4 INTE: GP2/INT 割り込みイネーブルビット
  ・ 1 = GP2/INT 割り込み発生を許可する
  ・ 0 = GP2/INT 割り込み発生を禁止する
bit 3 GPIE: ポート変化割り込みイネーブルビット
  ・ 1 = GPIO ポート変化割り込み発生を許可する
  ・ 0 = GPIO ポート変化割り込み発生を禁止する
  ※同時にIOCレジスタでポートを指定する必要あり
bit 2 T0IF: TMR0 オーバーフロー割り込みフラグビット
  ・ 1 = TMR0 がオーバーフローした ( ソフトウェアでクリア要)
  ・ 0 = TMR0 がオーバーフローしていない
bit 1 INTF: GP2/INT 割り込みフラグビット
  ・ 1 = GP2/INT 割り込みが発生した ( ソフトウェアでクリア要)
  ・ 0 = GP2/INT 割り込みが発生していない
bit 0 GPIF: ポート変更割り込みフラグビット
  ・ 1 = 少なくとも 1 つ以上の GP5:GP0 ピンの状態が変化した ( ソフトウェアでクリア要)
  ・ 0 = 状態が変化した GP5:GP0 ピンはない

レジスタ  機 能  解 説
VRCON  ボルテージ・レファレンス・コントロール・レジスタ
 ・ コンパレータのレファレンス電圧は内部でも設定が可能。

bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
VREN - VRR - VR3 VR2 VR1 VR0

bit 7   CVREF レファレンス設定ビット
  ・ 1 = CVREF 内部設定オン
  ・ 0 = CVREF 内部設定オフ
bit 6  未使用
bit 5  CVREF レンジ選択ビット
  ・ 1 = ローレンジ
  ・ 0 = ハイレンジ
bit 4  未使用
bit 3  レファレンス電圧選択ビット
 ○ VRR(bit 5) = 1 のとき
   CVREF = (VR3:VR0 / 24) * VDD
 ○ VRR(bit 5) = 0 のとき
   CVREF = VDD/4 + (VR3:VR0 / 32) * VDD 

bit 2
bit 1
bit 0


 よくあるレジスタ設定 for PIC16F819

レジスタ  機 能  解 説
INTCON  インターラプト・コントロール・レジスタ

 ・ 割り込み(インターラプト)の設定を行う。


bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
GIE PEIE TMR0IE INTE RBIE TMR0IF INTF RBIF

bit 7  GIE: グローバル割り込みイネーブルビット
  ・ 1 = 全てのマスクされていない割り込み発生を許可する
  ・ 0 = 全ての割り込み発生を禁止する
bit 6 PEIE: 周辺機器(Peripheral )割り込みイネーブルビット
  ・ 1 = 全てのマスクされていない周辺機器割り込み発生を許可する
  ・ 0 = 全ての周辺機器割り込み発生を禁止する
bit 5 TMR0IE: TMR0 オーバーフロー割り込みイネーブルビット
  ・ 1 = TMR0 割り込み発生を許可する
  ・ 0 = TMR0 割り込み発生を禁止する
bit 4 INTE: RB0/INT 割り込みイネーブルビット
  ・ 1 = RB0/INT 割り込み発生を許可する
  ・ 0 = RB0/INT 割り込み発生を禁止する
bit 3 RBIE: RB ポート変化割り込みイネーブルビット
  ・ 1 = RB ポート変化割り込み発生を許可する
  ・ 0 = RB ポート変化割り込み発生を禁止する
bit 2 TMR0IF: TMR0 オーバーフロー割り込みフラグビット
  ・ 1 = TMR0 がオーバーフローした ( ソフトウェアでクリア要)
  ・ 0 = TMR0 がオーバーフローしていない
bit 1 INTF: RB0/INT 割り込みフラグビット
  ・ 1 = RB0/INT 割り込みが発生した ( ソフトウェアでクリア要)
  ・ 0 = RB0/INT 割り込みが発生していない
bit 0 RBIF: RB ポート変更割り込みフラグビット
  ・ 1 = 少なくとも 1 つ以上の RB7:RB4 ピンの状態が変化した ( ソフトウェアでクリア要)
  ・ 0 = 状態が変化した RB7:RB4 ピンはない

レジスタ  機 能  解 説
OSCCON  オシレータ・コントロール・レジスタ

 ・ 内蔵オシレータの設定を行う。
 ・ Bank 1
 ・ オシレータのコンフィグ設定は『_INTRC_IO』とする

bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
- IRCF2 IRCF1 IRCF0 - IOSF - -

bit 7   未使用
bit 6  内蔵オシレータ周波数選択ビット (bit 6 bit 5 bit 4)
  ・ 111 = 8MHz
  ・ 110 = 4MHz
  ・ 101 = 2MHz
  ・ 100 = 1MHz
  ・ 011 = 500kHz
  ・ 010 = 250kHz
  ・ 001 = 125kHz
  ・ 000 = 31.25kHz
bit 5
bit 4
bit 3  未使用
bit 2  内蔵オシレータ周波数安定ビット
  ・ 1 = 安定
  ・ 0 = 非安定
bit 1  未使用
bit 0  未使用



掲載内容の判断や施工する際は、全て自己責任に基づき実行して下さい
無断転用をお断りします

Copyright(C) 2003-2009 AOI all rights reserved