du solltest in den else teil packen dass die ganzen ports wieder zurückgesetzt werden, ebenso nach den 2 sekunden wartezeit... sonst schaltet der AVR ein mal und dann nie wieder...

alternativ so:

Do

Loop

If Pinc.2 = 1 Then

Portd.4 = 0
Portd.7 = 0

Portd.6 = 1
Portd.5 = 1
Waitms 2000
End If

Portd.4 = 0
Portd.7 = 0

Portd.6 = 0
Portd.5 = 0
End