www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD Initialisierung fehlerhaft, warum?


Autor: Micha Gueth (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hab hier ein LCD von Assembly 4x20 Zeichen.
Nur ein Problem, es tut sich nichts. Hab es am MSP430F149 am Port 5
angeschlossen im 4bit Modus, aber …. nichts geht! Der Controller läuft
mit einem 8Mhz Quarz.
Der Hintergrund leuchtet, und meine Initialisierung ist wie beschrieben
vom Datenblatt des KS0073 Controllers.
Ein Cursor bekomm ich nicht zum blinken. Kann mir vielleicht jemand
helfen?
Mein Init Code in der Datei.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Als erstes musst du mal den 8-bit-Modus wählen, um sicherzustellen, wo
der Fehler liegt. Display kaputt? Oder Ansteurung? Also: Auf Nummer
sicher gehen, der MSP hat doch 48 GPIOs, wieso also so geizig? ;-)

Deine Enable-Funktion setzt auch mit Sicherheit den Enable-Pin korrekt?

Autor: Micha Gueth (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also 8bit geht nicht, dann muss ich die Platine umlöten und
herumkratzen. Ist ein fertiges Layout, was funzen sollte.

Die Enable Funktion denke ich doch das sie das tut.

#define SET_BIT(byte, bit) ((byte) |=  (bit))
#define CLR_BIT(byte, bit) ((byte) &= ~(bit))

void Lcd_Enable(void)
{
  SET_BIT(LCD_OUT, LCD_E);
  asm("nop");
  asm("nop");
  asm("nop");
  asm("nop");
  asm("nop");
  asm("nop");
  CLR_BIT(LCD_OUT, LCD_E);
}

Autor: Micha Gueth (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
upps,

also

LCD_OUT = P5OUT
LCD_E = 0x80 da es auch am Pin P5.7 hängt

Autor: Denis Gérard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
genügend kontrast?

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist der KS0073 kompatibel zum HD44780? Falls ja, probier mal meine
Init-Routinen von www.mathar.com. Die klappen 100%ig.

Autor: Helmut Weiß (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> genügend Kontrast?

Ist auch meine Vermutung.

Wahrscheinlich kein Software, sondern Hardwareproblem. Der MSP ist ein
3V-Controller, das Display benötigt für den Contrast aber 5V, auch wenn
der Displaycontroller mit 3V laufen würde. Bleibt nur, die
Contrastspannung des Diplays um ca 2V gegenüber Masse negativer zu
machen.

Wie hoch ist denn die Versorgungsspannung des GEsamtsystems?

Viele Grüße

Helmut Weiß

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also ich hatte auch gerade erst gewaltige Probleme mit dem KS0073.
AVR mit 3,3V, CodeVision. Das Display (DIP204-6, 4x20 blau) selbst
läuft problemlos mit 3,3V, Kontrasteinstellung ebenso an 3,3V.
Das Problem ist die Initialisierung, lief mit keiner der üblichen
HD44780-Routinen (die Controller sind fast 100% kompatibel :-), genau
da kommt das "fast" zum Tragen. Ich habe dann eine CV-Init-Routine im
Netz gefunden, die funktioniert, aus Zeitgründen aber noch nicht weiter
analysiert, ich war froh, dass es erstmal lief.

Autor: Micha Gueth (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke jungs für eure Hilfe, aber ....   ;-(
bis jetzt kein Erfolg.

@Sebastian:
Ich habe deine Routine mir mal angeschaut, die kann ich leider so nicht
nehmen. Mein LCD ist auf einer Platine schon fest eingebaut, ich müste
hier basteln und die kleinen Füßchen vom Controller irgendwie anzapfen
damit cih auf 8-bit modus komm. Sorry.

@Denis und Helmut:
Ja, Kontrast ist da. Die Spannung ist auch korrekt.

@crazy:
Genau so siehts aus mit deiner Beschreibung. Wo hast du die Rotine her?
kannst du die mir mal geben?

gruß micha

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

die Init ist wie Crazy Horse gesagt hat anders. In der Codesammlung
findet ihr ein Beispiel von mir. Es ist fuer HW SPI aber da koennt ihr
euch das abschaun.


Mfg

Dirk

Autor: Micha Gueth (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
ich habe das mal probiert und umgeschrieben.
Aber auch keinen Erfolg. Ich verzweifel bald. Hab mal den Code
mitgeschickt. Da sollte doch wenigstens der Cursor blinken, tut er aber
nicht.

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

Bewertung
0 lesenswert
nicht lesenswert
hier mal die lcd_dip.h und lcd_dip.lib.
Wie gesagt, für CodeVision und AVR. Funktioniert problemlos, vielleicht
findest du darin den entscheidenden Tip für dich.

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

Bewertung
0 lesenswert
nicht lesenswert
Geht nur eine Datei?

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

Bewertung
0 lesenswert
nicht lesenswert
Also der zweite code ist mies.
Keine Magic-Numers!!!!!0x37 da weist du nie mehr was das war.
Im Anhang hab ich ne .c und .h für 4bit dran gehängt.
bzw die .h kommt noch is blos a weng schlecht kommentiert aber ich
glaub doch so weit verständlich.

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

Bewertung
0 lesenswert
nicht lesenswert
do hier noch die .h vlt hilfts
Der code ist für msp;) unter msp-gcc.

Autor: Florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also die Logic sollte mit 3.3 V schon noch gehen das ham die in der ct
auch gemacht allerdings die 5v vcc fürs display brauchst du schon.

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

Bewertung
0 lesenswert
nicht lesenswert
tools.h fehlt auch noch aber da is nix wichtiges mehr drinn.
aber wers will kommts hier auch noch.
cu Flo
sorry das ich so oft postet hab....

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du mal die Pegel nachgemessen? Ich benutze ein HD44780-LCD an dem
MSP430, was problemlos geht. Aber vielleicht sieht dein komischer
Controller die 3V des MSP nicht mehr korrekt als "high" an? Oder
vielleicht geht dir auf dem Weg noch irgendwo irgendwas verloren? Ich
habe deine NOPs jetzt nicht gezählt, aber bist du dir sicher, dass die
reichen? Ich habe bei meinem LCD irgendwas im µs-Bereich benutzt.
Sicherheitshalber erst mal mehr, schneller kann man immer noch werden.

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.