Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Sorry Andre', > ich bin da mit Foren nicht so vertraut, versuche mich zu bessern. > Dauert das eigentlich immer eine Woche, bis eine Antwort kommt? > Ich wollte nämlich das Display schon zurückschicken. > Aber jetzt probiere ich es noch mal. > Bei dem Display gibt es ein 4-seitiges Datenblatt. Ich habe es nach der Schaltung Beispiel 3 > am Printer-Port das AplikationsBoards angeschlossen > und noch P1H4 an pin 23 und P1H3 am pin 25 an JP2(Appl.Board) angelegt. > P1H3 an E2 vom Display > P1H4 an E1 > P1H5 an Reset > P1H6 an D/I > P1H7 an R/W > Dann habe versucht, ein Programm für das Display zu schreiben. > Anbei, jetzt mit Code-Tags. > Da ich ausser ein paar LEDs auf den Datenleitungen(nicht direkt, sondern über Treiber) > nur noch den Beeper hatte, wollte ich mir mit den verschiedenen Tönen nur merken, > wo sich das Programm befindet. Ist aber nicht wichtig. > Ich möchte nur ein Pixel auf das Display bekommen. > <code> > function rst() > { > ports.set(13,0); //Reset > sleep 10; > ports.setb(0,0x11100000); > } > function status() > { > int stat; > ports.set(11,0); //E2 > ports.set(12,1); //E1 > ports.set(13,1); //Res > ports.set(14,0); //D/I > ports.set(15,1); //R/W > stat=ports.getb(0); //Datenleitungen lesen > sleep 10; > ports.set(12,0); //E1 > ports.setb(0,stat); > sleep 3000; > } > function befehl(int data) > { > ports.setb(0,data); > ports.set(11,0); //E2 > ports.set(12,1); //E1 > ports.set(13,1); //Res > ports.set(14,0); //D/I > ports.set(15,0); //R/W > sleep 10; > ports.set(12,0); > ports.set(14,1); > ports.set(15,1); > } > function schreiben(int data) > { > ports.setb(0,data); > ports.set(11,0); //E2 > ports.set(12,1); //E1 > ports.set(13,1); //Res > ports.set(14,1); //D/I > ports.set(15,0); //R/W > sleep 10; > ports.set(12,0); > ports.set(14,1); > ports.set(15,1); > } > function lesen() returns int > { > int x; > ports.set(11,0); //E2 > ports.set(12,1); //E1 > ports.set(13,1); //Res > ports.set(14,0); //D/I > ports.set(15,1); //R/W > ports.getb(0); > sleep 10; > ports.set(12,0); > ports.set(14,1); > ports.set(15,1); > return x; > > } > thread main > { > int d; > status(); > rst(); //Reset > plm.beep(1); > status(); > befehl(0x00111111); //Display on > plm.beep(2); > status(); > befehl(0x00111110); //Display off > plm.beep(3); > status(); > befehl(0x00111111); //Display on > plm.beep(4); > status(); > befehl(0x11000001); //Zeile 1 > plm.beep(5); > status(); > befehl(0x10111000); //Page 0 > plm.beep(6); > status(); > befehl(0x01000011); //Spalte 3 > plm.beep(7); > status(); > for d=0 ... d<50 > { > schreiben(0x11001010); //schreibe auf Display-Ram(Position) > } > plm.beep(8); > status(); > d=lesen(); //Display auslesen > plm.beep(9); > status(); > ports.setb(0,d); //Wert auf LEDs > plm.beep(10); > sleep 3000; > befehl(0x11000001); //Zeile 1 > plm.beep(5); > status(); > befehl(0x10111000); //Page 0 > plm.beep(6); > status(); > befehl(0x01000011); //Spalte 3 > plm.beep(7); > status(); > d=lesen(); //Display auslesen > plm.beep(9); > status(); > ports.setb(0,d); //Wert auf LEDs > plm.beep(10); > sleep 3000; > plm.beep(-1); > loop > { > } > > } > </code> > > Hallo Werner, > > > > Zuerst: Verwende bitte die Code-Tags, und das bitte so, wie es oberhalb > > des Eingabefeldes angegeben ist. > > Also: > > <code> > > C2-Quellcode > > </code> > > Daraus > > wird dann: > > <code> > > C2-Quellcode > > </code> > > Ohne irgendeine Formatierung, wie auch übersichtliches Einrücken, macht es keinen > > Spaß Quellcode zu lesen. > > Daher habe ich mir Dein Programm nicht näher angesehen. > > > > Ich selbst habe kein EA DIP128 Grafikdisplay. > > Ich verwende bei Grafik gleich eines der eDIPs. Das ist einfacher und portsparender. > > Denn bei Grafik-LCDs wird's komplizierter als bei Text-LCDs. > > Zunächst brauchst Du immer einen 8Bit-Datenbus. > > Dann kommen noch Steuerleitungen hinzu. > > Neben RS(Register-Select),R/W und Enable hast Du noch weitere Steuerleitungen. > > Bei 128x64-Displays existieren meist noch zwei CS-Leitungen, da das LCD > > in eine linke und in eine rechte Hälfte unterteilt ist. > > > > Du solltest zu allererst den korrekten Anschluß des Displays überprüfen. > > Dazu hilft Dir das Datenblatt sicher weiter. > > > > MfG André H. > > > > > > > Hallo, > > > mein Versuch das LCD anzusteuern ist fehlgeschlagen. > > > Bekomme kein einziges Pixel auf Display. > > > Anbei mein Versuch. > > > Was mache ich falsch? > > > code > > > function rst() > > > { > > > ports.set(13,0); //Reset > > > sleep 10; > > > ports.setb(0,0x11100000); > > > } > > > function status() > > > { > > > int stat; > > > ports.set(11,0); //E2 > > > ports.set(12,1); //E1 > > > ports.set(13,1); //Res > > > ports.set(14,0); //D/I > > > ports.set(15,1); //R/W > > > stat=ports.getb(0); //Datenleitungen lesen > > > sleep 10; > > > ports.set(12,0); //E1 > > > ports.setb(0,stat); > > > sleep 1000; > > > } > > > function befehl(int data) > > > { > > > ports.setb(0,data); > > > ports.set(11,0); //E2 > > > ports.set(12,1); //E1 > > > ports.set(13,1); //Res > > > ports.set(14,0); //D/I > > > ports.set(15,0); //R/W > > > sleep 10; > > > ports.set(12,0); > > > ports.set(14,1); > > > ports.set(15,1); > > > } > > > function schreiben(int data) > > > { > > > ports.setb(0,data); > > > ports.set(11,0); //E2 > > > ports.set(12,1); //E1 > > > ports.set(13,1); //Res > > > ports.set(14,1); //D/I > > > ports.set(15,0); //R/W > > > sleep 10; > > > ports.set(12,0); > > > ports.set(14,1); > > > ports.set(15,1); > > > } > > > function lesen() returns int > > > { > > > int x; > > > ports.set(11,0); //E2 > > > ports.set(12,1); //E1 > > > ports.set(13,1); //Res > > > ports.set(14,0); //D/I > > > ports.set(15,1); //R/W > > > ports.getb(0); > > > sleep 10; > > > ports.set(12,0); > > > ports.set(14,1); > > > ports.set(15,1); > > > return x; > > > > > > } > > > thread main > > > { > > > int d; > > > status(); > > > rst(); //Reset > > > plm.beep(1); > > > status(); > > > befehl(0x00111111); //Display on > > > plm.beep(2); > > > status(); > > > befehl(0x00111110); //Display off > > > plm.beep(3); > > > status(); > > > befehl(0x00111111); //Display on > > > plm.beep(4); > > > status(); > > > befehl(0x11000001); //Zeile 1 > > > plm.beep(5); > > > status(); > > > befehl(0x10111000); //Page 0 > > > plm.beep(6); > > > status(); > > > befehl(0x01000011); //Spalte 3 > > > plm.beep(7); > > > status(); > > > for d=0 ... d<50 > > > { > > > schreiben(0x11001010); //schreibe auf Display-Ram(Position) > > > } > > > plm.beep(8); > > > status(); > > > d=lesen(); //Display auslesen > > > plm.beep(9); > > > status(); > > > ports.setb(0,d); //Wert auf LEDs > > > plm.beep(10); > > > sleep 3000; > > > befehl(0x11000001); //Zeile 1 > > > plm.beep(5); > > > status(); > > > befehl(0x10111000); //Page 0 > > > plm.beep(6); > > > status(); > > > befehl(0x01000011); //Spalte 3 > > > plm.beep(7); > > > status(); > > > d=lesen(); //Display auslesen > > > plm.beep(9); > > > status(); > > > ports.setb(0,d); //Wert auf LEDs > > > plm.beep(10); > > > sleep 3000; > > > plm.beep(-1); > > > loop > > > { > > > } > > > > > > } > > > /code > > > Bitte heft mir. > > > Gruß Werner