Hallo,
ich habe zwei mega32 speziell verbunden, damit sie zahlen von 0-9 und zusätzlich + und - austauschen können. der eine prozessor ist eigendlich nur für die tastatur da (Chip1), der andere zum ausgeben der daten.
dem Chip1 habe ich folgenden quellcode aufgespielt:
Code:
Statusout = 1
Led = 0
Call Tastenabfrage()





Sub Tastenabfrage()
Do
Led = 0
If Null = 0 Then
   Led = 1
   Wert = 0
   End If
If Eins = 0 Then
   Wert = 1
   Led = 1
   End If
If Zwei = 0 Then
   Wert = 2
   Led = 1
   End If
If Drei = 0 Then
   Wert = 3
   Led = 1
   End If
If Vier = 0 Then
   Wert = 4
   Led = 1
   End If
If Fuenf = 0 Then
   Wert = 5
   Led = 1
   End If
If Sechs = 0 Then
   Wert = 6
   Led = 1
   End If
If Sieben = 0 Then
   Wert = 7
   Led = 1
   End If
If Acht = 0 Then
   Wert = 8
   Led = 1
   End If
If Neun = 0 Then
   Wert = 9
   Led = 1
   End If
If Plus = 0 Then
   Wert = 10
   Led = 1
   End If
If Minus = 0 Then
   Wert = 11
   Led = 1
   End If

If Enter = 0 Then
   Call Eingabe()
End If
Loop
End Sub                                                     'Tastenabfrage





Sub Eingabe()
   Statusout = 0
   Led = 0
   Waitms 5
   If Statusin = 0 Then
      Statusout = 1
      If Wert = 0 Then
         Dezi1 = 0
         Dezi2 = 0
         Dezi3 = 0
         Dezi4 = 0
         Dezi5 = 1
         End If
      If Wert = 1 Then
         Dezi1 = 0
         Dezi2 = 0
         Dezi3 = 0
         Dezi4 = 1
         Dezi5 = 0
         End If
      If Wert = 2 Then
         Dezi1 = 0
         Dezi2 = 0
         Dezi3 = 0
         Dezi4 = 1
         Dezi5 = 1
         End If
      If Wert = 3 Then
         Dezi1 = 0
         Dezi2 = 0
         Dezi3 = 1
         Dezi4 = 0
         Dezi5 = 0
         End If
      If Wert = 4 Then
         Dezi1 = 0
         Dezi2 = 0
         Dezi3 = 1
         Dezi4 = 0
         Dezi5 = 1
         End If
      If Wert = 5 Then
         Dezi1 = 0
         Dezi2 = 0
         Dezi3 = 1
         Dezi4 = 1
         Dezi5 = 0
         End If
      If Wert = 6 Then
         Dezi1 = 0
         Dezi2 = 0
         Dezi3 = 1
         Dezi4 = 1
         Dezi5 = 1
         End If
      If Wert = 7 Then
         Dezi1 = 0
         Dezi2 = 1
         Dezi3 = 0
         Dezi4 = 0
         Dezi5 = 0
         End If
      If Wert = 8 Then
         Dezi1 = 0
         Dezi2 = 1
         Dezi3 = 0
         Dezi4 = 0
         Dezi5 = 1
         End If
      If Wert = 9 Then
         Dezi1 = 0
         Dezi2 = 1
         Dezi3 = 0
         Dezi4 = 0
         Dezi5 = 1
         End If
      If Wert = 10 Then
         Dezi1 = 0
         Dezi2 = 1
         Dezi3 = 0
         Dezi4 = 1
         Dezi5 = 1
         End If
      If Wert = 11 Then
         Dezi1 = 0
         Dezi2 = 1
         Dezi3 = 1
         Dezi4 = 0
         Dezi5 = 0
         End If
      Waitms 5
         Dezi1 = 0
         Dezi2 = 0
         Dezi3 = 0
         Dezi4 = 0
         Dezi5 = 0
      Else
      Call Eingabe()

   End If
Call Tastenabfrage()





End Sub                                                     'Eingabe





End
also die daten am anfang des quellcodes habe ich mal weggelassen.
der Chip2 hat dieses:
Code:
Statusout = 1
Call Status()









Sub Status()
If Statusin = 0 Then
   Waitms 5
   Statusout = 0
   Call Ziffernabfrage()
Else
Call Status()
End If
End Sub





Sub Ziffernabfrage()
If Dezi1 = 1 And Dezi2 = 1 And Dezi3 = 1 And Dezi4 = 1 And Dezi5 = 0 Then
   Wert = 0
   End If
If Dezi1 = 1 And Dezi2 = 1 And Dezi3 = 1 And Dezi4 = 0 And Dezi5 = 1 Then
   Wert = 1
   End If
If Dezi1 = 1 And Dezi2 = 1 And Dezi3 = 1 And Dezi4 = 0 And Dezi5 = 0 Then
   Wert = 2
   End If
If Dezi1 = 1 And Dezi2 = 1 And Dezi3 = 0 And Dezi4 = 1 And Dezi5 = 1 Then
   Wert = 3
   End If
If Dezi1 = 1 And Dezi2 = 1 And Dezi3 = 0 And Dezi4 = 1 And Dezi5 = 0 Then
   Wert = 4
   End If
If Dezi1 = 1 And Dezi2 = 1 And Dezi3 = 0 And Dezi4 = 0 And Dezi5 = 1 Then
   Wert = 5
   End If
If Dezi1 = 1 And Dezi2 = 1 And Dezi3 = 0 And Dezi4 = 0 And Dezi5 = 0 Then
   Wert = 6
   End If
If Dezi1 = 1 And Dezi2 = 0 And Dezi3 = 1 And Dezi4 = 1 And Dezi5 = 1 Then
   Wert = 7
   End If
If Dezi1 = 1 And Dezi2 = 0 And Dezi3 = 1 And Dezi4 = 1 And Dezi5 = 0 Then
   Wert = 8
   End If
If Dezi1 = 1 And Dezi2 = 0 And Dezi3 = 1 And Dezi4 = 0 And Dezi5 = 1 Then
   Wert = 9
   End If
If Dezi1 = 1 And Dezi2 = 0 And Dezi3 = 1 And Dezi4 = 0 And Dezi5 = 0 Then
   Wert = 10
   End If
If Dezi1 = 1 And Dezi2 = 0 And Dezi3 = 0 And Dezi4 = 1 And Dezi5 = 1 Then
   Wert = 11
   End If
Statusout = 1
Waitms 5
Call Ausgabe()
End Sub



Sub Ausgabe()
   If Wert = 0 Then
   Led = 0
   End If
If Wert = 1 Then
   Led = 1
   Waitms 100
   Led = 0
   Waitms 100
   End If
If Wert = 2 Then
   Led = 1
   Waitms 100
   Led = 0
   Waitms 100
   Led = 1
   Waitms 100
   Led = 0
   Waitms 100
   End If
Call Status()
End Sub
also wenn ich jetzt [2] +[Enter] drücke müsste der Chip2 das empfangen und die LED müsste 2 mal leuchten (weiter hab ichs noch nicht geschrieben). das problem ist nur, es blinkt nicht!

wer kann mir helfen und sagen wo ich den fehler habe?

mfg Killer