Also wenn ich deine idee richtig verstandenhabe, dann muss bei deinem Motortreiber ( nehme an es is nen IC oder auch nicht ) am eingang ein Betimmter Pin ( oder ein Transistor ) mit 1 ( + ) angesteuert werden. so und jetzt dein Rückwärtsfahren auf Zeit problem. Du willst das sich beide motoren für die zeit X entgegengesetzt drehen wenn Taster1 oder 2 geschaltet wird. Dein erster code war nicht schlecht, wenn du wie schon erwähnt noch nen WAIT befehl einbaust währe das echt gut, weil wenn der Controler wartet bleiben die ausgänge beschaltet ( also 1 oder 0 ).
Code:
'Version 1.0 
'---------------------------------------------------------- 
$regfile = "m8def.dat"                                      'ATmega8 
$crystal = 3686411                                          'Quarz: 3686411 Hz 

Ddrd = &B01111000                                           'Pin PD3 bis PD6 als Ausgänge 
Portd = &B00000000                                          'Pin PD3 bis PD6 auf Low 

Ddrb = &B00000000                                           'Pin PB4 und 5 als Eingang 
Portb = &B00110000                                           'Pin PB4 und 5 auf High 

Do 
  Portd.3 = 1                                               'Motoren drehen in gleiche Richtung 
  Portd.5 = 1 

  If Pinb.4 = 0 Then 
     Portd.3 = 1 
     Portd.4 = 0 
     Portd.5 = 0 
     Portd.6 = 1
     Waitms 1500                                            'Motoren drehen sich 1,5 sek. gegeneinander 
  'Else                                                           kannste weglassen
    'Portd.3 = 1 
    'Portd.4 = 0 
    'Portd.5 = 1 
    'Portd.6 = 0 
Loop 
End
so Hab ich auch angefangen ( alerdings mit Phototransistoren als "taster" )