Hi for_ro
Von der Grundfunktion, funktionier das Programm nun
Code:
$regfile = "m16DEF.DAT"
$crystal = 16000000
Config Porta = Output
Config Portb = Output
Config Portc = Output 'Zeilen
Config Portd = Input 'Spalten
Dim Offset As Word
Dim Zeichen As String * 1
Dim Spalte As Byte
Dim Werte As Byte
Declare Sub Out_zeichen(byval Z As String)
Do
Zeichen = "1"
Call Out_zeichen(zeichen)
Loop
End
Sub Out_zeichen(byval Z As String)
Offset = Asc(z) - 49 'sucht Werte für Zeichen "1"
Offset = Offset * 5 'immer 5 Werte pro Zeichen
Spalte = 1
Portc = &B11111111
Do
Porta = 0 'zum Verhindern von Geisterbildern
Incr Offset 'geht die 5 Werte durch
Werte = Lookup(offset , Zeichen_data)
Portc = Werte 'lädt die Werte
Porta = Spalte 'Gibt die Spalte frei
Waitms 5
Shift Spalte , Left 'erhöht auf die nächste Spalte
Loop Until Spalte = 32 'stoppt nach der 5. Spalte
End Sub
Zeichen_data:
Data &B00000000 'Zelle 0 im EEProm nicht benutzen!!!
Data &B11111111 , &B10111101 , &B10000000 , &B10111111 , &B11111111 '1
Data &B10111101 , &B10011110 , &B10101110 , &B10110110 , &B10111001 '2
Data &B00000000 , &B00000000 , &B00000000 , &B00000000 , &B00000000 '3 TEST
Leider ist die gleichmäßige Ausleuchtung sehr schlecht...
Wäre es nicht eigentlich besser die Zeilen immer frei zu geben und den spalten ein Bitmuster zu geben?
Oder müsste man das Programm mit Absicht verlangsamen, sodass die LEDs länger angesprochen werden? Waitus XX ?
Ich habe noch ein weiteres Programm gefunden, das eine Matrix ansteuern kann
Code:
$regfile = "m16DEF.DAT"
$crystal = 16000000
$baud = 19200
Dim A(7) As Byte
Dim Leds As Byte
Dim I As Byte
Dim J As Byte
Config Porta = Output
Porta = 0
Config Portc = Output
Portc = &HFF
Restore Dotmatrix
For I = 1 To 8
Read A(i)
Next
Do
For I = 0 To 6
Portc = &HFF
Reset Portc.i
J = I + 1
Waitus 750
Porta = A(j)
Next
Loop
End
Dotmatrix:
Data &B11100110 , &B11100100 , &B11100100 , &B11100100 , &B11100100 , &B11101110 , &B11100100
Data &B11110001 , &B11100000 , &B11100000 , &B11100000 , &B11100000 , &B11101110 , &B11101110
Nur habe ich es da leider noch nicht geschafft in die zweite "Datenzeile" zu springen, wie es mit dem deinem Programm so einfach war.
Mfg Tryan[code]
Lesezeichen