You are on page 1of 1

#include<avr/io.

h>
#include<util/delay.h>
#define adc_vref 0x40
unsigned int read_adc(unsigned char);
void adc_init(void){
ADMUX=adc_vref & 0x7F;
ADCSRA=0x87;
}
unsigned int read_adc (unsigned char adc_input){
ADMUX=(adc_input)|(adc_vref & 0x7F);
_delay_ms(10);
ADCSRA|=0x40;
while(!(ADCSRA & 0x10));
ADCSRA |=0x10;
return ADC;
}
int main(){
DDRA=0x00;
DDRB=0x0F;
adc_init();
int i,j;
while(1){
i=read_adc(0);
j=read_adc(1);
if(i<300 && j<300)
{
PORTB=0x00;
_delay_ms(400);
do{
PORTB=0x0A;
}while(i>350 && j>350);
}
else if(i>300 && j>300)
{PORTB=0x05;}
else if(i>300 && j<300)
{PORTB=0x01;}
else if(i<400 && j>300)
{PORTB=0x04;}
}
return 0;
}

You might also like