Hallo,
ich versuche gerade ein eigentlich einfaches Programm zu schreiben doch es gelingt mir nicht.
Eine Led soll eingeschaltet werden sobald einer der Dip-Schalter eingeschaltet wird. Danach soll die Led einfach nur an bleiben egal wie die Schalter hin und her geschaltet werden solange nur ein Dip auf on steht. Sobald dann alle Schalter Off sind soll die Led aus gehen.
Ich habe es bereits mit dem Debounce-Befehl versucht aber irgendwas ist nicht korrekt da bei verschiedenen Schalterkombinationen die Led unterschiedlich schnell an und aus geht. Ich denke es hat was mit den 25ms zu tun die gewartet werden.
Ich weiß für diese Aufgabe bräuchte man eigentlich keinen µC aber jeder Schalter soll später auf einem LCD mit "ON" "OFF" angezeigt werden.
Hier mal mein Versuch:
Mit if-then Schleifen hab ich es auch schon probiert aber ich denke das ist zu umständlich und funktioniert hat es nicht richtig da die Led beim Schalten in der Helligkeit variiert hat.Code:$regfile = "M8def.dat" $crystal = 1000000 Config Portc = Input Dip1 Alias Pinc.0 Dip2 Alias Pinc.1 Dip3 Alias Pinc.2 Dip4 Alias Pinc.3 Portc = 1 Config Portd.0 = Output Led Alias Portd.0 Do Debounce Dip1 , 0 , Led_on , Sub Debounce Dip1 , 1 , Led_off , Sub Debounce Dip2 , 0 , Led_on , Sub Debounce Dip2 , 1 , Led_off , Sub Debounce Dip3 , 0 , Led_on , Sub Debounce Dip3 , 1 , Led_off , Sub Debounce Dip4 , 0 , Led_on , Sub Debounce Dip4 , 1 , Led_off , Sub Loop End Led_on: Led = 0 Return Led_off: Led = 1 Return






Zitieren

Lesezeichen