/**************************************** * AM_FM RADIO ON/OFF CONTROL * Ver1.0 2016.03.01 * Ver1.1 2016.03.06 Add to NOBROWNOUT ***************************************/ #include <12f675.h> #fuses RC_IO,NOWDT,NOPROTECT,NOBROWNOUT,PUT,NOMCLR //#use fixed_io(a_outputs=PIN_GP0,PIN_GP3) #use delay(clock=45000) int pwr_off_flag; #INT_EXT void sw_int(void) { delay_ms(20); //eait chataring if ((input(PIN_A2)) && (pwr_off_flag == 1)) //SW ON? { output_low(PIN_A0); //pwr on pwr_off_flag = 0; //pwr off flag cler } delay_ms(700); //wait 700ms if ((input(PIN_A2)) && (pwr_off_flag == 0)) //power off { output_high(PIN_A0); //Q1 off output_low(PIN_A4); //FM SELECT pwr_off_flag = 1; //power off flag set } output_toggle(PIN_A4); //AM/FM SELECT } /********MainŠΦ”********/ void main() { pwr_off_flag = 1; // set_trisio(0x34); //GPIO2,4=input setup_adc_ports(NO_ANALOGS); setup_comparator(NC_NC_NC_NC); //not use comprator output_high(PIN_A0); //Q1_off output_low(PIN_A4); //BAND AM output_low(PIN_A1); //LED off ext_int_edge(L_TO_H); enable_interrupts(INT_EXT); enable_interrupts(GLOBAL); while(1) //‰i‹vƒ‹[ƒv { sleep(); delay_ms(2000); } }