mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik DIP204 LCD wiederholt einen Teil der 1. Zeile


Autor: Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Michi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Michi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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??

Autor: Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielleicht hat ja jemand mal ein ähnliches problem:

Es lag an der Fehlerhaften Initialisierung. Im 8-Bit Modus funktioniert 
nun alles.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.