/* PICマイコンで水位アラーム 2008.Aug.4 */ #include <12f675.h> #DEVICE ADC=8 #fuses INTRC_IO,NOWDT,PUT,NOPROTECT,NOMCLR,NOWDT #use delay(CLOCK = 2000000) //#use rs232(baud=9600,xmit=PIN_A2,rcv=PIN_A3) int SlesVol,ResVol; int i;//音をならす場合 void main(){ setup_adc_ports(sAN0 | sAN1 | VSS_VDD); setup_adc(ADC_CLOCK_DIV_8); while(TRUE){ set_adc_channel(1); delay_us(100); ResVol = read_adc(); set_adc_channel(0); delay_us(100); SlesVol = read_adc(); /*RS232で現在の SlesVol,ResVolを出力するオプション printf("%3u,%3u\r\n",SlesVol,ResVol); */ if(ResVol < SlesVol){ output_low(PIN_A4); //LEDはアクチィブ・ロー for(i=0;i<255;i++){ output_high(PIN_A5); delay_us(500); output_low(PIN_A5); delay_us(500); } delay_ms(500); for(i=0;i<255;i++){ output_high(PIN_A5); delay_us(400); output_low(PIN_A5); delay_us(400); } delay_ms(500); //音ここまで。 } else{ output_high(PIN_A4); output_high(PIN_A5); } }