/***************************** STEP11_Switch.c *****************************/ #define _LEGACY_HEADERS // インクルードファイルの読み込み #include // コンフィギュレーションワードの設定 __CONFIG ( UNPROTECT & LVPDIS & BOREN & MCLREN & PWRTEN & WDTDIS & INTIO ); // プロトタイプ宣言 void WaitTime(int cnt); //int sw0; //int cnt; // メイン関数 void main (void){ // 1,2,17,18端子を入出力端子に設定 CMCON = 0x07; // 電圧レベルの初期設定 PORTA = 0x00; PORTB = 0x00; // 入出力設定 TRISA = 0b11111111; TRISB = 0b00000000; //int 型の sw という変数を宣言 int sw0; // 永久ループ while(1){ if(RA0 == 0){ WaitTime (500);// 待ち時間関数の呼び出 if(RA0 == 0){//もう一度確認する。 RB0 = 1;// LED1点灯 sw0=1;//スイッチがおされた } } else{ WaitTime (500);// 待ち時間関数の呼び出し(約10m秒:チャタリング対策) if(sw0==1 && RB0==1){ RB0 = 0;// LED1消灯 sw0=0; } } } } // 待ち時間関数 void WaitTime(int cnt){ while(cnt > 0){ cnt--; } }