int main(void) { u8 Local_u8SwitchValue; // to store the Switch Value u8 Local_u8SwitchFlag = FALSE; // to run the switch in the single mode u16 Local_u16ADCValue; // to store the ADC Value u16 Local_u16PrevADCValue = 2000; // to store the Previous ADC Value f32 Local_f32VoltageValue; u8 Local_u8Buffer[5]; // to store the Volt value as characters DIO_voidInit(); ADC_voidInit(); ADC_voidEnable(); LCD_voidInit(); LCD_u8Write_String("Voltage:"); //LCD_u8Write_Command(0x80); //go to First line and --0 is for 0th position while (1) { TSW_u8CheckSwitch(TSW_u8NUM1, &Local_u8SwitchValue); if (Local_u8SwitchValue == TSW_u8PRESSED) { if (!Local_u8SwitchFlag) { Local_u8SwitchFlag = TRUE; DIO_u8WritePinVal(RELAYCONTROL, DIO_u8HIGH); } } else { //Local_u8SwitchValue == TSW_u8RELEASED if (Local_u8SwitchFlag) { Local_u8SwitchFlag = FALSE; DIO_u8WritePinVal(RELAYCONTROL, DIO_u8LOW); } } //ADC_u8ReadChannel(ADC_u8CH7, &Local_u16ADCValue); ADC_u8ReadChannelFiltered(ADC_u8CH7, &Local_u16ADCValue); if (Local_u16ADCValue == Local_u16PrevADCValue) { } else { //Local_u16ADCValue != Local_u16PrevADCValue Local_u16PrevADCValue = Local_u16ADCValue; CalculateVlotage(Local_u8SwitchFlag, Local_u16ADCValue, &Local_f32VoltageValue); ftoa(Local_u8Buffer, Local_f32VoltageValue, 2); //Local_f32VoltageValue = Local_u16ADCValue * ADC_STEP; // Local_u8IntVoltageValue = Local_f32VoltageValue; // itoa(Local_u8IntVoltageValue, Local_u8PotienoValue, 10); // LCD_u8Write_Command(0xC0); //go to Second line and --0 is for 0th position //dtostrf(value, width, precision, char array) LCD_u8Write_Command(0xC0); //go to Second line and --0 is for 0th position LCD_u8Write_String(Local_u8Buffer); LCD_u8Write_String(" "); // LCD_u8Write_String("."); // Local_f32VoltageValue = Local_f32VoltageValue - Local_u8IntVoltageValue; // Local_u8IntVoltageValue = 100 * Local_f32VoltageValue; // itoa(Local_u8IntVoltageValue, Local_u8PotienoValue, 10); // LCD_u8Write_String(Local_u8PotienoValue); } } return 0; }
int main (void) { u16 local_u8AdcRead=0 ,local_u8OldAdcRead=1 ; u8 local_u8AdcStr[2],local_u8CountStr[2]; u8 THR_COUNT= 0 , Old_THR_COUNT= 1 , THR_FLAG=0; DIO_voidInit(); ADC_voidInit(); CLC_voidInit(); ADC_voidEnable(); while(1) { TSEN_u8ReadTSensr(0,&local_u8AdcRead); if( local_u8AdcRead > (TSEN_u8THRSHOLD - TSEN_u8TOLERANCE) && THR_FLAG==0 ) { BUZ_voidBuzOn(); THR_COUNT++; THR_FLAG=1 ; if(THR_COUNT>100) THR_COUNT=0 ; } else if( local_u8AdcRead < (TSEN_u8THRSHOLD - TSEN_u8TOLERANCE) ) { BUZ_voidBuzOff(); THR_FLAG=0; } if(THR_COUNT != Old_THR_COUNT || local_u8AdcRead != local_u8OldAdcRead) { CLCD_u8WriteComand( CLC_u8CLRDISP); CLCD_u8WriteComand(CLC_u8STL); itoa(local_u8AdcRead,local_u8AdcStr,10); CLCD_u8WriteDataStr(local_u8AdcStr) ; CLCD_u8WriteComand(CLC_u8NEWL ); itoa(THR_COUNT,local_u8CountStr,10); CLCD_u8WriteDataStr(local_u8CountStr); local_u8OldAdcRead = local_u8AdcRead ; Old_THR_COUNT=THR_COUNT ; } } return 0; }
void main () { DIO_voidInit(); CLC_voidInit(); TSW_voidinit() ; ADC_voidInit(); ADC_voidEnable(); while(1) { Read_sw(); } }
int main(void) { u8 Local_u8OutputCompareValue; u16 Local_u16ADCValue; u16 Local_u16ADCValueP; DIO_voidInit(); ADC_voidInit(); TIMER0_voidSetOCR(255); TIMER0_voidInit(); //TIMER0_CTC, TIMER0_COM1 //Enable_Global_INT(); // enable global interrupt while (1) { ADC_u8ReadChannel(ADC_u8CH0, &Local_u16ADCValue); if (Local_u16ADCValue != Local_u16ADCValueP) { Local_u8OutputCompareValue = (u8)(Local_u16ADCValue >> 2); TIMER0_voidSetOCR(Local_u8OutputCompareValue); Local_u16ADCValueP = Local_u16ADCValue; } }