mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD EA DIP204-4 macht murks


Autor: Sebastian (Gast)
Datum:

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

Autor: crazy horse (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
jojo...

Dateien ins lib bzw inc-Verzeichnis, mit
#include <lcd_dip.h> statt <lcd.h> einbinden, dann sollte es klappen

Autor: crazy horse (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
und die noch

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Millardensten Dank,

es murkst nicht mehr, es funkelt schön in balu-weiß.

Autor: Markus Haas (Gast)
Datum:

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

Autor: Manfred (Gast)
Datum:

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

Autor: Markus Haas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Library ist oben vorhanden, aber ich werde nicht recht schlau
daraus, vor allem kann ich den anscheinend vorhandenen Fehler nicht
finden!

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
char sz1[21] = "01234567890123456789";
char sz2[21] = "98765432109876543210";

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

Autor: Markus Haas (Gast)
Datum:

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

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Timing zu schnell für´s Display?!

Autor: Markus Haas (Gast)
Datum:

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

Autor: Marco Geisler (Gast)
Datum:
Angehängte Dateien:

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

Autor: Marco Geisler (Gast)
Datum:

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

Autor: avoid (Gast)
Datum:

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

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.