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.
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?
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); }
upps, also LCD_OUT = P5OUT LCD_E = 0x80 da es auch am Pin P5.7 hängt
Ist der KS0073 kompatibel zum HD44780? Falls ja, probier mal meine Init-Routinen von www.mathar.com. Die klappen 100%ig.
>> 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ß
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.
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
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
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.
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.
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.
do hier noch die .h vlt hilfts Der code ist für msp;) unter msp-gcc.
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.
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....
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.