閲覧総計:23924  (本日:1  昨日:0)

スイッチ入力(12F683)

12F683(8ピンPIC)でスイッチ入力(スイッチのオン(ON)、オフ(OFF)信号をPICに取り込む)
を実現する場合、多くの項目の初期設定を行う必要がある。
その実例を紹介します。  07/02/12

1.内部発振器を8MHzで使用
2.各ピンをデジタル入出力で使用
  ANSEL = 0b00000000; //GP0-5をデジタル利用に設定
  CMCON0 = 0b00000111; //コンパレータを使わない
3.信号入力ピンを内部プルアップする
  OPTION_REG.NOT_GPPU = 0; //内部プルアップ利用に設定
  WPU = 0b00000100; //GP2を内部プルアップ

P1010295.JPG
/**
* スイッチ入力
* (スイッチを押している間だけON、はなすとOFF)
*
* LED: GP4  スイッチ: GP2
*Clock: 8.0MHz 内蔵発振器使用
*Device Flags:
* _CP_OFF  _MCLRE_OFF _PWRTE_ON _WDT_OFF _INTRC_OSC_NOCLKOUT
*
* MikroC v2.1
*/
void main() {
    TRISIO = 0b00000100; //GP2を1:入力に、他を0:出力設定
    //内蔵発振器 8MHz使用に設定
    OSCCON.IRCF2=1;
    OSCCON.IRCF1=1;
    OSCCON.IRCF0=1;
    ANSEL = 0b00000000; //GP0〜5をデジタル利用に設定
    OPTION_REG.NOT_GPPU = 0; //内部プルアップ利用に設定
    WPU = 0b00000100; //GP2を内部プルアップ

    GPIO = 0b00000000; //GPIOの中身をきれいにする
    CMCON0 = 0b00000111; //コンパレータを使わない
    
    do {
        if(Button(&GPIO, 2, 1, 0)) { //スイッチONの場合
            GPIO.F4 = 1; //LED ON
        } else {              //スイッチOFFの場合
            GPIO.F4 = 0; //LED OFF
        }
    }while(1);
}

★この情報は役に立ちましたか?

選択肢 投票
はい 44  
普通 6  
いいえ 9  

添付ファイル: fileP1010295.JPG 3261件 [詳細]