www.mikrocontroller.net

HD44780

Der HD44780 ist ein Steuer-IC für Textdisplays (siehe LCD). Praktisch alle Textdisplays werden mit diesem oder einem kompatiblen Controller (z.B. KS0066) angesteuert.


Inhaltsverzeichnis

[bearbeiten] Allgemeine Ansteuerung

[bearbeiten] Pinbelegung

Die Pinbelegung des ICs selber ist für den Anwender praktisch uninteressant. Hier ist die Pinbelegung vieler damit ausgestatteten LCD-Module angegeben.

Pin Funktion Beschreibung
1 VSS Versorgungsspannung GND
2 VCC Versorgungsspannung, meistens 5V
3 V0 Kontrastspannung, zwischen VSS und VCC, kann auf VSS gelegt oder via Poti angeschlossen werden.
Bei großflächigen LCDs oder LCDs für den erweiterten Temperaturbereich kann auch eine negative Kontrastspannung nötig sein.
4 RS Registerauswahl
0 = Befehlsregister, 1 = Datenregister
5 R/W Lese oder Schreibzugriff, kann meistens fest auf GND gezogen werden
0 = Schreiben, 1 = Lesen,
6 E Taktleitung
7 DB0 Datenleitung
8 DB1 Datenleitung
9 DB2 Datenleitung
10 DB3 Datenleitung
11 DB4 Datenleitung
12 DB5 Datenleitung
13 DB6 Datenleitung
14 DB7 Datenleitung
15 A Anode der LED-Hintergrundbeleuchtung
16 K Kathode der LED-Hintergrundbeleuchtung

[bearbeiten] Speicher

Ein HD44780 besitzt mehrere Speicher. In ihnen wird der Inhalt des Displays sowie das Aussehen von Sonderzeichen gespeichert.

[bearbeiten] CGROM

Der Character Generator ROM enthält die Zeichen in Form von 5x8 oder 5x10 Punktmatrizen. Er kann nicht geändert werden, ausser man sendet einen EEPROM zu Hitachi für eine Massenproduktion. Es sind viele verschiedene ROMs (Zeichensätze, engl. Fonts) verfügbar. Er ist für den Anwender nicht zugänglich.

[bearbeiten] CGRAM

Im Character Generator RAM können acht 5x8 Pixel oder vier 5x10 Pixel grosse benutzerdefinierte Zeichen abgelegt werden. Wenn keine benutzerdefinierte Zeichen gebraucht werden kann dieser Bereich als Auslagerungsspeicher für den ansteuernden Mikrocontroller benutzt werden.

[bearbeiten] DDRAM

Im Display Data RAM ist der Inhalt des LCDs gespeichert. Die Kodierung orientiert sich weitestgehend am ASCII Zeichensatz.

[bearbeiten] Kommandos

HD44780 Befehlssatz
Befehl RS RW D7 D6 D5 D4 D3 D2 D1 D0
Bildschirminhalt löschen 0 0 0 0 0 0 0 0 0 1
Cursor auf Startpos 0 0 0 0 0 0 0 0 1 X
Modus festlegen 0 0 0 0 0 0 0 1 I/D S
Display/Cursor 0 0 0 0 0 0 1 D C B
Cursor/Display schieben 0 0 0 0 0 1 S/C R/L X X
Funktionen 0 0 0 0 1 DL N F X X
CGRAM Adresse setzen 0 0 0 1 CGRAM-Adresse
DDRAM Adresse setzen 0 0 1 DDRAM-Adresse
Adresse/Status lesen 0 1 BF CG-/DDRAM-Adresse
Daten in DDRAM/CGRAM schreiben 1 0 Daten
Daten aus DDRAM/CGRAM lesen 1 1 Daten


Kodierung der Steuerbits
Bit 0 1
I/D Cursorposition dekrementieren Cursorposition inkrementieren
S Displayinhalt fest Displayinhalt weiterschieben
D Display aus Display an
C Cursor aus Cursor an
B Cursor blinkt nicht Cursor blinkt
S/C Cursor bewegen Displayinhalt schieben
R/L Nach links schieben Nach rechts schieben
DL 4-Bit Interface 8-Bit Interface
N 1-zeiliges Display 2/4-zeiliges Display
F 5x7-Font 5x10-Font
BF Kann Kommandos annehmen Ist beschäftigt

[bearbeiten] Ansteuerung per Microcontroller

Die Ansteuerung eines HD44780-basierten Displays gestaltet sich sowohl in Bezug auf den Hardware- als auch den Softwareaufwand recht einfach. Sie eignet sich somit sehr gut als Übungsprojekt für Anfänger.

Das HD44780-Interface besteht aus acht Datenleitungen (D0-D7) sowie den drei Steuerleitungen RS (Register Select), R/W (Read/Write) und E (Enable). Die Displays werden mit 5V Betriebsspannung versorgt, die Kontrastspannung V0 bekommt man, indem man ein 10kΩ-Potentiometer zwischen VCC und GND anschließt und den mittleren Anschluss als Kontrastspannung verwendet. Bei ca. 0,5 Volt werden dann die Pixel sichtbar. Optional haben viele Displays noch eine LED-Beleuchtung eingebaut, diese kann manchmal direkt an 5V angeschlossen werden, da der Vorwiderstand auf der LCD-Platine integriert ist. Oft ist aber auch ein externer Vorwiderstand nötig! Darum vorher besser im Datenblatt nachschauen. Möchte man IO-Pins am Mikrocontroller sparen, muss das Display im 4-Bit-Modus betrieben werden.

Beispielprogramme zur Ansteuerung findet man zuhauf im Internet, u.a. auch hier: AVR-Tutorial: LCD und AVR-GCC-Tutorial: LCD-Ansteuerung

[bearbeiten] Fertige Projekte oder Bibliotheken

webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net