Ich habe jetzt statt den Motoren mal eine LED angeschlossen.
Die LED lässt sich wie gewollt über die Taster dimmer, aber wenn ich den Taster so lange drücke bis die LED nur noch wenig leuchtet und dann den Taster loslasse geht noch 1-2 sek die LED komplett aus und dann wieder an danach dimmt sich die LED praktisch selbst warum ist das so ?
Wenn ich den Taster drücke der dafür da ist das er die LED heller macht lange genug drücke geht die LED aus und wird dann wieder heller![]()
Aber eigentlich sollte das nicht so sein:
sollte ja verhindern, dass das passiert oder ?Code:If Compare1a < 0 Then Compare1a = 0 End If If Compare1b < 0 Then Compare1b = 0 End If If Compare1a > 255 Then Compare1a = 255 End If If Compare1b > 255 Then Compare1b = 255 End If
Hier der komplette Code:
Code:$regfile = "m16def.dat" $crystal = 16000000 $baud = 9600 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 64 Config Pina.0 = Output 'Input 1 Config Pina.1 = Output 'Input 2 Config Pina.2 = Output 'Input 3 Config Pina.3 = Output 'Input 4 Config Pind.4 = Output Config Pind.5 = Output Config Pind.6 = Input Portd.6 = 1 Config Pind.7 = Input Portd.7 = 1 Compare1a = 5 Compare1b = 5 Do Porta.0 = 1 Porta.1 = 0 Porta.2 = 1 Porta.3 = 0 If Pind.6 = 0 Then Waitms 20 Compare1a = Compare1a + 1 Compare1b = Compare1b + 1 End If If Pind.7 = 0 Then Waitms 20 Compare1a = Compare1a - 1 Compare1b = Compare1b - 1 End If If Compare1a < 0 Then Compare1a = 0 End If If Compare1b < 0 Then Compare1b = 0 End If If Compare1a > 255 Then Compare1a = 255 End If If Compare1b > 255 Then Compare1b = 255 End If Loop End







Zitieren

Lesezeichen