Der PCF8577 von Philips wird über den I²C-Bus programmiert. Ein Baustein kann maximal 64 LCD-Segmente im Duplex drive mode bzw. 32 LCD-Segmente im Direct drive mode ansteuern. Im Direct drive mode kann zwischen zwei Speicherbänken umgeschaltet werden. Insgesamt können bis zu vier PCF8577 im Duplex drive mode bzw. acht PCF8577 im Direct drive mode an den I²C-Bus angeschlossen werden. Der Baustein kann auch als Porterweiterung für den I²C-Bus genutzt werden, wobei dann 32 Portausgänge bereitgestellt werden. Das Datenblatt ist auf der Homepage von Philips erhältlich. Zusätzlich gibt es noch den PCF8577A, der sich lediglich in der Slave-Adresse vom PCF8577 unterscheidet.
Es handelt sich hier um ein vierstelliges LC-Display in Siebensegmentausführung, das
über eine serielle RS232-Schnittstelle programmiert werden kann. Die LCD-Segmente werden von
dem I²C-LCD-Treiberbaustein PCF8577 angesteuert. Der I²C-Bus wird dabei von einem
Mikrocontroller des Typs AT89C2051 softwaremäßig gebildet. Die darzustellenden
Anzeigedaten werden über die serielle RS232-Schnittstelle an den Mikrocontroller gesendet.
Die Programmierung kann in drei verschiedenen Modes erfolgen:
Binärmode: Die darzustellenden Segmente werden binär mittels vier Bytes festgelegt,
wobei die vier Bytes als acht Hex-Nibbles übertragen werden. Hiermit lassen sich beliebige
Segmentkombinationen darstellen.
Hexmode: Es werden direkt vier hexadezimale Ziffern dargestellt, einschließlich
einiger Zusatzzeichen wie z.B. Punkt oder Minuszeichen.
Dezimalmode: Es werden direkt vier dezimale Ziffern dargestellt, einschließlich
einiger Zusatzzeichen wie z.B. Punkt oder Minuszeichen.
Außerdem gibt es Kommandos für Displaytest und Display löschen.
Anstatt eines 4.Dezimalpunktes verfügt das LC-Display über einen Doppelpunkt zwischen
den beiden mittleren Ziffern.
Die Schaltung sowie die Software stehen hier zum Download bereit:
Projektdateien für Hardware und Software im ZIP-Format:
Serielles LC-Display V1.1
Für die Hardware ist die Freeware-Version von Eagle 3.55 erforderlich. Sie ist bei CadSoft kostenlos erhältlich.
Schaltplan und Bestückungsplan im GIF-Format:
Schaltplan serielles LC-Display
Bestückungsplan serielles LC-Display
Leiterplatte:
Zu diesem Projekt ist eine professionell gefertigte unbestückte Leiterplatte unter der Bezeichnung SER_LCD.BRD erhältlich.
Weitere Infos gibt es hier:
Leiterplatten zu WOE-Projekten
Programmierter Mikrocontroller:
Falls Interesse an einem programmierten Mikrocontroller besteht, bitte eine
Email mit dem Projektnamen senden.
Hat Ihnen dieses Projekt gefallen?
Dann unterstützen Sie doch WOE mit einer kleinen Spende. Sie ermöglichen damit die Entwicklung weiterer freier Projekte auf dieser Seite. Vielen Dank.
In der Sonderliste 1/2000 von Pollin Electronic wurde ein alphanumerisches LCD mit 2x20 Zeichen angeboten, das mittels I²C-Bus ansteuerbar ist. Das Display ist in einem Gerät eingebaut, das unter der Bezeichnung "Bopla-Kunststoff-Gehäuse (Maitron)" als Restposten angeboten wird (Best.-Nr. 31-460 025). Auf der Displayplatine ist der LCD-Controller PCF2116 (oder ein kompatibler Typ) integriert, der über den I²C-Bus relativ einfach angesteuert werden kann. Ein Datenblatt des PCF2116 ist bei Philips erhältlich.
Das Display benötigt 5 Anschlussleitungen, über die Spannung an V0 wird der Kontrast
eingestellt. In der obigen Schaltung ist die Kontrastspannung auf ca. 1V bezogen auf GND
eingestellt. An den Leitungen SDA und SCL des I²C-Busses ist jeweils ein Pull-Up-Widerstand
gegen +5V notwendig.
Die Slave-Adresse des PCF2116 ist 74h für Schreibzugriffe und 75h für Lesezugriffe. In
der folgenden Tabelle ist ein Beispiel zur Initialisierung und Programmierung des LCDs enthalten.
Nach jedem gesendeten Byte muss eine Mindestzeit gewartet werden (siehe Datenblatt), die vom
jeweiligen Kommando abhängig ist. Wenn man auf der sicheren Seite sein möchte, kann man
einfach nach jedem Byte 10ms warten, bevor das nächste Byte gesendet wird.
Das Display wird zunächst initialisiert und anschließend wird der Text "Test"
dargestellt.
Schritt | I²C-Byte | Hex-Wert | Funktion |
1 | I²C-Start | Start der Datenübertragung | |
2 | Slave-Adresse für Schreibzugriff 0 1 1 1 0 1 0 0 |
74h | Schreibzugriff |
3 | Control byte for Functionset 0 0 0 X X X X X |
00h | RS=0 R/W=0 |
4 | Functionset 0 0 1 X 1 0 1 0 |
2Ah | 2 Zeilen, MUX 1:32, G=1 |
5 | Display on/off control 0 0 0 0 1 1 1 0 |
0Eh | Display on, cursor on, blinking off |
6 | Display on/off control 0 0 0 0 0 1 1 0 |
06h | increment, no display shift |
7 | I²C-Start | Restart | |
8 | Slave-Adresse für Schreibzugriff 0 1 1 1 0 1 0 0 |
74h | Schreibzugriff |
9 | Control byte for data write 0 1 0 X X X X X |
40h | RS=1 R/W=0 |
10 | Daten in DDRAM schreiben 0 1 0 1 0 1 0 0 |
54h | 'T' schreiben |
11 | Daten in DDRAM schreiben 0 1 1 0 0 1 0 1 |
65h | 'e' schreiben |
12 | Daten in DDRAM schreiben 0 1 1 1 0 0 1 1 |
73h | 's' schreiben |
13 | Daten in DDRAM schreiben 0 1 1 1 0 1 0 0 |
74h | 't' schreiben |
14 | I²C-Stop | Ende der Datenübertragung |
Der LCD-Controller SED1335F (bzw. neue Bezeichnung S1D13305F) von Seiko-Epson kann Grafikdisplays mit bis zu 640x256 Pixeln ansteuern.
Er kann im Textmode, Grafikmode oder kombinierten Text-/Grafikmode betrieben werden. Ein Datenblatt
steht hier zum Download bereit.
Der SED1335F kann an den Datenbus eines Mikrocontrollers angeschlossen werden, z.B.
AT89C51, und hat eine Adressleitung A0 mit der zwischen Befehlen und Daten unterschieden wird.
Es können grafische Displays ohne eingebauten Controller (d.h. es sind nur Zeilen- und Spaltentreiber
auf dem LCD vorhanden) gesteuert werden, die sich über einen 4-Bit-Datenbus und
einige Steuersignale (Pixelclock, Zeilenclock, Frameclock) ansteuern lassen. Solche Displays werden
teilweise als Restposten preisgünstig angeboten.
Im ZIP-File, das weiter unten zum Download bereit steht, sind zwei Assemblerprogramme für
den AT89C51 enthalten, mit denen eine Text- oder Grafikdarstellung auf einem monochromen passiven
Grafik-LCD ermöglicht wird.
Grafikdarstellung:
Eine monochrome Bitmap-Grafik (320x240 Pixel) kann per serieller
Schnittstelle übertragen werden und wird auf dem LC-Display
dargestellt. Eigene Grafiken können einfach mittels eines
Bildbearbeitungsprogramms erzeugt werden.
Textdarstellung:
Der gewünschte Anzeigetext kann per serieller Schnittstelle z.B.
vom PC aus übertragen werden. Es sind auch einige Steuerbefehle
vorhanden, z.B. Textpositionierung, Display löschen etc.
Der SED1335F verfügt bereits über einen integrierten Zeichengenerator, so dass kein
zusätzliches Zeichensatz-ROM benötigt wird.
Weitere Informationen zum Aufbau der Grafik- und Textfiles für das LCD sind in der Datei
README.TXT im ZIP-File enthalten.
Die beiden Assemblerprogramme sind für Displays mit einer Auflösung von 320x240 Pixeln
konzipiert, können aber auch auf andere Auflösungen angepasst werden. Getestet wurden
die Programme mit dem LCD HLM6323 von Hosiden, ein Datenblatt zu diesem LCD ist unter
LCD-Datenblätter zu finden.
Die Schaltung sowie die Software stehen hier zum Download bereit:
Projektdateien für Hardware und Software im ZIP-Format:
LCD-Controller SED1335 V1.3
Für die Hardware ist die Freeware-Version von Eagle 3.55 erforderlich. Sie ist bei CadSoft kostenlos erhältlich.
Schaltplan und Bestückungsplan im GIF-Format:
Schaltplan LCD-Controller SED1335
Bestückungsplan LCD-Controller SED1335
Leiterplatte:
Zu diesem Projekt ist eine professionell gefertigte unbestückte Leiterplatte unter der Bezeichnung SED1335E.BRD erhältlich.
Weitere Infos gibt es hier:
Leiterplatten zu WOE-Projekten
Programmierter Mikrocontroller:
Falls Interesse an einem programmierten Mikrocontroller besteht, bitte eine
Email mit dem Projektnamen senden.
Hat Ihnen dieses Projekt gefallen?
Dann unterstützen Sie doch WOE mit einer kleinen Spende. Sie ermöglichen damit die Entwicklung weiterer freier Projekte auf dieser Seite. Vielen Dank.
Hier gibt es eine tabellarische Übersicht zu Datenblättern von diversen Grafik-LCDs, die zum Download bereitstehen.
· Informationen zu Vakuum-Fluoreszenz-Displays
Der kostenlose Newsletter von World Of Electronics kann auf dieser Seite abonniert werden.
Diese Seite wird ständig erweitert.