PIC18F452 の Configuration

PIC18F452の
コンフイギュレーション

設定するメモリーアドレスは300000h番地から30000Dh番地までの14の番地が割り当てられています。実際には300000h、300004h、300007h番地は使用されていません。

アドレス に対する File Name (レジスター)は次の通り11個あります。

300001h     CONFIG1H    発振方式の設定

300002h     CONFIG2L    Brown−out と Power−up Timer
300003h     CONFIG2H    ワッチドッグタイマーの設定

300005h     CONFIG3H    CCPの入出力

300006h     CONFIG4L    RB6、RB7用途切替、ICSPスタックオーバーなどのリセット

300008h     CONFIG5L    プログラムメモリー4区分のコードプロテクト
300009h     CONFIG5H    EEPROMのコードプロテクトおよび
                         ブートブロックエリアのコードプロテクト
30000Ah     CONFIG6L    プログラムメモリー4区分のライトプロテクト
30000Bh     CONFIG6H    データEEPROMのライトプロテクトおよび
                        Configurationレジスターとブートブロックのライトプロテクト

30000Ch     CONFIG7L    プログラムメモリー4区分のリードプロテクト
30000Dh     CONFIG7H    ブートブロックメモリーのリードプロテクト

メモリーエリア
000000h〜0001FFh  ブートブロック
000200h〜001FFFh  プログラムメモリー ブロック 0
002000h〜003FFFh  プログラムメモリー ブロック 1
004000h〜004FFFh  プログラムメモリー ブロック 2
006000h〜007FFFh  プログラムメモリー ブロック 3
コードプロテクト、リードプロテクト、ライトプロテクトは上記ブロックごとに行なえます。

従来、PIC16F84A や PIC16F877 などてプログラムの最初に書いていた1〜2行のコンフィギュレーションは簡単でしたが PIC18F452 では、例えば次のようになります。

__CONFIG _CONFIG1H, _OSCS_OFF_1H & _HS_OSC_1H

__CONFIG _CONFIG2L, _BOR_ON_2L & _BORV_20_2L & PWRT_OFF_2L

__CONFIG _CONFIG2H, _WDT_OFF_H2 & _WDTPS_128_2H

__CONFIG _CONFIG3H, _CCP2MX_ON_3H

__CONFIG _CONFIG4L, _STVR_OFF_4L & _LVP_OFF_4L & _DEBUG_OFF_4L

__CONFIG _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L & _CP2_OFF_5L & _CP3_OFF_5L

__CONFIG _CONFIG5H, _CPB_OFF_5H & _CPD_OFF_5H

__CONFIG _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L & _WRT2_OFF_6L & WRT3_OFF_6L

__CONFIG _CONFIG6H, _WRTC_OFF_6H & _WRTB_OFF_6 & _WRTD_OFF_6H

__CONFIG _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L & _EBTR2_OFF_7L & _EBTR3_OFF_7L

__CONFIG _CONFIG7H, _EBTRB_OFF_7H

2002.11.20
 
コンフイギュレーションの新しい書式
MPLAB IDC v6.x から v7.x になって上のコンフイギュレーションの書き方では ICD 2 でアッセンブル(ビルド)すると Warning が出ます。
マイクロチップ社では上の面倒な書き方を次のような書き方に改めてくれました。
 
下記はPIC18F452のコンフイギュレーションの新しい書き方例です。
 
CONFIG OSC = HS
CONFIG OSCS = OFF   ; OFF は Disabled ON は Enabled です
CONFIG PWRT = OFF
CONFIG BOR = ON
CONFIG WDT = OFF
CONFIG WDTPS = 25
CONFIG CCP2MUX = OFF
CONFIG STVR = OFF
CONFIG LVP = OFF
CONFIG DEBUG = OFF
CONFIG CP0 = OFF
CONFIG CP1 = OFF
CONFIG CP2 = OFF
CONFIG CP3 = OFF
CONFIG CPB = OFF
CONFIG CPD = OFF
CONFIG WDT0 = OFF
CONFIG WDT1 = OFF
CONFIG WDT2 = OFF
CONFIG WDT3 = OFF
CONFIG WDTB = OFF
CONFIG WDTC = OFF
CONFIG WDTD = OFF
CONFIG EBTR0 = OFF
CONFIG EBTR1 = OFF
CONFIG EBTR2 = OFF
CONFIG EBTR3 = OFF
CONFIG EBTRB = OFF
 
上記はPIC18F系、皆同様です。
マイクロチップ社のデータシート PIC18 CONFIGURATION SETTINGS ADDENDUM (DS51537F)に各デバイスのコンフイグレーション内容が示されています。
 
2007.12.7


MPLAB X IDE を使用したアッセンブラでのコンフィグレーションの書式
;******************************************************************************
;コンフィギュレーション
;
; CONFIG1H
CONFIG OSCS=OFF, OSC=HS
; CONFIG2L
CONFIG PWRT=OFF, BOR=ON, BORV=20
; CONFIG2H
CONFIG WDT=OFF, WDTPS=128
; CONFIG3H
CONFIG CCP2MUX=ON
; CONFIG4L
CONFIG STVR=OFF, LVP=OFF
; CONFIG5L
CONFIG CP0=OFF, CP1=OFF, CP2=OFF, CP3=OFF
; CONFIG5H
CONFIG CPB=OFF, CPD=OFF
; CONFIG6L
CONFIG WRT0=OFF, WRT1=OFF, WRT2=OFF, WRT3=OFF
; CONFIG6H
CONFIG WRTC=OFF, WRTB=OFF, WRTD=OFF
; CONFIG7L
CONFIG EBTR0=OFF, EBTR1=OFF, EBTR2=OFF, EBTR3=OFF
; CONFIG7H
CONFIG EBTRB=OFF
;
;*****************************************************************

2016.7.18

PIC目次へ        トップページへ