Sorry fürs Doppelposting, aber sonst wird es unübersichtlich.

Das mit dem Rest ist mittlerweile auch gelöst. Nun wollte ich die LED mit dem Taster2 auch dimmen per PWM. Soweit habe ich es geschafft. Nun dimmt die LED bei Tastendruck einmal von hell nach dunkel und wieder von dunkel nach hell. Er soll aber solange weiter hin und her dimmen, bis ich die Taste erneut drücke. Wie geht das?

Grüße

Code:
 'Standard Einstellungen
 $regfile = "m8def.dat"
 $crystal = 3686400
 $baud = 9600

 'Out- und Inputs einrichten
 Config Portb.3 = Output
 Led Alias Portb.3
 Config Pind.2 = Input
 Taster Alias Pind.2
 Portd.2 = 1
 Config Pind.3 = Input
 Taster2 Alias Pind.3
 Portd.3 = 1

 'Timer für PWM und Laufzeit einrichten
 Config Timer1 = Timer , Prescale = 64
 On Timer1 Main
 Config Timer2 = Pwm , Compare = Clear , Prescale = 1
 Ocr2 = 0

 'ADC einrichten
 Config Adc = Single , Prescaler = Auto
 Start Adc

 'INTs und Timer aktivieren
 Enable Timer1
 Enable Interrupts

 'Konstanten und Variablen deklarieren
 Const Timervorgabe = 7936
 Dim W As Integer
 Dim Zeit As Integer
 Dim Zeitvorgabe As Integer
 Dim Helligkeit As Integer
 Helligkeit = 150
 Zeit = 1

 'Hauptprogramm
 Do

 If Taster = 0 Then
   If Getadc(0) < 17 Then
     W = 17
   Else
     W = Getadc(0)
   End If
   Zeitvorgabe = W / 17
   If Ocr2 <> 0 Then
     Timer1 = Timervorgabe
     Print "Neustart"
   Else
     Ocr2 = Helligkeit
     Enable Timer1
   End If
 End If

 If Taster2 = 0 Then
   For Helligkeit = 150 To 0 Step -1
     Ocr2 = Helligkeit
     Waitms 10
   Next

   For Helligkeit = 0 To 150
     Ocr2 = Helligkeit
     Waitms 10
   Next
 End If

 Loop

 Main:
 If Zeit < Zeitvorgabe Then
   Zeit = Zeit + 1
   Print "Timer läuft"
   Timer1 = Timervorgabe
 Else
   Ocr2 = 0
   Zeit = 0
   Timer1 = Timervorgabe
   Disable Timer1
 End If
 Return