Go on msn add
seveprim@hotmail.com easier to talk then here
Um why arent you waiting for the coversion to complete ?
ie this line is wrong
while(ADCSRA & (1 << ADSC)); this is wrong !!!! you are not waiting for anything here this is the start conversion flag !!!
you should be checking the ADIF flag and clearing flag like the code i wrote !!!
while(!(ADCSRA&(0x01<<ADIF))){}; // wait for conversion to complete
ADCSRA|=(0x01<<ADIF); // AVR write one to clear flag