/* PIC12F629 4MHz Last 2010/9/24 */ sbit LED at GPIO.B2; sbit SW at GPIO.B3; short FLAG,Mode; // extern void SW_CK(); void main() { CMCON=7; //COMP off TRISIO=0b00001000; GPIO=0; FLAG=0; Mode=0; // while(1){ if (FLAG==1) LED=~LED; Delay_ms(500); SW_CK(); } } void SW_CK() { if (SW==0){ while (Button(&GPIO,3,1,1)==0); //SW over ? Mode++; switch (Mode) { case 1: //LED on LED = 1; break; case 2: FLAG = 1; break; case 3: //LED off Mode = 0; LED = 0; FLAG = 0; break; // default: } } }