Код: Выделить всё
#include <avr/io.h>
#include <avr/interrupt.h>
void ADC_Init(void)
{
ADCSRA=((1<<ADEN)|(1<<ADIE)|(1<<ADPS2)|(1<<ADPS1));
ADMUX=((1<<REFS1)|( 1<<REFS0)|(1<<ADLAR)); //ИОН-2.56в, 8 результат,0-й канал
}
//обработчик прерывания АЦП
ISR(ADC_vect)
{
static unsigned char mode=0;
if(mode==0)
{
PORTB=ADCH;
mode=1;
ADMUX|=1<<MUX0; //Enable ADC1;
}
if(mode==1)
{
PORTD=ADCH;
mode=0;
ADMUX&=~(1<<MUX0);// Enable_ADC0;
}
ADCSR |= (1<<ADSC); //Start ADC
}
int main(void)
{
ADC_Init();
ADCSR |= (1<<ADSC); //Start ADC
DDRD=0xFF;
DDRB=0xFF;
sei();
while(1)
{
asm("nop");
}
}


