Baugruppen
 
 
 
 
 
Aktoren
 
 

       LCD-Anzeige mit HD44780

 
 
DD und CG RAM
 
 
 
 
 

 
 
 
 

 

 

 

 

 

 

Im Bild dargestellt ist der 256 Byte grosse RAM-Speicher des HD44780 Controllers. Er enthält auf den Speicherzellen 0-3Fh, nicht dokumentierte Laufzeitvariable des Programms dieses Einchipcomputers. So beispielsweise das Adressregister, welches ein Benutzer beschreiben muss, um die Speicherzellen im CG- bzw. DD-RAM beschreiben und lesen zu können.

Die Speicherzellen 40h-7Fh bilden den CG-RAM, in dem der Benutzer Punktmatrix-Definitionen für insgesamt acht eigene Zeichen ablegen kann.

Es folgen die RAM Speicher 80h-BFh und C0h-FFh, welche den Ausgabepositionen einer LCD-Anzeige fest zugeordnet sind und als DD-RAM angesprochen werden. Im Bild kann die Zuordnung nachvollzogen werden. Steht in einer dieser RAM-Speicherzellen der Code eines Zeichens, so erscheint dies an der entsprechenden Position auf der LCD-Anzeige.

 

 

 

 

 

Adressregister:

 

 

Über die Kommandos 00  01aa aaaa (Adresse im CG-RAM setzen) und 00  1aaa aaaa (Adresse im DD-RAM setzen), kann der Benutzer eine Adresse (a) in das Adressregister des Controllers eintragen. Dieses zeigt nun auf eine Speicherzelle des RAM-Speichers. Liest oder schreibt der Benutzer nachfolgend den 'Controller', wird der Inhalt der adressierten Speicherzelle beschrieben oder gelesen. Mit jedem weiteren Lese- oder Schreibvorgang wird der Adresszähler automatisch erhöht oder vermindert. (s. Increment- / Decrementkommandos in der Befehlstabelle)

 

 

Die vorhandenen RAM-Speicherzellen unterteilen sich in zwei Gruppen. Die eine Gruppe umfasst 64 Speicherzellen des Character Generators CG, die andere Gruppe bildet den Display-Data Speicher DD.

 

 

 

 

 

Character Generator RAM (CG):

 

 

In diesem Speicher kann der Benutzer acht eigene Zeichendefinitionen ablegen. Jede Definition umfasst acht Bytes, was insgesamt 64 Speicherzellen benötigt. Das Bild zeigt wie durch 1- und 0 Einträge in den acht Bytes, ein Zeichen characterisiert werden kann. Dabei spielen die höchsten drei Bits keine Rolle. Sind die Zeichen in dieser Weise definiert und im CG-RAM abgelegt (Kommando 10  dddd dddd), können sie durch die Codes 0h bis 7h zur Anzeige gebracht werden. Alle anderen Zeichen sind fest vorgegeben und befinden sich im Character Generator ROM.

 

 

 

 

 

Display Data RAM (DD):

 

 

Im Anzeigespeicher werden die Codes der anzuzeigenden Zeichen abgelegt. Dabei ist jeder Adresse dieses Speichers eine Position auf dem Display fest zugeordnet. Das Bild zeigt beispielhaft die Zuordnung der RAM-Speicher Bytes zu den Positionen eines 4*20 Displays. Die Aufgabe des Controllers ist es nun, die den Codes zugeordneten Zeichendefinitionen aus dem CG-ROM oder -RAM zu holen und als Punkte auf der Anzeige darzustellen. Dies geschieht mit einer Wiederholfrequenz, welche den Eindruck erweckt, dass die Zeichen dauerhaft auf den Display erscheinen.

Da der Controller mit unterschiedlichen Displays ausgeliefert wird, ergeben sich unterschiedliche Belegungen des DD-RAMs. Eine Anzeige mit 20 Zeichen auf einer Zeile, benötigt eben nur 20 Bytes aus dem DD-RAM.
Bei der Beispielanzeige mit 4 Anzeigezeilen und 20 Anzeigespalten hält der Controller noch eine weitere Überraschung bereit. Für ihn bilden die Anzeigezeilen 1 und 3 eine logische Zeile, ebenso die Anzeigezeilen 2 und 4. Wird der DD-RAM durchgängig von Byte 80h bis 9Fh beschrieben füllen sich die 1.dann die 3. Zeile der Anzeige mit Zeichen. Werden nun die Speicher C0h bis DFh beschrieben, setzt sich die Ausgabe in den Zeilen 2 und 4 fort.


Zudem sei auf Folgendes hingewiesen. Während der Cursor, bei automatischer Incrementierung seiner Position, die Zeilen 1, 3, 2, 4 kontinuierlich durchläuft, werden bei einem Verschieben der Anzeige auch die freien, im Bild als 'frei für Displays mit mehr Spalten' gekennzeichneten Speicherzellen, angezeigt.

 

 

 

 

www..de