You are on page 1of 1

#include<avr/io.

h>
#define FWD PORTA=0b00001010
#define BCK PORTA=0b00000101
#define LFT PORTA=0b00000110
#define RGT PORTA=0b00001001
#define STOP PORTA=0b00000000
#define S0 bit_is_set(PIND,0)
#define S1 bit_is_set(PIND,1)
#define S2 bit_is_set(PIND,2)
#define S3 bit_is_set(PIND,3)
#define C0 bit_is_clear(PIND,0)
#define C1 bit_is_clear(PIND,1)
#define C2 bit_is_clear(PIND,2)
#define C3 bit_is_clear(PIND,3)
void line(void);
int main(void)
{
DDRA=0b00001111;
DDRD=0b11110000;
while(1)
{
line();
}
}

void line(void)
{
if(S1 && S2)
FWD;
else if(S1 && C2)
RGT;
else if(C1 && S2)
LFT;
else if(C1 && C2)
BCK;
else if(S0 && S1 && S2 && S3)
STOP;
}

You might also like