Hallo ebb!
Kann es sein, dass Du die Ports nicht im DDR (Datenrichtungsregister) konfiguriert hast?
An dem eben geäußerten Grund scheint es nicht zu liegen, Du hast DDRD ja beschrieben.
Also eigentlich müsste der Code funktionieren! *überleg*
Es sieht eigentlich soweit alles richtig aus!
Hast Du den Code mal mit dem AVR-Studio simuliert?
Misst Du wirklich an den richtigen Ports?