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.