vi støder på LCD-skærme overalt omkring os. Computere, regnemaskiner, tv-apparater, mobiltelefoner, digitale ure bruger en slags skærm til at vise tiden.
et LCD er et elektronisk displaymodul, der bruger flydende krystal til at producere et synligt billede. LCD-skærmen på 16 liter 2 er et meget grundlæggende modul, der ofte bruges i DIY ‘ er og kredsløb. 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. Drej potentiometerknappen frem og tilbage for at justere LCD-kontrasten. |
Vo / VEE |
4 | vælger kommandoregister, når lav, og dataregister, når høj | rs (register select) |
5 | lav til at skrive til registret; høj til at læse fra registret | læs/skriv |
6 | sender data til data pins, når en høj til lav puls er givet; Ekstra spænding push er nødvendig for at udføre instruktionen og EN(enable) signal bruges til dette formål. Normalt indstiller vi en=0, når vi vil udføre instruktionen, gør vi den høj en=1 i nogle millisekunder. Efter dette vi igen gøre det jorden, der er, en=0. | Enable |
7 | 8-bit data pins | DB0 |
8 | DB1 | |
9 | DB2 | |
10 | DB3 | |
11 | DB4 | |
12 | DB5 | |
13 | DB6 | |
14 | DB7 | |
15 | Backlight VCC (5V) | Led+ |
16 | Backlight Ground (0V) | LED- |
rs (register select)
a 16h2 LCD har to registre, nemlig kommando og data. Register select bruges til at skifte fra et register til et andet. RS=0 for kommandoregister, mens RS=1 For dataregister.
Kommandoregister: kommandoregistret gemmer kommandoregistreringerne, der er givet til LCD ‘ et. En kommando er en instruktion, der gives til LCD til at udføre en foruddefineret opgave. Eksempler som:
- initialisering af det
- rydning af skærmen
- indstilling af markørposition
- styring af display osv.
behandling af kommandoer sker i kommandoregistret.
dataregister: dataregistret gemmer de data, der skal vises på LCD-skærmen. Dataene er ASCII-værdien af det tegn, der skal vises på LCD-skærmen. Når vi sender data til LCD, går det til dataregistret og behandles der. Når RS=1, dataregister er valgt.
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 |
visning af brugerdefinerede tegn på 16H2 LCD
generering af brugerdefinerede tegn på LCD er ikke meget svært. Det kræver viden om brugerdefineret genereret random access memory (CG-RAM) af LCD og LCD chip controller. De fleste LCD-skærme indeholder Hitachi HD4478 controller.
CG-RAM er den vigtigste komponent i at gøre brugerdefinerede tegn. Den gemmer de brugerdefinerede tegn, når de er angivet i koden. CG-RAM størrelse er 64 byte giver mulighed for at skabe otte tegn ad gangen. Hver karakter er otte byte i størrelse.
CG-RAM-adresse starter fra 0h40 (Geksadecimal) eller 64 i decimal. Vi kan generere brugerdefinerede tegn på disse adresser. Når vi genererer vores tegn på disse adresser, kan vi udskrive dem ved blot at sende kommandoer til LCD ‘ et. Tegnadresser og udskrivningskommandoer er nedenfor.
i tabellen ovenfor kan du se startadresser for hvert tegn med deres udskrivningskommandoer.
det første tegn genereres ved adresse 0h40 til 0h47 og udskrives på LCD ved blot at sende en kommando 0.
det andet tegn genereres ved adresse 0h48 til 0h55 og udskrives ved at sende en kommando 1.
Hvordan til at generere brugerdefinerede tegn i CG-RAM
i LCD-skærme, hvert tegn er i en 5 l 8 matrice. Hvor 5 er antallet af kolonner og 8 er antallet af rækker.
her er et simpelt eksempel på, hvordan man opretter bogstavet ‘b’ i CG-RAM.
arrayet til generering af ‘b’ er char B={0h10,0h10,0h16,0h19,0h11,0h11,0h1e}; Det vil sige
- Send adresse, hvor du vil oprette tegn.
- Opret nu din karakter på denne adresse. Send ‘ B ‘ tegn array værdier defineret ovenfor en efter en til data register over LCD.
- for at udskrive det genererede tegn på 0h40. Send kommando 0 til kommandoregister for LCD. Tabellen nedenfor ville forklare dette mere tydeligt
grænseflade til en 16H2 LCD med Arduino
LCD-moduler udgør en meget vigtig i mange Arduino-baserede indlejrede systemdesign for at forbedre systemets brugergrænseflade. Interfacing med Arduino giver programmøren mere frihed til at tilpasse koden nemt. Ethvert Arduino-bord, en 16H2 LCD-skærm, jumperledninger og et brødbræt er tilstrækkelige nok til at opbygge kredsløbet. Grænsefladen af Arduino til LCD-skærm nedenfor.
kildekode for 16H2LCD og Arduino.
Vis LED-lysstyrken på en 16 liter 2 LCD
kombinationen af en LCD og Arduino giver flere projekter, hvor den mest enkle er LCD for at vise LED-lysstyrken. Alt, hvad vi har brug for til dette kredsløb, er en LCD, Arduino, breadboard, en modstand, potentiometer, LED og nogle jumperkabler. Kredsløbsforbindelserne er nedenfor.
det detaljerede projekt er tilgængeligt ved visning af lysstyrke på en LED på en LCD-skærm
denne artikel blev først offentliggjort på 21.November 2016 og blev for nylig opdateret den 31. juli 2020.