So, nun bin ich ne ecke schlauer geworden.
Habe über den Joystick die Richtung des Schrittmotors ändern können und einen 2 Stufen Filter gebaut.

Joystick in Mittelstellung: Stop
Stufe 1 vorwärts : linkslauf
Stufe 2 vorwärts: Stop
Stufe 1 rückwärts: rechtslauf
Stufe 2 rückwärts: Stop

Das Funktioniert auch soweit, jetzt weis ich nur nicht, wie ich da noch einen Tacktgeber/Timer rein bekomme.
Der Timer ist schon drinn, aber kann ich den Timer verändern mit meinem ADC oder muss ich mehrer Timer nehmen?


Code:
'###################################################
'Testprogramm
'für
'RoboterNetz Standard-Roboter Board RBNFRA 1.2
'
'Aufgabe:
'###################################################
Const Writepowerport_adr = &H72                             'I2C Adr PCF 2
Const Readpowerport_adr = &H73                              'I2C Adr PCF 2
Const Writeeingabeport_adr = &H7E
Const Readeingabeport_adr = &H7F
Dim I2cdaten As Byte                                        'Datenbyte aus PCF8574
Dim I As Word
$crystal = 8000000                                          'Quarzfrequenz
Config Scl = Portc.0                                        'Ports fuer IIC-Bus
Config Sda = Portc.1
I2cinit
I2cstart
I2cwbyte &H74                                               'Schreibbefehl an PCF3 schicken
I2cwbyte &B00000010                                         'Datenbyte an PCF3
I2cstop
'*********
Config Pind.6 = Output                                      'Schrittmotoren Ein/Aus
Config Pinc.5 = Output                                      'Schrittmotor Links Richtung
Config Pinc.3 = Output                                      'Schrittmotor Links Step
Config Pinc.4 = Output                                      'Schrittmotor Rechts Richtung
Config Pinc.2 = Output                                      'Schrittmotor Rechts Step

Config Adc = Single , Prescaler = Auto , Reference = Internal
'Config Adc.1 = Single , Prescaler = Auto , Reference = Internal
Start Adc
Dim W1 As Word , Channel As Byte

'Ocr1a = 10000
'Config Timer1 = Timer , Prescale = 64 , Clear Timer = 1 , Compare A = Disconnect
'On Oc1a Timer1serv
'Enable Oc1a
'Enable Interrupts
Do

'############ Linker Schrittmotor

W1 = Getadc(2)
  Print "Channel 0 " ; " value " ; W1
  'Incr Channel

   If W1 = 0 Then
     Portd.6 = 1                                            'Schritmotor Ein
   End If
    If W1 => 1 Then
     Portd.6 = 0                                            'Schrittmotor aus

   End If



   W1 = Getadc(1)
  Print "Channel 0 " ; " value " ; W1
  'Incr Channel
   If W1 =< 1 Or W1 => 100 Then                             'schnell
     Portc.5 = 0                                            'Rechtslauf
     Portc.3 = 0

   End If
   If W1 =< 101 Or W1 => 480 Then                           'langsam
     Portc.5 = 0                                            'Rechtslauf
     Portc.3 = 1

   End If


  If W1 => 481 Or W1 =< 539 Then                            'Stop
     Portc.3 = 0
     Else
     End If


   If W1 =< 540 Or W1 => 950 Then                           'langsam
     Portc.5 = 1                                            'linkslauf
     Portc.3 = 1


    End If
  If W1 =< 951 Or W1 => 1022 Then                           'schnell
     Portc.5 = 1                                            'linkslauf
     Portc.3 = 0

   End If

 Loop
End
'Timer1serv:
'Statt Eine Led Zum Blinken Zu Bringen Kann Hier
'Regelmässig Etwas Wichtiges Getan Werden
'Toggle Portc.3



   'Return