LED-Lampe
13.02.2011, 23:02
Hallo,
ich bräuchte dringend hilfe bei einer Schaltung. Ich habe an einem ATmega 8 Taster angeschlossen. 5 der Taster haben zusätzlich eine LED als Anzeige. Diese 5 Taster sollen schalten und die anderen drei sollen Tasten. Nun habe ich allen Tastern einen Ausgang zugeordnet, auch wenn die letzten drei keine LED haben. So habe ich nun alle Ausgänge auf einem port. Dieser port müsste irgendwie über eine Leitung zu einem zweiten µC übertragen werden. An dem sollen dan 8 Relais angeschlossen werden. Diese Relais sollen so wie die Ausgänge des ersten ICs reagieren.
Hier habe ich mal ein paar Code-Schnipsel
$regfile = "m32def.dat"
$crystal = 1000000
$framesize = 32
$swstack = 32
$hwstack = 32
Config Porta = Output 'Ausgänge für die LEDs der Taster
Config Portd = Input 'Taster eingänge
Portd = &B11111111
Config Debounce = 100
Do
Debounce Pind.0 , 0 , Rot , Sub
Debounce Pind.1 , 0 , Gruen , Sub
Debounce Pind.2 , 0 , Blau , Sub
Debounce Pind.3 , 0 , Gelb , Sub
Debounce Pind.4 , 0 , Weiss , Sub
If Pind.5 = 0 Then 'Keine LED an Porta nur als Ausgang.
Porta.5 = 1
Else
Porta.5 = 0
End If
If Pind.6 = 0 Then ' nur Ausgang
Porta.6 = 1
Else
Porta.6 = 0
End If
If Pind.7 = 0 Then ' nur Ausgang
Porta.7 = 1
Else
Porta.7 = 0
End If
Loop
Rot:
Toggle Porta.0
Return
Gruen:
Toggle Porta.1
Return
Blau:
Toggle Porta.2
Return
Gelb:
Toggle Porta.3
Return
Weiss:
Toggle Porta.4
Return
End
'*******Sender************************************ ****
$regfile = "m32def.dat"
$crystal = 7372800
$framesize = 32
$swstack = 32
$hwstack = 70
Dim A As Word
Ddra = &B00000000
Porta = &B11111111
Open "ComB.0:2400,8,N,1,inverted" For Output As #1
Do
Debounce Pina.6 , 0 , Firstbutton , Sub
Debounce Pina.5 , 0 , Rot , Sub
Debounce Pina.4 , 0 , Gelb , Sub
Loop
Close #1
End
Firstbutton:
Printbin #1 , A.1
Return
Rot:
Printbin #1 , A.2
Return
Gelb:
Printbin #1 , A.3
Return
'*******Empfänger********************************* ****
$regfile = "m32def.dat"
$crystal = 7372800
$framesize = 32
$swstack = 32
$hwstack = 70
Dim B As Word
Ddra = &B11111111
Open "ComB.0:2400,8,N,1,inverted" For Input As #1
Do
Inputbin #1 , B.1
Toggle Porta.6
Inputbin #1 , B.2
Toggle Porta.5
Inputbin #1 , B.3
Toggle Porta.4
Loop
Close #1
End
Nur es Funktioniert nicht.
Kann mir jemand helfen.
Vielen Dank schonmal.
ich bräuchte dringend hilfe bei einer Schaltung. Ich habe an einem ATmega 8 Taster angeschlossen. 5 der Taster haben zusätzlich eine LED als Anzeige. Diese 5 Taster sollen schalten und die anderen drei sollen Tasten. Nun habe ich allen Tastern einen Ausgang zugeordnet, auch wenn die letzten drei keine LED haben. So habe ich nun alle Ausgänge auf einem port. Dieser port müsste irgendwie über eine Leitung zu einem zweiten µC übertragen werden. An dem sollen dan 8 Relais angeschlossen werden. Diese Relais sollen so wie die Ausgänge des ersten ICs reagieren.
Hier habe ich mal ein paar Code-Schnipsel
$regfile = "m32def.dat"
$crystal = 1000000
$framesize = 32
$swstack = 32
$hwstack = 32
Config Porta = Output 'Ausgänge für die LEDs der Taster
Config Portd = Input 'Taster eingänge
Portd = &B11111111
Config Debounce = 100
Do
Debounce Pind.0 , 0 , Rot , Sub
Debounce Pind.1 , 0 , Gruen , Sub
Debounce Pind.2 , 0 , Blau , Sub
Debounce Pind.3 , 0 , Gelb , Sub
Debounce Pind.4 , 0 , Weiss , Sub
If Pind.5 = 0 Then 'Keine LED an Porta nur als Ausgang.
Porta.5 = 1
Else
Porta.5 = 0
End If
If Pind.6 = 0 Then ' nur Ausgang
Porta.6 = 1
Else
Porta.6 = 0
End If
If Pind.7 = 0 Then ' nur Ausgang
Porta.7 = 1
Else
Porta.7 = 0
End If
Loop
Rot:
Toggle Porta.0
Return
Gruen:
Toggle Porta.1
Return
Blau:
Toggle Porta.2
Return
Gelb:
Toggle Porta.3
Return
Weiss:
Toggle Porta.4
Return
End
'*******Sender************************************ ****
$regfile = "m32def.dat"
$crystal = 7372800
$framesize = 32
$swstack = 32
$hwstack = 70
Dim A As Word
Ddra = &B00000000
Porta = &B11111111
Open "ComB.0:2400,8,N,1,inverted" For Output As #1
Do
Debounce Pina.6 , 0 , Firstbutton , Sub
Debounce Pina.5 , 0 , Rot , Sub
Debounce Pina.4 , 0 , Gelb , Sub
Loop
Close #1
End
Firstbutton:
Printbin #1 , A.1
Return
Rot:
Printbin #1 , A.2
Return
Gelb:
Printbin #1 , A.3
Return
'*******Empfänger********************************* ****
$regfile = "m32def.dat"
$crystal = 7372800
$framesize = 32
$swstack = 32
$hwstack = 70
Dim B As Word
Ddra = &B11111111
Open "ComB.0:2400,8,N,1,inverted" For Input As #1
Do
Inputbin #1 , B.1
Toggle Porta.6
Inputbin #1 , B.2
Toggle Porta.5
Inputbin #1 , B.3
Toggle Porta.4
Loop
Close #1
End
Nur es Funktioniert nicht.
Kann mir jemand helfen.
Vielen Dank schonmal.