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








Zitieren

Lesezeichen