Hallo tirell,

ist deine Abfrage in der main in einer Schleife? Dann kann es sein, dass die Minuten_Einer solange gezählt werden wie die Bedingung erfüllt ist. Da du sie in deiner Bitoperation nicht filterst zählen dadurch auch die Zehner, wenn der Wert in Minute_Einer über 15 ist.

Weiterhin ist mir noch aufgefallen, dass du PORTD "veroderst". Ich würde es wie folgt lösen:
Code:
PORTD = (Minuten_Zehner << 4) | Minuten_Einer & 0xF;
Damit hast du dann aber noch nicht die Ursache behoben. Wie gesagt aber nur, wenn die PINB Abfrage in einer Schleife liegt. In diesem Fall musst du nach der Inkrementierung warten, bis die Bedingung wieder "erloschen" ist.

Viele Grüße
Andreas