Hallo,
ich habe eine Platine, auf der 8 Relais drauf sind und 8 Taster
Die Relais sollen alle unterschiedliche Zeiten anziehen.
Also z.B.
Taster 1 lässt Relais 1 = 1 sec. anziehen
Taster 2 lässt Relais 2 = 2 sec. anziehen
...
Taster 7 lässt Relais 7 = 7 sec. anziehen
Taster 8 lässt Relais 8 = 8 sec. anziehen
Das habe ich mal testweise probiert:
Code:
$regfile = "m16def.dat"
$crystal = 8000000
Config Portc = Output
Config Portd = Input
Taster1 Alias Pind.1
Taster2 Alias Pind.0
Do
if Taster1 = 0 Then Gosub Relais1
If Taster2 = 0 Then Gosub Relais2
Loop
Relais1:
Portc.7 = 1
Waitms 1000
Portc.7 = 0
Return
Relais2:
Portc.0 = 1
Waitms 2000
Portc.0 = 0
Return
Das klappt auch schonmal alles mit den 8 Relais.
Nun zu meinem Problem:
Wenn ich Taster 8 drücke und Relais 8 für 8 Sekunden anzieht, dann bleibt das Programm ja unter Label Relais8 für 8 sekunden hängen und ich kann dann keine anderen Relais anziehen lassen.
Wie kann ich es anstellen, das ich alle Relais so wie ich will ansteuern kann, ohne das die sich gegenseitig blockieren.
Lesezeichen