#define MHz 000000 #define _XTAL_FREQ 20MHz #include __CONFIG( UNPROTECT & LVPDIS & BORDIS & MCLRDIS & PWRTEN & WDTDIS & HS ); //------------------main void main(void){ unsigned char temp,temp2; // Port initalize // 76543210 PORTA = 0b11100000; //Port Initalize PORTB = 0b00000000; //Port Initalize TRISA = 0b11111111; // TRISB = 0b00000000; // CMCON = 0x07; //PORTA is all digital I/O //delayインライン関数は 197120 cyclesがリミット //最大取り扱い時間 = (1 ÷ 動作周波数Hz) x 4(サイクル) x 197120(最大取り扱いサイクル数) while(1){ //単独テスト RB0 =1; __delay_us(39424);//20MHZでは39.424msまでの設定,4MHzなら、197.120msまで RB0 =0; __delay_ms(39);//20MHZでは39msまでの設定,4MHzなら、197msまで //3分間タイマー RB1 = 1; temp = 180; //180秒=3分 while(temp--){ temp2 =10; //100ms x 10 =1sec while(temp2--){ __delay_ms(30);//total 100ms __delay_ms(30); __delay_ms(30); __delay_us(10000);// } } RB1 =0; } }