Hallo Chris,
programm-mäßig sollte dies das gleiche wie deines machen. Kleinere Fehler sind dabei behoben.
Annahme ist, dass die beiden Taster überWiderstände am PORTA.7 angeschlossen sind.Code:$regfile = "m32def.dat" $crystal = 16000000 Config Adc = Single , Prescaler = Auto Config Portc = Output Portc = 31 Dim I As Word Dim X As Word X = 1 Do Start Adc X = Getadc(7) If X < 130 Then I = I - 1 If I = 0 Then I = 5 Elseif X < 220 Then I = I + 1 If I = 6 Then I = 1 End If Waitms 20 Portc = 31 Portc.i = 0 End If Loop End
Wenn der erste gedrückt ist, kommt ein Wert kleiner 130 raus, wenn der zweite gedrückt ist, ist der Wert zwischen 130 und 220.
Welcher Wertwird ausgegeben, wenn kein Taster gedrückt ist?
Wenn ein Taster länger als deine 20ms Wartezeit gedrückt ist, springt die LED mehrfach weiter.
Gruß
Rolf
Lesezeichen