read_Flag = 1; // Data set ready
analog_Val = ADCL | (ADCH << 8); // ADCL will contain lower 8 bits, ADCH upper 2 (in last two bits)
A bit optimistic about the data being ready. How about:
analog_Val = ADC;
read_Flag = 1; // Data set ready (now)