16 × 2 LCD wordt zo genoemd omdat; het heeft 16 kolommen en 2 rijen. Er zijn veel combinaties beschikbaar, zoals 8 × 1, 8 × 2, 10 × 2, 16 × 1, enz. Maar de meest gebruikte is de 16 * 2 LCD, daarom gebruiken we deze hier.
Alle bovengenoemde LCD-schermen hebben 16 pins en de programmeeraanpak is ook hetzelfde en daarom wordt de keuze aan jou overgelaten. Hieronder ziet u de pin-out en pinbeschrijving van de 16x2 LCD-module:
Sorry. Nee |
Pin nr. |
Pin Naam |
Pin Type |
Pin Beschrijving |
Pin-verbinding |
1 |
Pin 1 |
Grond |
Bronpin |
Dit is een grondpin van een LCD |
Verbonden met de aarde van de MCU / stroombron |
2 |
Pin 2 |
VCC |
Bronpin |
Dit is de voedingsspanningspin van LCD |
Verbonden met de voedingspin van de stroombron |
3 |
Pin 3 |
V0 / VEE |
Controlepen |
Past het contrast van het LCD-scherm aan. |
Aangesloten op een variabele POT die 0-5V kan leveren |
4 |
Pin 4 |
Registreren Selecteer |
Controlepen |
Schakelt tussen Commando / Data Register |
Verbonden met een MCU-pin en krijgt 0 of 1. 0 -> Commando-modus 1-> Gegevensmodus |
5 |
Pin 5 |
Lezen schrijven |
Controlepen |
Schakelt het LCD-scherm tussen lezen / schrijven |
Verbonden met een MCU-pin en krijgt 0 of 1. 0 -> Schrijfbewerking 1-> Lees operatie |
6 |
Pin 6 |
Inschakelen |
Controlepen |
Moet hoog worden gehouden om de lees- / schrijfbewerking uit te voeren |
Verbonden met MCU en altijd hoog gehouden. |
7 |
Pin 7-14 |
Databits (0-7) |
Gegevens / opdrachtpin |
Pinnen die worden gebruikt om commando's of gegevens naar het LCD-scherm te sturen. |
In 4-draads modus Er zijn slechts 4 pinnen (0-3) verbonden met MCU In 8-draads modus Alle 8 pinnen (0-7) zijn verbonden met MCU |
8 |
Speld 15 |
LED Positief |
LED-pen |
Normale LED-achtige werking om het LCD-scherm te verlichten |
Aangesloten op + 5V |
9 |
Speld 16 |
LED negatief |
LED-pen |
Normale LED-achtige werking om de LCD te verlichten die is verbonden met GND. |
Verbonden met aarde |
Het is oké als je de functie van alle pinnen niet begrijpt, ik zal het hieronder in detail uitleggen. Laten we nu onze LCD terugdraaien:
Deze zwarte cirkels bestaan uit een interface-IC en de bijbehorende componenten om ons te helpen deze LCD met de MCU te gebruiken. Omdat ons LCD-scherm een 16 * 2 Dot matrix LCD is en het dus (16 * 2 = 32) 32 tekens in totaal heeft en elk teken zal bestaan uit 5 * 8 Pixel Dots. Een enkel karakter met al zijn pixels ingeschakeld, wordt weergegeven in de onderstaande afbeelding.
Dus nu weten we dat elk karakter (5 * 8 = 40) 40 pixels heeft en voor 32 karakters zullen we (32 * 40) 1280 pixels hebben. Verder moet het LCD-scherm ook worden geïnstrueerd over de positie van de pixels.
Het wordt een hectische taak om alles af te handelen met behulp van MCU, daarom wordt een interface-IC zoals HD44780 gebruikt, die op de LCD-module zelf is gemonteerd. De functie van dit IC is om de opdrachten en gegevens van de MCU te krijgen en deze te verwerken om zinvolle informatie op ons LCD-scherm weer te geven.
Laten we het hebben over de verschillende soorten modi en opties die beschikbaar zijn op ons LCD-scherm en die moeten worden bediend met onze controlepennen.
4-bits en 8-bits LCD-modus:
Het LCD-scherm kan in twee verschillende modi werken, namelijk de 4-bit modus en de 8-bit modus. In de 4 bit-modus verzenden we de gegevens nibble door te knabbelen, eerst bovenste nibble en vervolgens onderste nibble. Voor degenen onder u die niet weten wat een nibble is: een nibble is een groep van vier bits, dus de onderste vier bits (D0-D3) van een byte vormen de onderste nibble, terwijl de bovenste vier bits (D4-D7) van een byte vormen de hogere nibble. Hierdoor kunnen we 8 bit data versturen.
Terwijl we in de 8-bit-modus de 8-bit-gegevens rechtstreeks in één keer kunnen verzenden, omdat we alle 8 datalijnen gebruiken.
Nu moet je het geraden hebben, ja, de 8-bit-modus is sneller en vlekkeloos dan de 4-bit-modus. Maar het grootste nadeel is dat er 8 datalijnen nodig zijn die op de microcontroller zijn aangesloten. Hierdoor hebben we geen I / O-pinnen meer op onze MCU, dus wordt de 4-bits modus veel gebruikt. Er worden geen controlepennen gebruikt om deze modi in te stellen. Het is gewoon de manier om die verandering te programmeren.
Lees- en schrijfmodus van LCD:
Zoals gezegd bestaat de LCD zelf uit een interface-IC. De MCU kan naar dit interface-IC lezen of schrijven. Meestal zullen we gewoon naar de IC schrijven, omdat lezen het complexer maakt en dergelijke scenario's zijn zeer zeldzaam. Informatie zoals de positie van de cursor, onderbrekingen voor het voltooien van de status enz. Kan indien nodig worden gelezen, maar valt buiten het bestek van deze tutorial.
De interface-IC die aanwezig is in het grootste deel van de LCD is HD44780U, om onze LCD te programmeren moeten we de volledige datasheet van de IC kennen. De datasheet wordt hier gegeven.
LCD-opdrachten:
Er zijn enkele instructies voor vooraf ingestelde opdrachten op het LCD-scherm, die we via een microcontroller naar het LCD-scherm moeten sturen. Enkele belangrijke opdrachtinstructies worden hieronder gegeven:
Hex-code |
Commando naar LCD-instructieregister |
0F |
LCD AAN, cursor AAN |
01 |
Helder beeldscherm |
02 |
Terug naar huis |
04 |
Verlagingscursor (cursor naar links verplaatsen) |
06 |
Verhogingscursor (cursor naar rechts verplaatsen) |
05 |
Display naar rechts verschuiven |
07 |
Display naar links verschuiven |
0E |
Display AAN, cursor knippert |
80 |
Forceer de cursor naar het begin van de eerste regel |
C0 |
Forceer de cursor naar het begin van de tweede regel |
38 |
2 regels en 5 × 7 matrix |
83 |
Cursorregel 1 positie 3 |
3C |
Activeer tweede regel |
08 |
Display UIT, cursor UIT |
C1 |
Spring naar de tweede regel, positie 1 |
OC |
Display AAN, cursor UIT |
C1 |
Spring naar de tweede regel, positie 1 |
C2 |
Spring naar tweede regel, positie 2 |
Bekijk onze LCD-interfaceartikelen met verschillende microcontrollers:
- LCD-interface met 8051 Microcontroller
- Interfacing LCD met ATmega32 Microcontroller
- LCD-interface met PIC-microcontroller
- 16x2 LCD-interface met Arduino
- 16x2 LCD-interface met Raspberry Pi met Python