#define F_CPU 1000000UL
#include <avr/io.h>
#include <avr/interrupt.h>
uint8_t i;

void adc_ini (void)
{
  /*** Настройка АЦП ***/
  ADCSRA |= (1 << ADEN) // Включение АЦП
            | (1 << ADPS1);   // предделитель преобразователя на 4
  ADMUX |= (1 << REFS0); // внешний ИОН
  ADMUX |= 2;// вход PC2
}

void adc (void)
{
  ADCSRA |= (1 << ADSC);  // Начинаем преобразование
  while ((ADCSRA & (1 << ADIF)) == 0); // Ждем флага окончания преобразования

  // i = (ADCL | ADCH << 8); // Считываем  ADC
  ADMUX |= (1 << ADLAR);
  i = ADCH; // Считываем  ADC

  if (i > 170)
  {
    PORTD |= (1 << PD2);
    PORTD &= ~(1 << PD3);
  }
  else
  {
    PORTD |= (1 << PD3);
    PORTD &= ~(1 << PD2);
  }
}

int main(void)
{
  DDRD |= (1 << PD2) | (1 << PD3);
  adc_ini ();

  sei(); // глобально разрешить прерывания

  while (1)
  {
    adc ();
  }
}