PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Brauche Hilfe bei LCD Routinen in ASM



kaisobczak
21.04.2005, 19:47
Hallo...

ich sitze schon seit einiger Zeit an den LCD Routinen um dmein LCD (Displaytech 164A) an meinem AVR2313 mit Assembler zum laufen zu bekommen...geht aber leider garnix...kann sich vielleicht mal jemand meinen Quelltext angucken und überprüfen...ich seh den Wald vor lauter Bäumen nicht mehr...

Die Portbelegung sieht so aus:
E -> Portb.2
RS -> Portb.3
DB4 -> Portb.4
DB5 -> Portb.5
DB6 -> Portb.6
DB7 -> Portb.7
R/W liegt fest auf Masse da ich das Busy Flag nicht brauche...

LCD und AVR funktionieren...mit Bascom AVR kann ich das LCD wie gewohnt einwandfrei ansteuern...die Routinen sind von www.mikrocontroller.net (Tutorial) abgekupfert und umgeschrieben...deshalb gehe ich davon aus das das im Prinzip so funktionieren müsste...ich vermute die Bitmuster zum initialisieren stimmen nicht... wenn ich das dem uC so gebe dann macht das LCD garnichts...weder schwarze Balken noch blinkender Cursor...garnichts eben...Wie gesagt: Ich kann mir im Moment keinen Reim drauf machen...

Wär toll wenn sich da jemand mal Zeit nehmen könnte...

achja: Mir ist schon klar das ich in dem Programm noch kein Zeichen übermittle...aber ich hab mir gedacht das er ja zumindest den blinkenden Cursor schonmal "Home" stellen müsste...sone Wartestellung halt...


naja...auf jedenFall schonmal Danke im vorraus..

Gruß Kai

albundy
22.04.2005, 14:05
...ich seh den Wald vor lauter Bäumen nicht mehr...

Ging mir auch schon so.
Dein Fehler liegt bei der Initialisierung des LCD.
Hier mal meine Routine auf deine Port's geändert.

Nicht vergessen:
Vor der Zeichenausgabe 1x Display löschen lassen.

kaisobczak
25.04.2005, 19:04
Moin Moin,

al bundy...besten dank...mit deinen Routinen funzt es...hab ich das richtig gesehen: Ich hab nur die Bitmuster in der Initialisierung, also die beiden Nibble, vertauscht
](*,) ?! So was blödes...und damit hab ich mich Tagelang aufgehalten...naja...wenigstens kann ich nun diese Routinen nun auch im schlaf auswendig...wer weiß wann man das gebrauchen kann :mrgreen:

Nun nochmal eine allerletze (diese Angabe ist ohne gewähr O:) ) Verständnisfrage:
Im Tutorial steht folgender Satz:
"... Da das obere Nibble (Bit4-Bit7) als erstes übertragen wird..."
Wenn ich nicht schonwieder total verpeilt denke heißt das doch das von einem Bitmuster das ich auf den Port meines AVRs lege, sagen wir 0010 1000, zuerst das obere Nibble also 0010 übertragen wird. Und dieses Nibble wird im LCD auch als oberes Nibble verwendet und nicht wie ich bis vorhin dachte als unteres...
Wenn das nun so ist bin ich durch mit den LCD-Routinen und kann endlich ein paar Anwendungen machen...

Bis dahin...nochmals danke und Gruß

Kai