Hallo zusamen!

ich bin ein neuling in der AVR C-programierung,kann mir jemandem vielleicht sagen was ich hier falsch habe

#include <avr/io.h>
#include <avr/iom16.h>

int main()
{

DDRD |= 0x60;//PD5 und PD6 als Ausgänge setzen
DDRD &=~(0x0c);//PD2 und PD3 als Eingänge
PORTD |= 0x0c;//die Eingänge auf high

while(1)
{
switch(PIND & 0x0c)
{
case 0x08://wenn Taster1 gedrückt wird..
{
PORTD |= 0x40;//dann LED1 geht an
break;
}
case 0x04://wenn Taster2 gedrückt wird..
{
PORTD |= 0x20;//dann LED2 geht an
break;
}
default:
{
PORTD &= ~(0x60);//sonst LED1 und LED2 gehen aus
}
}
};
return 0;
}