You are on page 1of 1

#include <avr/io.

h>
void init_ports();
void init_adc();
unsigned char read_adc();

void main()
{
init_ports();
init_adc();
while (1)
{
PORTC = read_adc();
}
}
void init_ports()
{
DDRC = 0xFF;
PORTC = 0X00;
// DDRB = 0xFF;
// PORTB = 0X00;
}
void init_adc()
{
ADMUX = 0x00;
//ADMUX = ADMUX | 0x00;
//ADMUX = ADMUX | 0x40;
//ADMUX = ADMUX | 0xC0;
ADMUX = ADMUX | 0x40;
ADMUX = ADMUX | 0x20;
ADCSRA = 0x07;
ADCSRA = ADCSRA | 0x80;
}
unsigned char read_adc()
{
unsigned char a;
//unsigned char b;
ADCSRA = ADCSRA | 0x40;
while( (ADCSRA & 0x10) == 0);
a = ADCH;
ADCSRA = ADCSRA | 0x10;
// PORTB = ADCL;
return a;
}

You might also like