LCD-Frage

Hallo ng

Ich habe hier ein LC-Display mit der Bezeichnung "HMC16223". 2x16 Zeichen, unbeleuchtet - einfach Standard.

Nun kann ich das LCD per =B5C (R8C/13 von Renesas) zwar ansteuern (via ASCII-Code) also alle bekannten Zeichen darstellen. Leider kein vern=FCnfiges Datenblatt zur Verf=FCgung. Es ist ein 2x16 Zeichen Punktmatrix-Display. Pro Zeichen sind (glaube ich) 5x9 Punke gegeben.

Meine Frage w=E4re nun, wie kann ich per ASCII-Code ALLE Punkte eines Zeichens ansteueren ? Also alle verf=FCgbaren Punkte eines (bzw. jeden) Zeichens?

M=F6chte eine Art "Progressbar" in der zweiten Zeile realisieren und m=F6chte dazu die 16 (5x9) Zeichen ansteuern. Display ist "HDD44780"- kopatibel.

Weis jemand wie man das per ASCII macht - bzw. einen ASCII-Code f=FCe ALLE Punkte ?

lg, Heinz

Reply to
Heinz Pripal
Loading thread data ...

Hallo Heinz,

Am 01.04.2010 20:56, schrieb Heinz Pripal:

Diese Controller haben auch benutzerdefinierbare Zeichen. Du uploadest nach der Initialisierung die gewünschten Bitmuster ins RAM des Displays. Es ist auch möglich, im laufenden Betrieb diese Zuordnung zu ändern. Das Datenblatt zum HD44780 weiß mehr.

Haken: Es ist nur begrenzt Platz...nur 8 solche Zeichen gibts WIMRE.

HTH Wolfgang

--
From-address is Spam trap
Use: wolfgang (dot) mahringer (at) sbg (dot) at
Reply to
Wolfgang Mahringer

Tja, so genau kenn ich mich in dieser Umgebung auch nicht aus.

Habe zZ. eben ein herk=F6mmliches Zeichen benutzt, und zwar das "Pipe" "|" (Ascii 124). Das geht bisweilen auch - sch=F6n w=E4re eben, wenn das ganze Punktmatrix f=FCr die "Progressbar" verwendet werden k=F6nnte - sprich ein anderer Ascii-Code eingesetzt werden k=F6nnte!

lg, Heinz

Reply to
Heinz Pripal

ASCII 255 ist (in den =FCblichen Code-Tabellen) ein "Vollblock", den k=F6nntest Du gut verwenden. Wenn Du eine feinere Aufl=F6sung ben=F6tigst, kannst Du Dir die User- defined Characters mit 1er bis 4er Spalten vorbereiten und dann das ganze entsprechend anreihen. Die max. acht selbstdefinierten Zeichen kannst Du auf dem Display dann so oft anzeigen wie Du sie brauchst. Die Vorgehensweise gibt Dir z.B. das Datenblatt des HD44780 an.

Reply to
Ingo Seidel

Dann besorg dir einfach irgendein Datenblatt. Die Dinger sind doch gerade sehr kompatible.

Schick einfach mal alle ASCII Zeichen hin. Ich meine da waere eins drunter das alle Pixel einschaltet. Ansonsten bleibt dir immer noch ein benutzerdefiniertes Zeichen zu generieren. Noch klueger waere es natuerlich wenn du dir fuenf Zeichen generierst weil dein Balken dann eine feinere Aufloesung haben koennte.

Olaf

Reply to
Olaf Kaluza

Geht aber nur maximal als 5x8. 5x9 geht damit nicht

Hier mal ein Codeschnipsel in C:

void LCD_printcharx(char b) // ein Zeichen zum Display schicken zb: '*' { char c; c = b & 0xF0; LCD_PORT = c; SetBit(LCD_PORT,LCD_rs); // dataregister adressieren SetBit(LCD_PORT,LCD_enable); // Daten schreiben, Impuls an enable ClrBit(LCD_PORT,LCD_enable); b=b

Reply to
Stefan

@ Ingo

Jep ! :-)

Das war es, was ich gesucht habe !

5x8 Punkte =3D Vollblock -> ASCII 255

Vielen Dank !

lg, Heinz

Reply to
Heinz Pripal

Da man bei einem Progressbar immer nur ein spezielles Zeichen braucht, könnte man mit dem On the fly Überladen auch noch genauer abstufen, also innerhalb der 5 Spalten immer die letzte Spalte Pixelweise auffüllen. Ist aber eher sportlich als notwendig.

Marcel

Reply to
Marcel Müller

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.