A 16×2 LCD kijelzőt azért hívják így, mert 16 oszloppal és 2 sorral rendelkezik. Rengeteg kombináció áll rendelkezésre, mint például 8×1, 8×2, 10×2, 16×1, stb. De a leggyakrabban használt a 16 * 2 LCD, ezért itt használjuk.
Mindegyik fent említett LCD-kijelző 16 tűvel rendelkezik, és a programozási megközelítés is ugyanaz, ezért a választás az Önre marad. Az alábbiakban a 16×2 LCD modul pinoutja és pin leírása található:
Sz. sz. |
Tű neve |
Tű típusa |
Tű leírása |
Tű csatlakozása |
|
Tű. 1 |
Ground |
Source Pin |
Ez az LCD földelő pinje |
Az MCU/ tápforrás földjére csatlakozik |
|
Pin 2 |
VCC |
Source Pin |
Ez az LCD tápfeszültség pinje |
Kapcsolva az MCU tápegységéhez. Tápforrás tápellátó pinje |
|
Pin 3 |
V0/VEE |
Control Pin |
Az LCD kontrasztját állítja be. |
Változó POT-hoz csatlakozik, amely 0-5V |
|
Pin 4 |
Regiszter kiválasztása |
Vezérlő pin |
Kapcsol a parancs/adat regiszter között |
Egy MCU pinhez csatlakozik és vagy 0 vagy 1 értéket kap. 0 -> Command Mode 1-> Adat üzemmód |
|
Pin 5 |
Read/Write |
Control. Pin |
Kapcsolja az LCD-t az olvasás/írás művelet között |
Egy MCU pinhez csatlakozik és vagy 0 vagy 1 értéket kap. 0 -> Írási művelet 1-> Olvasási művelet |
|
Pin 6 |
Enable |
Control Pin |
Az olvasási/írási művelet végrehajtásához magasan kell tartani |
Connected to MCU and always kept high. |
|
Pin 7-14 |
Adatbitek (0-7) |
Adat/parancs Pin |
Pinek, amelyeket parancs vagy adat küldésére használnak az LCD felé. |
4-Wire módban Csak 4 pin (0-3) van csatlakoztatva az MCU-hoz 8-Wire módban Mind a 8 pin(0-7) csatlakozik az MCU-hoz |
|
15. pin |
LED pozitív |
LED pin |
Normális LED-szerű működés az LCD megvilágítására |
Kapcsolva +5V |
|
Pin 16 |
LED Negatív |
LED Pin |
Normális LED-szerű működés az LCD megvilágítására GND-vel összekötve. |
A földhöz csatlakoztatva |
Nem baj, ha nem érti az összes pin funkcióját, alább részletesen elmagyarázom. Most pedig fordítsuk vissza az LCD-nket:
Oké, mi ez a két fekete körszerű dolog az LCD-nk hátulján?
Ezek a fekete körök egy interfész IC-ből és a hozzá tartozó alkatrészekből állnak, amelyek segítségével használhatjuk ezt az LCD-t az MCU-val. Mivel az LCD-nk egy 16 * 2 pontmátrixos LCD, így összesen (16 * 2 = 32) 32 karaktert tartalmaz, és minden karakter 5 * 8 pixelpontból áll. Az alábbi képen látható egyetlen karakter, amelynek minden pixelét engedélyezték:
Az alábbi képen látható, hogy minden egyes karakter (5*8=40) 40 pixelből áll, és 32 karakter esetén (32*40) 1280 pixelünk lesz. Továbbá az LCD-t is utasítani kell a pixelek helyzetéről.
Ez egy hektikus feladat lesz, hogy mindent MCU segítségével kezeljünk, ezért egy interfész IC-t, mint a HD44780, használunk, amely magára az LCD modulra van szerelve. Ennek az IC-nek az a feladata, hogy megkapja a parancsokat és az adatokat az MCU-tól, és feldolgozza őket, hogy értelmes információkat jelenítsen meg az LCD-képernyőnkön.
Beszéljük meg az LCD-nkben rendelkezésre álló különböző típusú üzemmódokat és lehetőségeket, amelyeket a vezérlőpinekkel kell vezérelni.
Az LCD 4-bites és 8-bites módja:
Az LCD két különböző módban működhet, nevezetesen a 4-bites és a 8-bites módban. A 4 bites üzemmódban az adatokat nibble-enként küldjük, először a felső nibble-t, majd az alsó nibble-t. Azoknak, akik nem tudják, mi az a nibble: a nibble négy bitből álló csoport, tehát egy bájt alsó négy bitje (D0-D3) alkotja az alsó nibble-t, míg a felső négy bitje (D4-D7) a felső nibble-t. A nibble-t a bájt alsó négy bitje alkotja. Ez lehetővé teszi számunkra, hogy 8 bites adatokat küldjünk.
Míg a 8 bites üzemmódban a 8 bites adatokat közvetlenül, egy mozdulattal küldhetjük el, mivel mind a 8 adatvonalat használjuk.
Most már biztosan kitalálta, igen, a 8 bites üzemmód gyorsabb és hibátlanabb, mint a 4 bites üzemmód. De a fő hátránya az, hogy a mikrokontrollerhez csatlakoztatott 8 adatvonalra van szükség. Ezáltal elfogynak az I/O csapok az MCU-nkon, ezért a 4-bites módot széles körben használják. Ezen üzemmódok beállításához nem használnak vezérlőcsapokat. Csak a programozás módja változik.
Az LCD olvasási és írási módja:
Mint említettük, maga az LCD egy interfész IC-ből áll. Az MCU akár olvasni, akár írni tud erre az interfész IC-re. Legtöbbször csak írni fogunk az IC-be, mivel az olvasás bonyolultabbá teszi, és az ilyen forgatókönyvek nagyon ritkák. Az olyan információk, mint a kurzor pozíciója, a státusz befejezésének megszakításai stb. szükség esetén olvashatók, de ez nem tartozik ennek a bemutatónak a körébe.
A legtöbb LCD-ben jelen lévő interfész IC a HD44780U, az LCD programozásához meg kell tanulnunk az IC teljes adatlapját. Az adatlap itt található.
LCD-parancsok:
Vannak néhány előre beállított parancs utasítások az LCD-ben, amelyeket néhány mikrokontrolleren keresztül kell küldenünk az LCD-nek. Néhány fontos parancsutasítás az alábbiakban található:
Hex kód |
Parancs az LCD utasításregiszterbe |
|
0F |
LCD ON, kurzor ON |
|
Képernyő törlése |
||
Return home |
||
Decrement cursor (kurzor balra tolása) |
||
Korrekciós kurzor (kurzor jobbra tolása) |
||
Kijelző jobbra tolása |
||
Kijelző balra tolása |
||
0E |
Kijelző bekapcsolva, kurzor villog |
|
Kényszerítse a kurzort az első sor elejére |
||
C0 |
Kényszerítse a kurzort a második sor elejére |
|
2 sor és 5×7 mátrix |
||
Cursor sor 1. pozíciója 3 |
||
3C |
A második sor aktiválása |
|
Kijelző OFF, kurzor OFF |
||
C1 |
Ugrás a második sorra, 1. pozíció |
|
OC |
Kijelzés ON, kurzor KI |
|
C1 |
Ugrás a második sorra, pozíció 1 |
|
C2 |
Ugrás a második sorra, pozíció 2 |