#define OUT2 2
#define OUT3 1
#define c 0
#define sw1 1
#define sw2 2
#define sw3 3
#define sw4 4
#define sw5 5
#define PD0 0
#define PD1 1 //12
#define PD2 2
#define PD3 3
#define PD4 4
#define U21 8
#define U22 7
#define U31 5
#define U32 6
int main(void)
{
Serial.begin(9600);
DDRB |= (1<<OUT2) | (1<<OUT3) | (1<<U31);
//DDRD |= (1<<U21) | (1<<U32) | (1<<U22) | (1<<PD4) | (1<<PD3) | (1<<PD2) | (1<<PD1) | (1<<PD0);
DDRC &=~ (1<<sw2) &~ (1<<sw3) &~ (1<<sw4) &~ (1<<sw5) ; /* Make PD7 as input pin */
PORTC |= (1<<sw2) | (1<<sw3) | (1<<sw4) | (1<<sw5) ; /* Make PD7 as input pin */
while (1)
{
DDRC |= (1 << c );
//DDRC &=~ (1<<sw2) &~(1<<sw3) &~ (1<<sw6) &~ (1<<sw7) ; /* Make PD7 as input pin */
//delay(1);
if (!(PINC & (1 << sw2)))
{
PORTB |= (1<<OUT2);
//digitalWrite(OUT2, HIGH);
//return 3;
}
else if (!(PINC & (1 << sw3)))
{
PORTB &=~ (1<<OUT2);
//digitalWrite(OUT2, LOW);
//return 4;
}
else if (!(PINC & (1 << sw4)))
{
PORTB &=~ (1<<OUT2);
//digitalWrite(OUT2, LOW);
//return 6;
}
else if (!(PINC & (1 << sw5)))
{
PORTB |= (1<<OUT2);
//digitalWrite(OUT2, HIGH);
// return 7;
}
DDRC |= (1 << sw1 );
//DDRC &=~ (1<<sw2) &~(1<<sw3) &~ (1<<sw6) &~ (1<<sw7) ; /* Make PD7 as input pin */
//delay(1);
if (!(PINC & (1 << sw2)))
{
PORTB |= (1<<OUT2);
//digitalWrite(OUT2, HIGH);
//return 3;
}
else if (!(PINC & (1 << sw3)))
{
PORTB &=~ (1<<OUT2);
//digitalWrite(OUT2, LOW);
//return 4;
}
else if (!(PINC & (1 << sw4)))
{
PORTB &=~ (1<<OUT2);
//digitalWrite(OUT2, LOW);
//return 6;
}
else if (!(PINC & (1 << sw5)))
{
PORTB |= (1<<OUT2);
//digitalWrite(OUT2, HIGH);
// return 7;
}
_delay_ms(50);
}
return 0;
}