Hy.
I use for the first time ADC of ATMEGA16 16PU 1010K microcontroller.
I dont understand why the least four signifiant leds doesn't turn on.
Always the most four signifiant leds are on.
void ADC_Setup()
{
ADMUX = (1<<REFS0);
ADCSRA = (1<<ADEN)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);
}
unsigned int ADC_Read_Channel(unsigned int ch)
{
ch &= 0b00000111;
ADMUX = (ADMUX & 0xE0) | ch;
ADCSRA |= (1<<ADSC);
while(ADCSRA & (1<<ADSC));
{
}
return (ADCL);
}
int main()
{
unsigned int rezultat;
DDRA = 0;
DDRB = 0xFF;
ADC_Setup();
while(1)
{
rezultat = ADC_Read_Channel(0);
if(rezultat < 70)
PORTB = 0xF0;
else
PORTB = 0x0F;
}
}