mis08のブログ

ハマったことの備忘録

PIC 12f683 MPLAB CX8  でのプログラミング

-----------コンフィギュレーション--------------

Window>PICMemory>Views>ConfigrationBits
より、コンフィグレーションの設定を行う。
 
#pragma config FOSC = INTOSCIO //内部発振
#pragma config WDTE = OFF //ウォッチドックタイマOFF
#pragma config PWRTE = ON //パワーアップタイマON
#pragma config BOREN = ON //4VブラウンアウトリセットON
#pragma config MCLRE = ON //マスタークリアーON
#pragma config CP = OFF //プログラムコードプロテクションOFF
#pragma config IESO = OFF //内部、外部クロック切り替え無効
#pragma config FCMEN = OFF //クロックモニタOFF

 #pragma config CPD = OFF //データーコードプロテクションOFF
#pragma config LVP = OFF //低電圧プログラム書き込みOFF

             or

#pragma config BOREN = OFF, CPD = OFF, FOSC = INTIO, MCLRE = OFF, WDTE = OFF, CP = OFF, LVP = OFF, PWRTE = O

 

------------レジスタ--------------

OPTION_REGbits.nGPPU=0; //プルアップ有効

(のようにbits.~とすることでレジスタの一部だけ指定できる

 

OSCCON = 0x40; //1MHz
TRISIO = 0x38; //GP3,4,5 入力
ANSEL = 0x00; //全ピンデジタル
CMCON0 = 0x07; //コンパレータOFF
OPTION_REGbits.nGPPU=0; //プルアップ有効
WPU = 0x30; //4,5ピンプルアップ

 

----------プログラム---------

  • 待機させる場合、while分の中にifを入れ込んで、かつ常にifへ流れるようにするとフリーズする。while(メインループ)の中でも別のwhileで無駄なラインの動きをさせない。