Hi Zusammen. Nach langer zeit ging nun es nun entlich mein EA
DIP204-4NLED 4x20 LCD mit einem KS0073 Controller.
Komischerweise wiederholen sich die Zeichen der 1. Linie nach 12 Zeichen
auch am anfang der 2. Zeile...
Wenn ich irgendwo einen Fehler in der Verdrahtung gemacht habe müsste
sich doch die ganze Zeile wiederholen?
Die ganze Software zum ansteuern hab ich aus dem Tutorial hier, einfach
leicht verändert auf mein Display (init befehle).
Programm:
lcd_flash_string:
push temp1
lcd_flash_string_1:
lpm temp1, Z+
cpi temp1, 0
breq lcd_flash_string_2
rcall lcd_data
rjmp lcd_flash_string_1
lcd_flash_string_2:
pop temp1
ret
jemand eine Ahnung was es sein könnte?
Hmm also ist ganz komisch. Ich kann mir allerdings nicht vorstellen dass
es bei meinem programm ein fehler gibt.
wenn ich die 1. Zeile beschreibe dann sind die letzen 8 Zeichen
dupliziert am anfang der 2. Zeile. Wenn ich danach die 2. Zeile auch
beschreibe, werden die ersten 8 Ziffern durch die duplikate der 1. Zeile
überdeckt, und erst nach diesen 8 duplikaten erscheint der rest der 2.
Zeile.
Die 2. Zeile wird allerdings nicht dupliziert. Ab der 3. Zeile hab ich
dann wieder das gleiche problem wie bei Zeile 1 und 2.
Könnte es sein, dass ich das Display irgendwie falsch initialisiere?
Mein Initialisierungsvorgang:
lcd_init:
push temp1
in temp1, LCD_DDR
ori temp1, (1<<PIN_E) | (1<<PIN_RS) | 0x0F
out LCD_DDR, temp1
ldi temp3,6
powerupwait:
rcall delay5ms
dec temp3
brne powerupwait
out PORTC, temp1
rcall lcd_enable
rcall delay5ms
rcall lcd_enable
rcall delay5ms
rcall lcd_enable
rcall delay5ms
ldi temp1, 0b00000010
out PORTC, temp1
rcall lcd_enable
rcall delay5ms
ldi temp1, 0b00101010
rcall lcd_command
ldi temp1, 0b00001100
rcall lcd_command
ldi temp1, 0b00000100
rcall lcd_command
pop temp1
ret
Im Anhang das Datenblatt meines Controllers. Ich bin mir allerdings auch
nicht sicher wie ich das ganze richtig einstelle.
wenn RE=1 sein muss für den Code, muss ich vorhher LCD_Enable aufrufen?
Hab das ganze jetzt mal noch Fotografiert, damit ihrs euch etwa vorstellen könnt. Für mich sieht es so aus, als ob das LCD meint es sei 28 Zeilen lang. Ausserdem fehlen die letzten 8 Zeichen der 2. Zeile. Allerdings werden diese geschrieben, nur einfach nicht sichtbar??? Niemand irgend eine Idee?? Verkabelt habe ich alles 99% richtig und keine Kurzschlüsse! Hab ich das Display falsch initialisiert??
vielleicht hat ja jemand mal ein ähnliches problem: Es lag an der Fehlerhaften Initialisierung. Im 8-Bit Modus funktioniert nun alles.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
