void init_port(void);
void outport(unsigned char);
void delay1(int);
unsigned char in_data(void);
void init_port(){
DDRD = 0x3C;
}
void setup() {
init_port();
blink();
}
void blink()
{
unsigned char k;
while(1)
{
k = in_data() & 0x0F;
while(k == 0)
{
k = in_data() & 0x0F;
if(k == 1) outport(0x01);
if(k == 2) outport(0x02);
if(k == 4) outport(0x04);
if(k == 8) outport(0x08);
delay1(1);
}
}
}
void outport(unsigned char x){
PORTD = x << 2;
}
void delay1(int count)
{
volatile long i;
while(count)
{
for(i=0; i<1000; i++);
count--;
}
}
unsigned char in_data(void){
unsigned char indata;
indata = PINC;
return indata;
}