Помогите пожалуйста, разобраться где собака порылась.
Спойлер
#define F_CPU 1000000#include <avr/io.h>
#include <avr/iom8.h>
# include <util/delay.h>
#include <AVR/interrupt.h>
#define sei()
// Опорное напряжение - ножка AREF
#define ADC_VREF_TYPE 0b00000000
unsigned int ADCdata;
unsigned int ADCdata1;
void ADC1(ADCdata);
unsigned int ADCRead(unsigned char adc_input) // Подпрограмма считывания данных с АЦП
{
ADMUX = adc_input | ADC_VREF_TYPE;
//Задержка для стабилизации АЦП
_delay_us(50);
// Запускаем АЦП
ADCSRA |= 0x40;
while ((ADCSRA & 0x10) == 0); // Ждем флага окончания преобразования
ADCSRA |= 0x10;
return ADCW;
}
int main(void)
{
DDRD=0xFF;
PORTD=0x00;
/*** Настройка АЦП ***/
ADCSRA |= (1 << ADEN)|(1 << ADPS2)|(1 << ADPS1)|(0 << ADPS0);
while(1)
{
// вход ADC0
//включение, настройка АЦП
ADCSRA |= (1 << ADEN)|(1 << ADPS2)|(0 << ADPS1)|(1 << ADPS0);
ADMUX |= (0 << REFS1)|(0 << REFS0)|(0 << MUX0)|(0 << MUX1)|(0 << MUX2)|(0 << MUX3);
_delay_us(50);
ADCSRA |= (1 << ADSC); //начало преобразования
while((ADCSRA&(1 << ADIF))== 0); //ждем прерывания
ADCSRA |= (1 << ADIF);
ADCdata = ADCRead(0);// Запись результата с первого порта АЦП
// вход ADC1
ADMUX |= (0 << REFS1)|(0 << REFS0)|(1 << MUX0)|(0 << MUX1)|(0 << MUX2)|(0 << MUX3);
_delay_us(50);
ADCSRA |= (1 << ADSC); //начало преобразования
while((ADCSRA&(1 << ADIF))== 0); //ждем прерывания
ADCSRA |= (1 << ADIF);
ADCdata1 = ADCRead(1); //запись результата
ADCSRA |= (0 << ADEN); //выключение АЦП
if ((ADCdata >= 341)&&(ADCdata1 >= 10)) // 0.625V
{
PORTD = 0b00000100;
}
else
{
PORTD=0b00000000;
}
//_delay_ms(30);
}
}


