16 × 2 LCD wird so genannt, weil; Es hat 16 Spalten und 2 Zeilen. Es gibt viele Kombinationen wie 8 × 1, 8 × 2, 10 × 2, 16 × 1 usw. Die am häufigsten verwendete ist jedoch das 16 * 2-LCD, daher verwenden wir es hier.
Alle oben genannten LCD-Displays haben 16 Pins und der Programmieransatz ist ebenfalls der gleiche. Daher bleibt die Wahl Ihnen überlassen. Unten finden Sie die Pinbelegung und Pinbeschreibung des 16x2-LCD-Moduls:
Sr. Nr |
Pin Nr. |
Pin Name |
Pin-Typ |
Pin Beschreibung |
Pin-Verbindung |
1 |
Pin 1 |
Boden |
Quell-Pin |
Dies ist ein Erdungsstift des LCD |
Verbunden mit der Masse der MCU / Stromquelle |
2 |
Pin 2 |
VCC |
Quell-Pin |
Dies ist der Versorgungsspannungsstift des LCD |
Verbunden mit dem Versorgungsstift der Stromquelle |
3 |
Pin 3 |
V0 / VEE |
Steuerstift |
Passt den Kontrast des LCD an. |
Verbunden mit einem variablen POT, der 0-5 V liefern kann |
4 |
Pin 4 |
Registrieren Wählen Sie |
Steuerstift |
Schaltet zwischen Befehl / Datenregister um |
Verbunden mit einem MCU-Pin und erhält entweder 0 oder 1. 0 -> Befehlsmodus 1-> Datenmodus |
5 |
Pin 5 |
Lesen Schreiben |
Steuerstift |
Schaltet das LCD zwischen Lese- / Schreibvorgang um |
Verbunden mit einem MCU-Pin und erhält entweder 0 oder 1. 0 -> Schreibvorgang 1-> Lesevorgang |
6 |
Pin 6 |
Aktivieren |
Steuerstift |
Muss hoch gehalten werden, um einen Lese- / Schreibvorgang auszuführen |
Verbunden mit der MCU und immer hoch gehalten. |
7 |
Pin 7-14 |
Datenbits (0-7) |
Daten- / Befehls-Pin |
Pins zum Senden von Befehlen oder Daten an das LCD. |
Im 4-Draht-Modus Nur 4 Pins (0-3) sind mit der MCU verbunden Im 8-Draht-Modus Alle 8 Pins (0-7) sind mit der MCU verbunden |
8 |
Pin 15 |
LED positiv |
LED Pin |
Normaler LED-ähnlicher Betrieb zum Beleuchten des LCD |
An + 5V angeschlossen |
9 |
Pin 16 |
LED negativ |
LED Pin |
Normaler LED-ähnlicher Betrieb zum Beleuchten des mit GND verbundenen LCD. |
Mit Masse verbunden |
Es ist in Ordnung, wenn Sie die Funktion aller Pins nicht verstehen. Ich werde dies im Folgenden ausführlich erläutern. Lassen Sie uns nun unser LCD zurückdrehen:
Diese schwarzen Kreise bestehen aus einem Schnittstellen-IC und den zugehörigen Komponenten, um die Verwendung dieses LCD mit der MCU zu erleichtern. Da es sich bei unserem LCD um ein 16 * 2-Punktmatrix-LCD handelt, hat es insgesamt (16 * 2 = 32) 32 Zeichen und jedes Zeichen besteht aus 5 * 8 Pixelpunkten. Ein einzelnes Zeichen mit aktivierten Pixeln ist im folgenden Bild dargestellt.
Jetzt wissen wir also, dass jedes Zeichen (5 * 8 = 40) 40 Pixel hat und für 32 Zeichen (32 * 40) 1280 Pixel. Außerdem sollte das LCD über die Position der Pixel informiert werden.
Es wird eine hektische Aufgabe sein, alles mit Hilfe der MCU zu erledigen, daher wird ein Schnittstellen-IC wie HD44780 verwendet, der auf dem LCD-Modul selbst montiert ist. Die Funktion dieses IC besteht darin, die Befehle und Daten von der MCU abzurufen und zu verarbeiten, um aussagekräftige Informationen auf unserem LCD-Bildschirm anzuzeigen.
Lassen Sie uns die verschiedenen Arten von Modi und Optionen diskutieren, die in unserem LCD verfügbar sind und über unsere Steuerstifte gesteuert werden müssen.
4-Bit- und 8-Bit-Modus des LCD:
Das LCD kann in zwei verschiedenen Modi arbeiten, nämlich im 4-Bit-Modus und im 8-Bit-Modus. Im 4-Bit-Modus senden wir die Daten Nibble für Nibble, zuerst oberes Nibble und dann unteres Nibble. Für diejenigen unter Ihnen, die nicht wissen, was ein Halbbyte ist: Ein Halbbyte ist eine Gruppe von vier Bits, sodass die unteren vier Bits (D0-D3) eines Bytes das untere Halbbyte bilden, während die oberen vier Bits (D4-D7) eines Bytes bilden das höhere Halbbyte. Dies ermöglicht es uns, 8-Bit-Daten zu senden.
Während wir im 8-Bit-Modus die 8-Bit-Daten direkt in einem Strich senden können, verwenden wir alle 8 Datenleitungen.
Jetzt müssen Sie es erraten haben: Ja, der 8-Bit-Modus ist schneller und fehlerfreier als der 4-Bit-Modus. Der Hauptnachteil ist jedoch, dass 8 Datenleitungen an den Mikrocontroller angeschlossen werden müssen. Dadurch gehen uns die E / A-Pins unserer MCU aus, sodass der 4-Bit-Modus weit verbreitet ist. Zum Einstellen dieser Modi werden keine Steuerstifte verwendet. Es ist nur die Art der Programmierung, die sich ändert.
Lese- und Schreibmodus des LCD:
Wie gesagt, das LCD selbst besteht aus einem Schnittstellen-IC. Die MCU kann diesen Schnittstellen-IC entweder lesen oder schreiben. Meistens schreiben wir nur an den IC, da das Lesen ihn komplexer macht und solche Szenarien sehr selten sind. Informationen wie die Position des Cursors, Interrupts zur Statusvervollständigung usw. können bei Bedarf gelesen werden, sind jedoch nicht Gegenstand dieses Lernprogramms.
Der im größten Teil des LCD vorhandene Schnittstellen-IC ist HD44780U. Um unser LCD zu programmieren, sollten wir das vollständige Datenblatt des IC lernen. Das Datenblatt finden Sie hier.
LCD-Befehle:
Es gibt einige voreingestellte Befehlsanweisungen im LCD, die wir über einen Mikrocontroller an das LCD senden müssen. Einige wichtige Befehlsanweisungen sind unten angegeben:
Hex-Code |
Befehl zum LCD-Befehlsregister |
0F |
LCD EIN, Cursor EIN |
01 |
Bildschirm löschen |
02 |
Nach Hause zurückkehren |
04 |
Cursor dekrementieren (Cursor nach links verschieben) |
06 |
Cursor erhöhen (Cursor nach rechts verschieben) |
05 |
Anzeige nach rechts verschieben |
07 |
Anzeige nach links verschieben |
0E |
Anzeige EIN, Cursor blinkt |
80 |
Den Cursor auf den Anfang der ersten Zeile setzen |
C0 |
Den Cursor auf den Anfang der zweiten Zeile setzen |
38 |
2 Zeilen und 5 × 7 Matrix |
83 |
Cursorzeile 1 Position 3 |
3C |
Aktivieren Sie die zweite Zeile |
08 |
Anzeige AUS, Cursor AUS |
C1 |
Springe zur zweiten Zeile, Position 1 |
OK |
Anzeige EIN, Cursor AUS |
C1 |
Springe zur zweiten Zeile, Position 1 |
C2 |
Springe zur zweiten Zeile, Position 2 |
Überprüfen Sie unsere Artikel über LCD-Schnittstellen mit verschiedenen Mikrocontrollern:
- LCD-Schnittstelle mit 8051-Mikrocontroller
- Schnittstelle zwischen LCD und ATmega32-Mikrocontroller
- LCD-Schnittstelle mit PIC-Mikrocontroller
- 16x2 LCD mit Arduino verbinden
- 16x2 LCD-Schnittstelle mit Raspberry Pi mit Python