Ok, kleine Korrektur. Wenn man schon Vorschläge macht, dann wenigstens korrekt

Die Ports PORTB und PORTD sind die Output-Register und damit für Taster leider kompletter Quark. PINB und PIND sind die passenden Input-Register.
Mit folgendem Programm kann man das Ganze schon mal testen:
void setup() {
Serial.begin(9600);
//Pin 2 bis 13 als Eingang mit aktiviertem PullUp setzen
for (int i = 2; i<=13; i++)
pinMode(i,INPUT_PULLUP);
}
void loop() {
//Alle Eingänge einlesen
unsigned int input =(( PINB & B00111111 ) << 8) + ( PIND & B11111100 );
Serial.println(input,BIN);
delay(100);
}
Bei meinem kleinen Duemilanove Clone habe ich leider das Problem mit dem Pin 13 und der daran angeklemmten LED. Diese zieht anscheinen über ihren Vorwiderstand das Pin bereits gegen Masse, daher ist Pin13 immer LOW. Ist das beim Uno auch so? Ich vermute mal ja.
Ansonsten liefert das Testprogramm die binäre Darstellung der Pins 0 bis 13. Zieht man nun eines der Pins auf Masse, sieht man die entsprechende Veränderung in der Ausgabe.
Falls das Pin 13 auch beim Uno ein Problem ist, kann man stattdessen die Pins 0 und 1 mit verwenden. Allerdings hat man dann keine einfache Debugmöglichkeit mehr, da man die serielle Schnittstelle blockiert. Wenn allerdings keine Datem vom PC empfangen werden müssen, kann man einfach das RX (Pin 0) verwenden und auf Pin 1 (TX) trotzdem Ausgaben an den Rechner senden.