LCD EA DIP204-4 macht murks

Gast #170980
Lesenswert?
• ▲
▼
Ich versuche zur Zeit das vierzeilige EA DIP204-4 von
electronic-assembly zum richtigen Funktioniern zu überreden.
Ich verwende die Standart-Routinen vom Compiler Codevision. In der
ersten Zeile des LCDs klappt noch alles prima, ab der zweiten
verschiebt er mir die Zeichen wild durcheinander. Es tauchen z.B. auch
Zeichen der ersten Zeile in der zweiten wieder auf.

Vielleicht hat jemand ein paar Zeilen C-Code geschrieben, die mir bei
meinem kleinen Problem hilfreich wären.


Sebastian
Gast #170984
Lesenswert?
• ▲
▼
Hallo,


ich habe ebenfalls das DIP204B-6NLW Display vor mir, einen ATMEGA128
und CodeVision. Sowohl beim Einbinden von "lcd.h" als auch beim
Einbinden von "lcd_dip.h" bekomme ich das exakt selbe Fehlerbild,
nämlich dass (wie bereits im ersten Beitrag beschrieben) die erste
Zeile des Displays funktioniert, die anderen aber nicht. Ich möchte
z.B. den folgenden Text ausgeben:

Zeile 1: "01234567890123456789"
Zeile 2: "98765432109876543210"
Zeile 3: ""
Zeile 4: ""

Ich erhalte jedoch:

Zeile 1: "01234567890123456789"
Zeile 2: "2345679"
Zeile 3: "109876543210"
Zeile 4: ""

Der dafür verwendete Code sieht im Wesentlichen so aus:

char sz1[21] = "01234567890123456789";
char sz2[21] = "98765432109876543210";

lcd_init( 20 );
lcd_puts( sz1 );
lcd_puts( sz2 );


Wie kann das sein, bzw. was könnte ich noch ausprobieren?

Danke im Voraus,
    Markus
Gast #170985
Lesenswert?
• ▲
▼
ich weiss jetzt nicht wie diese libraries aussehen, aber das
DIP204B-6NLW hat glaub ich eine etwas andere Adressenverteilung bzgl.
der Zeilen...muss ich mal im Datenblatt schauen...

---schnipp---
Adressierung:
1. Zeile $00..$13
2. Zeile $20..$33
3. Zeile $40..$53
4. Zeile $60..$73
---schnipp---

also fast linear im Gegensatz zu anderen Displays, die gerne mal Zeile
1-3-2-4 durchaddressieren...
mal die library anschauen ob die 'aufpasst' wenn man aus dem
RAM-Bereich einer Zeile rausschreibt (Word-Wrap?)

Grüße
Gast #170988
Lesenswert?
• ▲
▼
Das funktioniert auch nicht viel besser:

Der Text, welcher in Zeile 2 stehen sollte, steht in Zeile 3. Und Zeile
2 und 4 enthalten jeweils Fragmente (die letzten 8 Zeichen) von Zeile 1
und 3.

Wenn ich diesen Code verwende:

lcd_init( 20 );
lcd_puts( sz1 );
lcd_gotoxy( 0, 2 );
lcd_puts( sz2 );

kommt folgendes raus:

Zeile 1: "01234567890123456789"
Zeile 2: "23456789987654321098"
Zeile 3: ""
Zeile 4: ""
Gast #170990
Lesenswert?
• ▲
▼
Ich hab's gefunden:

Die Initialisierung, welche in den standardmäßigen LDC.h/.lib Dateien
(auch in der oben eingefügten) verwendet wird, passt einfach nicht zu
meiner Hardware.

Danke an alle für die rasche Hilfestellung!
Gast #170991
Lesenswert?
• ▲
▼
Hi,
ich habe auch ein EA-DIP204-4 an einem ATmega8 mit 4MHz.
Leider zeigt es weder mit den Assembler-Routinen aus dem AVR-Tutorial,
noch mit C-Routinen von P. Fleury was an, ein anderes HD44780 schon.

Jetzt habe ich CodeVision probiert, auch mit oben genannten libs, aber
es bleiben nur weiße Kästchen :(
Was muss ich mit dem Reset des LCD machen? frei hängen?

Ich habe
RS an PD0
RW an PD1
E  an PD2
D4 an PD4
D5 an PD5
D6 an PD6
D7 an PD7

Was mache ich falsch?

Vielen Dank schon mal, Marco
Angehängte Dateien:
Gast #170992
Lesenswert?
• ▲
▼
Also ich hab nochmal alle Leitungen durchgemessen, und auch mit dem Oszi
überprüft, scheint alles soweit iO zu sein.
Leider krieg ich trotzdem nur weiße Kästchen :(

Hat keiner nen Tipp für mich?
Gast #1227290
Lesenswert?
• ▲
▼
Markus Haas noch da?

wie hast du das problem in den griff bekommen?
ich habe das selbe phenomehn das die letzten 8 zeichen von
zeile 1 auch am anfang von zeile 2 zu sehen sind.

welche änderungen muß man dafür vornehmen?
was wird mit dem KS0073 anders als normal initialisiert?

ich kann mit den lib dateihen leider nichts anfangen,
weil ich meinen mc in basic programmiere.
und ich nutze keine 8bit sondern nur 4bit.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.