Forum: Projekte & Code PICVUE-064 LCD Display Interface


von Gerhard Oberforcher (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Freunde,

Wollte mal endlich selber mal was beisteuern und hier ist ein kleiner
Beitrag fuer jene die auf irgendeinen Weg (ebay, etz.) das LCD Module
PICVUE-064PYL erstanden haben und es noch nicht zum Laufen gebracht
haben. Dieses LCD ist auf zwei Zeilen zu je 8 Charakter aufgeteilt und
hat eine sehr schoene gelbe Hintergrundbeleuchtung.

Nachdem meine LCDs ein paar Wochen nur rumgestanden haben, wurde es mir
zu bunt und machte mich endlich daran es zu versuchen ein Interface zu
erstellen. Zur Codeentwicklung verwandte ich den Lawicel SIMM100 mit
dem MEGA32. Es hat dann auch bald geklappt. Im Anhang ist eine ZIP
Datei mit einem Demoprogram welches die Character und Graphic Mode
demonstriert.

Das LCD Display basiert auf den HD44780 und zwei 74HC164 shift
register. Es werden nur drei Datenleitungen benoetigt: CLOCK, DATA und
E.

Die Daten werden als zwei Byte Packets gesendet. Das erste Byte steuert
im Bit7 den RS Eingang und das andere Byte enthaelt die LCD
Daten/Befehle. Alles uebrige ist in meiner ZIP-Datei zu finden.

Diese Art der LCD Ansteuerung ist sehr praktisch, da man nur drei Port
Leitungen braucht.

Geschwindigkeitsmaessig ist am LCD nicht viel zu benerken und fuer die
meisten Anwendungen schnell genug.

Man kann uebrigens das LCD modifizieren und ein freies Bit im zweiten
Shiftregister fuer die Steuerung der LED Hintergrundbeleuchtung
verwenden.

Ich hoffe dass es bei Euch mit wenig Schwierigkeiten auch funktioniert.


Viele Gruesse aus Edmonton, Alberta, Canada

Gerhard

P.S. Ich habe auch das Datenblatt im PDF Format verfuegbar. Bitte lasst
mich wissen ob die angehaengte Datei im Forum verfuegbar ist, da ich das
hier zum ersten Mal mache.

Sollte mir jemand schreiben wollen, bitte nicht vergessen, meine e-mail
Addresse entsprechend zu modifizieren (das antispam muss geloescht
werden)

von Gerhard (Gast)


Angehängte Dateien:

Lesenswert?

Im Anhang ist das Datenblatt des PICVUE-064-PYC zu finden.

Gerhard

von Gerhard (Gast)


Lesenswert?

Bitte beachten, dass bei Aenderung der Prozessorquarzfrequenz die
Interbyte Verzoegerung entsprechend veraendert werden muss.

Diese Problem wird durch die Methode der Hardware SPI Datenaussendung
verursacht, weil dann der Prozessor nicht auf das Ende des ersten Bytes
wartet. Mit Bitbanging ist das natuerlich kein Problem. Also, bitte
aufpassen. Sollte das LCD nicht richtig anzeigen, dann ist das
moeglicherweise die Ursache. Die Source arbeitet bei mir richtig mit
3.6864MHZ.

void wr_disp_ser(char data)
{
    LCD_CLK = 0;     // Activate E clk
    SPDR = glrsel;   // LCD command byte, 0x80=Data, 0x00=RS Command
  delay_us(10);  // Allow time to shift data out (*)
    SPDR = data;     // Load SPI data register with LCD data byte
  delay_us(10);  // Wait again for finishing the shifting (*)
    LCD_CLK = 1;     // Activate E clk
    delay_us(5);     // allow display time to accept the new data
    LCD_CLK = 0;     // De-activate E clk
    delay_ms(2);     // Wait for LCD to accept new data
}

(*) Dieser Wert ist richtig fuer SPI CLK / 4 und 3.8MHZ. Wenn nicht
sicher, mit dem Oszillographen kontrollieren. Die E-Strobe darf nur
nach dem letzten SPI CLK Pulse sichtbar sein, wie in der Source
SER_LCD.C im Kommentar graphisch dargestellt.

Gerhard

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
Noch kein Account? Hier anmelden.