PD6 ist kein Ausgang weil Du ins DDR--C Register schreibst und nicht ins DDR--D:

DDRC |= IO_PD6; // falsch,

DDRD |= IO_PD6; // korrekt


DDRC ist natürlich für den PortC gedacht.