narazíme na LCD se zobrazí všude kolem nás. Počítače, kalkulačky, televizory, mobilní telefony, digitální hodinky používají k zobrazení času nějaký druh displeje.
LCD je elektronický zobrazovací modul, který používá kapalné krystaly k vytvoření viditelného obrazu. LCD displej 16×2 je velmi základní modul běžně používaný v DIYs a obvodech. The 16×2 translates o a display 16 characters per line in 2 such lines. In this LCD each character is displayed in a 5×7 pixel matrix.
16X2 LCD pinout diagram
Pin No. |
Function |
Name |
1 |
Ground (0V) |
Ground |
2 |
Supply voltage; 5V (4.7V – 5.3V) |
Vcc |
3 |
Contrast adjustment; the best way is to use a variable resistor such as a potentiometer. The output of the potentiometer is connected to this pin. Otáčením knoflíku potenciometru dopředu a dozadu upravte kontrast LCD. |
Vo / VEE |
4 | Vybere příkaz zaregistrovat, když nízká, a datový registr, kdy vysoké | RS (Register Select ) |
5 | Nízké zápis do rejstříku; Vysoké přečíst z registru | Čtení/zápis |
6 | Odesílá data na datové piny, když vysokého na nízký puls je dána; K provedení instrukce je zapotřebí dodatečný tlak napětí a pro tento účel je použit signál EN(en). Obvykle nastavujeme en=0, když chceme provést instrukci, uděláme ji vysokou en=1 po dobu několika milisekund. Poté znovu uděláme zem, to znamená, en=0. | Enable |
7 | 8-bit data pins | DB0 |
8 | DB1 | |
9 | DB2 | |
10 | DB3 | |
11 | DB4 | |
12 | DB5 | |
13 | DB6 | |
14 | DB7 | |
15 | Podsvícení VCC (5V) | Led+ |
16 | Podsvícení Zem (0V) | Led |
RS (Register select)
16X2 LCD má dva rejstříky, a to, příkazu a dat. Výběr registru slouží k přepnutí z jednoho registru na druhý. RS=0 pro příkazový registr, zatímco RS=1 pro datový registr.
registr příkazů: registr příkazů ukládá příkazové pokyny dané LCD. Příkaz je pokyn daný LCD k provedení předdefinovaného úkolu. Příklady jako:
- inicializace
- vymazání jeho obrazovky
- nastavení polohy kurzoru
- ovládání displeje atd.
zpracování příkazů probíhá v registru příkazů.
datový registr: datový registr ukládá data, která mají být zobrazena na LCD displeji. Data jsou ASCII hodnota znaku, který má být zobrazen na LCD displeji. Když posíláme data na LCD, jde to do datového registru a je tam zpracováno. Při RS=1 je vybrán datový registr.
Important command codes for LCD
Sr.No. | Hex Code | Command to LCD instruction Register |
1 | 01 | Clear display screen |
2 | 02 | Return home |
3 | 04 | Decrement cursor (shift cursor to left) |
4 | 06 | Increment cursor (shift cursor to right) |
5 | 05 | Shift display right |
6 | 07 | Shift display left |
7 | 08 | Display off, cursor off |
8 | 0A | Display off, cursor on |
9 | 0C | Display on, cursor off |
10 | 0E | Display on, cursor blinking |
11 | 0F | Display on, cursor blinking |
12 | 10 | Shift cursor position to left |
13 | 14 | Shift cursor position to right |
14 | 18 | Shift the entire display to the left |
15 | 1C | Shift the entire display to the right |
16 | 80 | Force cursor to beginning ( 1st line) |
17 | C0 | Force cursor to beginning ( 2nd line) |
18 | 38 | 2 lines and 5×7 matrix |
zobrazení vlastních znaků na 16×2 LCD
generování vlastních znaků na LCD není příliš těžké. Vyžaduje znalosti o vlastní generované paměti s náhodným přístupem (CG-RAM) LCD a LCD čipového řadiče. Většina LCD obsahuje ovladač Hitachi HD4478.
CG-RAM je hlavní složkou při vytváření vlastních znaků. Ukládá vlastní znaky jednou deklarované v kódu. Velikost CG-RAM je 64 byte poskytuje možnost vytvořit osm znaků najednou. Každý znak má velikost osm bajtů.
CG-RAM adresa začíná od 0x40 (hexadecimální) nebo 64 v desítkové soustavě. Na těchto adresách můžeme generovat vlastní znaky. Jakmile vygenerujeme naše znaky na těchto adresách, můžeme je vytisknout pouhým odesláním příkazů na LCD. Adresy znaků a tiskové příkazy jsou uvedeny níže.
Ve výše uvedené tabulce můžete vidět výchozí adresy pro každý znak, s jejich tisk příkazů.
první znak je generován na adrese 0x40 až 0x47 a je vytištěn na LCD pouhým odesláním příkazu 0.
druhý znak je generován na adrese 0x48 až 0x55 a je vytištěn odesláním příkazu 1.
jak generovat vlastní znaky v CG-RAM
v LCD displejích je každý znak v matici 5×8. Kde 5 je počet sloupců a 8 je počet řádků.
Zde je jednoduchý příklad, jak vytvořit písmeno “ b “ v CG-RAM.
Pole pro generování “ b “ je char b={0x10,0x10,0x16,0x19,0x11,0x11,0x1E}; To znamená, že
- odešlete adresu, na kterou chcete vytvořit znak.
- nyní vytvořte svou postavu na této adrese. Odeslat hodnoty znakového pole “ b “ definované výše jeden po druhém do datového registru LCD.
- pro tisk vygenerovaného znaku na 0x40. Odeslat příkaz 0 do registru příkazů LCD. Níže uvedená tabulka by vysvětlit jasněji
Propojení 16X2 LCD s Arduino
LCD moduly tvoří velmi důležité v mnoha Arduino based embedded system design pro zlepšení uživatelské rozhraní systému. Propojení s Arduino dává programátorovi větší volnost pro snadné přizpůsobení kódu. Jakákoli deska Arduino, LCD displej 16X2, propojovací vodiče a prkénko jsou dostačující pro sestavení obvodu. Propojení Arduino na LCD displej níže.
zdrojový kód pro 16X2LCD a Arduino.
zobrazení jasu LED na 16×2 LCD
kombinace LCD a Arduino přináší několik projektů, nejjednodušší je LCD displej pro zobrazení jasu LED. Vše, co potřebujeme pro tento obvod, je LCD, Arduino, prkénko, odpor, potenciometr, LED a některé propojovací kabely. Zapojení obvodu jsou níže.
prováděcí projekt je k dispozici v zobrazení jasu LED na LCD displeji
Tento článek byl poprvé zveřejněn dne 21. listopadu 2016 a nedávno byl aktualizován dne 31. července 2020.