Ich habe bei mir zuhause gekramt und noch ein LCD display gefunden.Allerdings habe ich kein datenblatt mehr dafür, was abner nicht schlimm ist da die pins beschriftet sind. ich hab alles also so gemacht wie im tutorial http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung beschrieben ist und es funktioniert als ich mir dann aber mal den code angeschaut habe verstehe eine sache nicht und zwar wie man auf die hex zahlen zur einstellung des cursors kommt im code steht : #define LCD_DDADR_LINE1 0x00 #define LCD_DDADR_LINE2 0x40 #define LCD_DDADR_LINE3 0x10 #define LCD_DDADR_LINE4 0x50 das ist für mich wiedersprüchlich da 0x10 kleiner ist als 0x40 und dementsprechend des theoretisch die 2te zeile sein müsste und da ich irgendein display genommen habe glaube ich nicht dass es genau das display ist was im forum verwendet worden ist. wenn das der fall ist muss es ja in irgendeiner form einen "standard" dafür geben wenn ja wo kann man ihn nachlesen? oder es muss im Datenblatt beschrieben stehen.ich habe mir allerdings 3-4 Datenblätter angeschaut und nirgends steht darüber etwas beschrieben
Tobi L. schrieb: > #define LCD_DDADR_LINE1 0x00 > #define LCD_DDADR_LINE2 0x40 > #define LCD_DDADR_LINE3 0x10 > #define LCD_DDADR_LINE4 0x50 > > das ist für mich wiedersprüchlich da 0x10 kleiner ist als 0x40 und > dementsprechend des theoretisch die 2te zeile sein müsste Nein. Auf einem 4 zeiligen LCD sind 2 Controller verbaut, die sich eben den Speicher genau so aufteilen. > wenn das der fall ist muss es ja in irgendeiner form einen "standard" > dafür geben wenn ja wo kann man ihn nachlesen? Es gibt keinen. Stell bei deinem LCD den Cursor auf Zeile 0 SPalte 0. Und dann gibst du einen langen Text aus: ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz Dieser Text wird in der ersten Zeile beginnen und erst mal die erste Zeile vollschreiben. Aber: die nächsten Zeichen landen ganz einfach dahinter im LCD-Speicher. Da sind dann einige Speicherzellen, für die es keine Anzeigeposition gibt. Und an irgendeiner Buchstabenposition taucht dann der Text wieder in der 3. Zeile auf. Diesen Buchstaben merkst du dir und zählst ab, der wievielte es in deinem langen Text war. Damit hast du dann die Adresse, wo auf deinem LCD die sichtbare 3. Zeile im Speicher anfängt. Selbiges für die 2. und 4. Zeile.
>Auf einem 4 zeiligen LCD sind 2 Controller verbaut, die sich eben den >Speicher genau so aufteilen. Ein 4x16 oder 4x20 hat nur einen Controller. Der Kram ist einfach so verkabelt das dieses Verhalten rauskommt. Warum weiss ich auch nicht. Line1 und Line3 sind eigentlich nur eine Zeile die auf zwei aufgeteilt wurde. Line2 und Line4 genauso. Das beste sind 1x16 Displays. Da wird auch häufig Schwachsinn betrieben. Eigentlich ist das ein zweizeiliges Display von der Verdrahtung her. D.h. um das 9.te Zeichen zu setzen muss man den Cursor neu positionieren;) Bei LCDs gibts schon einige dumme Sachen.
Karl Heinz Buchegger schrieb: > Tobi L. schrieb: > >> #define LCD_DDADR_LINE1 0x00 >> #define LCD_DDADR_LINE2 0x40 >> #define LCD_DDADR_LINE3 0x10 >> #define LCD_DDADR_LINE4 0x50 >> >> das ist für mich wiedersprüchlich da 0x10 kleiner ist als 0x40 und >> dementsprechend des theoretisch die 2te zeile sein müsste > > Nein. > Auf einem 4 zeiligen LCD sind 2 Controller verbaut, die sich eben den > Speicher genau so aufteilen. > aaaaaah dannn mahct das wieder Sinn das heisst bei einem 4 zeiligen display hätte ch 4/2 controlller und die würden mit zeile1 = 0x00 zeile2 = 0x40 zeile3 = 0x10 zeile4 = 0x50 zeile5 = 0x20 zeile6 = 0x60 zeile7 = 0x30 zeile8 = 0x70 beschreiben werden? aner was ist wenn ich mehr als 8 zeilen habe habe dann krieg ich doch ein prob da ich das nicht mehr ansteuern kann oder?
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.