16×2 LCD jest nazwany tak, ponieważ; ma 16 Kolumn i 2 Rzędy. Istnieje wiele kombinacji dostępnych jak, 8×1, 8×2, 10×2, 16×1, itd. Ale najczęściej używanym jest 16*2 LCD, stąd używamy go tutaj.
Wszystkie wyżej wymienione wyświetlacze LCD będą miały 16 pinów i podejście do programowania jest również takie samo, stąd wybór należy do ciebie. Poniżej znajduje się rozkład pinów i opis pinów modułu LCD 16×2:
Sr. No |
Pin No. |
Nazwa pinu |
Typ pinu |
Opis pinu |
Pin Connection |
|
Pin. 1 |
Uziemienie |
Pin źródła |
To jest pin masy LCD |
Połączony z masą MCU/źródłem zasilania |
||
Pin 2 |
VCC |
Pin źródła |
Jest to pin napięcia zasilania wyświetlacza LCD |
Podłączony do pinu zasilania źródła zasilania |
. styku zasilania źródła zasilania |
|
Pin 3 |
V0/VEE |
Pin kontrolny |
Dostosowuje kontrast wyświetlacza LCD. |
Podłączony do zmiennego POT-a, który może być źródłem napięcia 0- 5V |
.5V |
|
Pin 4 |
Register Select |
Control Pin |
Przełącza pomiędzy Command/Data Register |
Podłączony do pinu MCU i otrzymuje 0 lub 1. 0 -> Command Mode 1-.> Tryb danych |
||
Pin 5 |
Read/Write |
Control Pin Pin |
Przełącza LCD między operacją odczytu/zapisu |
Podłączony do pinu MCU i otrzymuje 0 lub 1. 0 -> Operacja zapisu 1-.> Operacja odczytu |
||
Pin 6 |
Enable |
Pin kontrolny |
Musi być utrzymywany w stanie wysokim, aby wykonać operację odczytu/zapisu |
Podłączony do MCU i zawsze utrzymywany w stanie wysokim. |
||
Pin 7-14 |
Bity danych (0-7) |
Pin danych/polecenia |
Pin używany do wysyłania poleceń lub danych do wyświetlacza LCD. |
W trybie 4-przewodowym Tylko 4 piny (0-3) są podłączone do MCU W trybie 8-przewodowym Wszystkie 8 pinów (0-7) są podłączone do MCU |
||
Pin 15 |
LED Positive |
LED Pin |
Normalne działanie diody LED do podświetlenia wyświetlacza LCD |
Podłączony do +5V |
||
Pin 16 |
LED ujemny |
LED Pin |
Normalne działanie podobne do LED do podświetlania LCD podłączonego do GND. |
Podłączony do masy |
W porządku, jeśli nie rozumiesz funkcji wszystkich pinów, będę wyjaśniał szczegółowo poniżej. Wróćmy teraz do naszego wyświetlacza LCD:
Dobra, co to są te dwa czarne kółka z tyłu naszego wyświetlacza LCD?
Te czarne kółka składają się z układu scalonego interfejsu i związanych z nim elementów, które pomogą nam używać tego wyświetlacza LCD z MCU. Ponieważ nasz LCD jest wyświetlaczem 16*2 Dot matrix LCD, więc będzie miał (16*2=32) 32 znaki w sumie, a każdy znak będzie wykonany z 5*8 Pikseli. Pojedynczy znak z włączonymi wszystkimi pikselami jest pokazany na poniższym obrazku.
Więc teraz wiemy, że każdy znak ma (5*8=40) 40 pikseli i dla 32 znaków będziemy mieli (32*40) 1280 pikseli. Ponadto, LCD powinien być również poinstruowany o położeniu pikseli.
Obsługiwanie wszystkiego z pomocą MCU będzie gorączkowym zadaniem, dlatego używany jest układ scalony interfejsu, taki jak HD44780, który jest montowany na samym module LCD. Zadaniem tego układu jest odbieranie poleceń i danych z MCU i przetwarzanie ich w celu wyświetlenia sensownych informacji na naszym ekranie LCD.
Przedyskutujmy różne rodzaje trybów i opcji dostępnych w naszym LCD, które muszą być kontrolowane przez nasze piny sterujące.
4-bitowy i 8-bitowy tryb LCD:
Tryb LCD może pracować w dwóch różnych trybach, mianowicie w trybie 4-bitowym i 8-bitowym. W trybie 4-bitowym wysyłamy dane nibble po nibble, najpierw górną nibble, a następnie dolną nibble. Dla tych, którzy nie wiedzą co to jest nibble: nibble to grupa czterech bitów, tak więc cztery dolne bity (D0-D3) bajtu tworzą dolną nibble, podczas gdy cztery górne bity (D4-D7) bajtu tworzą wyższą nibble. To pozwala nam wysyłać dane 8-bitowe.
Whereas w trybie 8-bitowym możemy wysłać dane 8-bitowe bezpośrednio w jednym skoku, ponieważ używamy wszystkich 8 linii danych.
Teraz pewnie zgadłeś, tak tryb 8-bitowy jest szybszy i bezbłędny niż tryb 4-bitowy. Ale główną wadą jest to, że potrzebuje 8 linii danych podłączonych do mikrokontrolera. To spowoduje, że zabraknie nam pinów I/O na naszym MCU, dlatego tryb 4-bitowy jest powszechnie stosowany. Do ustawiania tych trybów nie używa się żadnych pinów sterujących. Zmienia się tylko sposób programowania.
Tryb odczytu i zapisu LCD:
Jak już wspomniano, sam LCD składa się z układu scalonego interfejsu. MCU może albo czytać albo pisać do tego interfejsu IC. W większości przypadków będziemy po prostu pisać do układu scalonego, ponieważ czytanie uczyni go bardziej złożonym, a takie scenariusze są bardzo rzadkie. Informacje takie jak pozycja kursora, status zakończenia przerwań itp. mogą być odczytywane w razie potrzeby, ale jest to poza zakresem tego tutoriala.
Interfejs IC obecny w większości LCD to HD44780U, w celu zaprogramowania naszego LCD powinniśmy poznać kompletny datasheet tego IC. Datasheet jest podany tutaj.
Komendy LCD:
W LCD są pewne wstępnie ustawione instrukcje komend, które musimy wysłać do LCD poprzez mikrokontroler. Niektóre ważne instrukcje poleceń są podane poniżej:
Hex Code |
Komenda do LCD Instruction Register |
0F |
LCD ON, kursor WŁĄCZONY |
Wyczyść ekran |
|
Powróć home |
|
Zmniejszanie kursora (przesunięcie kursora w lewo) |
|
Wzmocnienie kursora (przesunięcie kursora w prawo) |
|
Przesunięcie wyświetlacza w prawo |
|
Wyświetlacz przesunięty w lewo |
|
0E |
Wyświetlacz włączony, kursor miga |
Przesunięcie kursora na początek pierwszej linii |
|
C0 |
Przesunięcie kursora na początek drugiej linii |
2 linie i macierz 5×7 |
|
Kursor linii 1 pozycja 3 |
|
3C |
Aktywacja drugiej linii |
Wyświetlanie WYŁ, kursor WYŁĄCZONY |
|
C1 |
Skocz do drugiej linii, pozycja 1 |
OC |
Wyświetlacz WŁĄCZONY, kursor wyłączony |
C1 |
Skok do drugiego wiersza, pozycja 1 |
C2 |
Skok do drugiego wiersza, pozycja 2 |
.