Hallo zusammen,
ich habe mir eine LED Matrix 8x24 gebaut.
Angesteuert wird sie von 1xAtmega8, 3xCMOS 4094 und 1xCMOS 4017 (für die Zeilen).
Zum Üben habe ich verschiedenste Anzeigemöglichkeiten ausprobiert und bissher auch hinbekommen.
Nun möchte ich gern mit dem "lookup"-Befehl und Datensätzen arbeiten, doch habe da ein kleines Problem.
Und zwar wird das erste Zeichen noch komplett richtig angezeigt.
Jedoch wird bei jedem weiteren Zeichen die letzte Zeile des vorherigen Zeichens an die oberste Stelle mitgenommen und der Zeichenaufbau beginnt erst nach dieser Zeile. Dadurch verschiebt sich alles.
Ich steh wohl gerade etwas auf dem Schlauch. Daher möchte ich hier höfflichst um Hilfe bitten.
Hier ersteinmal der Quelltext:
Das ist wiegesagt erstmal nur zum Üben um die Ansteuerung besser zu verstehen. :to_pick_ones_nose:
Vielen Dank schonmal im Vorraus
Liebe Grüße
Kokusnuss
ich habe mir eine LED Matrix 8x24 gebaut.
Angesteuert wird sie von 1xAtmega8, 3xCMOS 4094 und 1xCMOS 4017 (für die Zeilen).
Zum Üben habe ich verschiedenste Anzeigemöglichkeiten ausprobiert und bissher auch hinbekommen.
Nun möchte ich gern mit dem "lookup"-Befehl und Datensätzen arbeiten, doch habe da ein kleines Problem.
Und zwar wird das erste Zeichen noch komplett richtig angezeigt.
Jedoch wird bei jedem weiteren Zeichen die letzte Zeile des vorherigen Zeichens an die oberste Stelle mitgenommen und der Zeichenaufbau beginnt erst nach dieser Zeile. Dadurch verschiebt sich alles.
Ich steh wohl gerade etwas auf dem Schlauch. Daher möchte ich hier höfflichst um Hilfe bitten.
Hier ersteinmal der Quelltext:
Code:
'-------------------------
' Variabelndeklaration
'-------------------------
Dim Zeile As Byte
Dim Zeichen As Byte
Dim I As Byte
'############################
' Hauptprogramm
'############################
Zeile = 0
Reset_4017 = 1
Clock_4017 = 1
I = 0
'-------------------------
' Do-Schleife
'-------------------------
Do
Zeichen = Lookup(i , Test)
Strobe_4094 = 0
Shiftout Data_4094 , Clock_4094 , Zeichen , 0 , 8
Strobe_4094 = 1
Incr I
If I = 8 Then
I = 0
End If
Incr Zeile
Clock_4017 = 0
Clock_4017 = 1
If Zeile = 9 Then
Zeile = 1
Reset_4017 = 1
Reset_4017 = 0
End If
Waitms 20
Loop
End
$data
Test:
Data &B110000 , &B110000 , &B110000 , &B110000 , &B110000 , &B110000 , &B111111 , &B111111
Das ist wiegesagt erstmal nur zum Üben um die Ansteuerung besser zu verstehen. :to_pick_ones_nose:
Vielen Dank schonmal im Vorraus
Liebe Grüße
Kokusnuss