#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#define F_CPU 16000000UL
void ADC_init(void);
int main(void)
{
DDRB = 0xFF;
ADC_init();
sei();
while(1)
{
}
}
void ADC_init(void)
{
ADMUX = 0;
ADMUX |= (1<<REFS0);
ADCSRA |= (1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);
ADCSRA |= (1<<ADIE);
ADCSRA |= (1<<ADEN);
DIDR0 |= (1<<ADC0D);
ADCSRA |= (1<<ADSC);
}
ISR(ADC_vect)
{
PORTB = (ADC<<4);
ADCSRA |= (1<<ADSC);
_delay_ms(10);
}
/*#include <avr/io.h>
#include <util/delay.h>
#define F_CPU 16000000UL
void ADC_init(void);
int main(void)
{
DDRB = 0xFF;
ADC_init();
while(1)
{
ADCSRA |= (1<<ADSC);
while(ADCSRA & (1<<ADSC));
PORTB = (ADC>>4);
_delay_ms(1);
}
}
void ADC_init(void)
{
ADMUX = 0;
ADMUX |= (1<<REFS0);
ADCSRA |= (1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);
ADCSRA |= (1<<ADEN);
DIDR0 |= (1<<ADC0D);
}*/