Bleiben wir, bitte, bei einem Code, sonst bringt es nichts.

Ich habe noch mal dein ersten Code genauer angeschaut. Du initialisierst zwar PORTB,5=1 und PORTB,4=0, aber später läuft das Programm in endloser Schleife "loop" mit PORTB,5=0 und PORTB,4=1. Was soll die Drehrichtung ändern?

MfG