In der Portdefinition ist kein Fehler, aber deine Tasten sind nach High geschaltet. Die internen PullUp sind ausgeschaltet ("PORTD &= 0xf3;//die Eingänge auf low" ). "die Eingänge auf low" ist falsch, die Eingänge sind hochohmig. Du musst selbst für einen eindeutigen Pegel sorgen wenn der Taster offen ist, also ein PullDown-Widerstand, etwa 10k nach GND. Dann liegt der Eingang, wenn Taste offen, auf GND und wenn Taste gedrückt dann auf high. Mach dir mal eine Zeichnung von Eingang mit dem internen Widerstand, der Eingang darf nie offen sein da er von sich aus keinen eindeutigen Pegel annimmt.