LCD Initialisierung fehlerhaft, warum?

Gast #105411
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.
Angehängte Dateien:
Gast
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?
Gast
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);
}
Gast
>> 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ß
Gast
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.
Gast
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
Gast
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
Gast
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.
Angehängte Dateien:
Gast
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.
Angehängte Dateien:
Gast
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

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.