PIC16F648A の __CONFIG †PIC16F648Aのアセンブラでプログラムをするときに __CONFIGの情報が少なかったので自分なりにまとめてみた。 ; PIC16F648A の __CONFIG について ; ; プログラムメモリ・コードプロテクション ; _CP_ON : CP1 = 0 / CP0 = 1 ==> 0200h から 07FFh までプロテクションあり ; _CP_OFF : CP1 = 1 / CP0 = 1 ==> プロテクションなし ; ; EEPROMコードプロテクション ; _DATA_CP_ON : CPD = 0 ==> EEPROM書き込み禁止 ; _DATA_CP_OFF : CPD = 1 ==> コードプロテクション解除 ; ; 低電圧プログラミング指定 ; _LVP_ON : LVP = 1 ==> RB4/PGMポートをプログラミング指示ポートに使用し、低電圧プログラミングが可能 ; _LVP_OFF : LVP = 0 ==> RB4/PGMはデジタルI/Oポートとして使用し、プログラミングにはMCLRポートを使用する ; ; 低電圧リセット指定 ; _BOREN_ON : BODEN = 1 ==> 低電圧リセットを使用する ; _BOREN_OFF : BODEN = 0 ==> 低電圧リセットを使用しない ; ; マスタ・クリアピン指定 ; _MCLRE_ON : MCLRE = 1 ==> RA5/MCLRピンをマスタ・クリア(MCLR)として使用する ; _MCLRE_OFF : MCLRE = 0 ==> RA5/MCLRピンをデジタルI/Oポートとして使用する。この場合、MCLRは内部でVDDに接続される。 ; ; パワーアップタイマ指定 ; _PWRTE_ON : PWRTE = 0 ==> パワーアップタイマを使用する ; _PWRTE_OFF : PWRTE = 1 ==> パワーアップタイマを使用しない ; ; ウォッチドッグタイマ指定 ; _WDT_ON : WDTE = 1 ==> ウォッチドッグタイマを使用する ; _WDT_OFF : WDTE = 0 ==> ウォッチドッグタイマを使用しない ; ; 発振器指定 ; _RC_OSC_CLKOUT : FOSC2 = 1 / FOSC1 = 1 / FOSC0 = 1 ==> ER(External Resistor) : RA6/OSC2/CLKOUT を CLKOUT として使用し、RA7/OSC1/CLKIN に抵抗器を接続して内部発振器を使用 ; _RC_OSC_NOCLKOUT : FOSC2 = 1 / FOSC1 = 1 / FOSC0 = 0 ==> ER(External Resistor) : RA6/OSC2/CLKOUT を I/O として使用し、 RA7/OSC1/CLKIN に抵抗器を接続して内部発振器を使用 ; _INTOSC_OSC_CLKOUT : FOSC2 = 1 / FOSC1 = 0 / FOSC0 = 1 ==> INTRC(Internal 4MHz OSC) : RA6/OSC2/CLKOUT を CLKOUT として使用し、RA7/OSC1/CLKIN を I/O として使用 ; _INTOSC_OSC_NOCLKOUT : FOSC2 = 1 / FOSC1 = 0 / FOSC0 = 0 ==> INTRC(Internal 4MHz OSC) : RA6/OSC2/CLKOUT および RA7/OSC1/CLKIN を I/O として使用 ; _EXTCLK_OSC : FOSC2 = 0 / FOSC1 = 1 / FOSC0 = 1 ==> EC(External Clock In) : RA6/OSC2/CLKOUT を I/Oとして使用し、RA7/OSC1/CLKINをCLKIN として使用 ; _HS_OSC : FOSC2 = 0 / FOSC1 = 1 / FOSC0 = 0 ==> HS発振器(4MHz-20MHz) : RA6/OSC2/CLKOUT および RA7/OSC1/CLKIN を使用 ---- ; _XT_OSC : FOSC2 = 0 / FOSC1 = 0 / FOSC0 = 1 ==> XT発振器(4MHz以下) : RA6/OSC2/CLKOUT および RA7/OSC1/CLKIN を使用 ; _LP_OSC : FOSC2 = 0 / FOSC1 = 0 / FOSC0 = 0 ==> LP発振器(200KHz以下) : RA6/OSC2/CLKOUT および RA7/OSC1/CLKIN を使用 で、こんな感じで使う。 __CONFIG _CP_OFF & _DATA_CP_OFF & _LVP_OFF & _BOREN_OFF & _MCLRE_OFF & _PWRTE_OFF & _WDT_OFF & _HS_OSC |