ich denke mir das ungefähr so:
Code:
$regfile = "m16DEF.DAT"
$crystal = 16000000
Config Porta = Input
Config Portb = Output
Config Portc = Output
Config Portd = Output
Dim Offset As Word 'kann auch byte sein, wenn du nicht mehr als 50 Zeichen brauchst
Dim Zeichen As Byte
Dim Spalte As Byte
Dim Werte As Byte
Config Timer0 = Timer , Prescale = 64 'timer läuft alle 16.000.000/64/256=1000.stel Sekunde über, also etwa jede ms
On Timer0 Timer0_isr
Enable Timer0
Enable Interrupts
Spalte = 0
Do
Zeichen = Asc( "2")
Loop
Timer0_isr:
Offset = Zeichen - 49 'sucht Werte für Zeichen "1" ab EEProm Adresse 1
Offset = Offset * 5 'immer 5 Werte pro Zeichen
Incr Spalte
If Spalte = 6 Then
Spalte = 1
End If
Offset = Offset + Spalte
Portd = 0 'zum Verhindern von Geisterbildern
'werte=lookup(offset,zeichen_data)
Readeeprom Werte , Offset
'Print Spalte ; ":" ; Bin(werte) 'nur zum Testen, ACHTUNG!!! langsam
Portc = Werte 'lädt die Werte
Portd.spalte = 1 'Gibt die Spalte frei
Return
'zeichen_data:
$eeprom
Data &B00000000 'Zelle 0 im EEProm nicht benutzen!!!
Data &B11111111 , &B10111101 , &B10000000 , &B10111111 , &B11111111 '1
Data &B10111101 , &B10011110 , &B10101110 , &B10110110 , &B10111001 '2
Musst du mal auf deiner Hardware ausprobieren, im Simulator geht es.
Lesezeichen