Gehört dieser Ausdruck : PORTD=0b000000010;
nicht auch in die Zählschleife :
for(i=1;i<=8;i++)
{ ...
mit rein ?