/************************************** * ガスセンサテストプログラム *    GAS *************************************/ #include "mcc_generated_files/mcc.h" #include #pragma intrinsic(_delay) /** 低レベル入出力関数の上書き **/ void putch(char Data){ EUSART_Write(Data); } uint16_t result; //double result; double Volt; /***** メイン関数 *******/ void main(void) { SYSTEM_Initialize(); //void ADC_Initialize(void); while (1) { __delay_ms(237); Sensor_SetHigh(); // Start Mesure __delay_ms(3); result = ADC_GetConversion(Mesure); __delay_ms(2); Sensor_SetLow(); // End Mesure Heat_SetLow(); // Heater On __delay_ms(8); Heat_SetHigh(); // Heater Off result *= 3.3; printf("\r\nGAS= %4d mV", result); if(result < 15){ LATCbits.LATC0 = 1; LATCbits.LATC1 = 1; LATCbits.LATC2 = 1; LATCbits.LATC3 = 1; LATCbits.LATC4 = 1; LATCbits.LATC5 = 1; } else if((result >15)&&(result < 20)){ LATCbits.LATC0 = 1; LATCbits.LATC1 = 1; LATCbits.LATC2 = 1; LATCbits.LATC3 = 1; LATCbits.LATC4 = 1; LATCbits.LATC5 = 0; } else if((result >20)&&(result < 40)){ LATCbits.LATC0 = 1; LATCbits.LATC1 = 1; LATCbits.LATC2 = 1; LATCbits.LATC3 = 1; LATCbits.LATC4 = 0; LATCbits.LATC5 = 0; } else if((result >40)&&(result < 80)){ LATCbits.LATC0 = 1; LATCbits.LATC1 = 1; LATCbits.LATC2 = 1; LATCbits.LATC3 = 0; LATCbits.LATC4 = 0; LATCbits.LATC5 = 0; } else if((result >80)&&(result < 120)){ LATCbits.LATC0 = 1; LATCbits.LATC1 = 1; LATCbits.LATC2 = 0; LATCbits.LATC3 = 0; LATCbits.LATC4 = 0; LATCbits.LATC5 = 0; } else if((result >120)&&(result < 500)){ LATCbits.LATC0 = 1; LATCbits.LATC1 = 0; LATCbits.LATC2 = 0; LATCbits.LATC3 = 0; LATCbits.LATC4 = 0; LATCbits.LATC5 = 0; } else{ LATCbits.LATC0 = 0; LATCbits.LATC1 = 0; LATCbits.LATC2 = 0; LATCbits.LATC3 = 0; LATCbits.LATC4 = 0; LATCbits.LATC5 = 0; } } }