overal om ons heen komen we LCD-schermen tegen. Computers, rekenmachines, televisietoestellen, mobiele telefoons, digitale horloges gebruiken een soort display om de tijd weer te geven.
een LCD-scherm is een elektronische displaymodule die vloeibare kristallen gebruikt om een zichtbaar beeld te produceren. Het 16×2 LCD-scherm is een zeer basismodule die vaak wordt gebruikt in DIYs en circuits. 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. Draai de potentiometerknop naar voren en naar achteren om het LCD-contrast aan te passen. |
Vo / V |
4 | Selecteert opdracht registreren als laag, en de gegevens te registreren wanneer u een hoge | RS (Register Select ) |
5 | Lage schrijven naar het register; Hoge lezen van het registreren | Lezen/schrijven |
6 | Stuurt gegevens pinnen bij een hoge naar een lage puls gegeven; Extra voltage push is nodig om de instructie uit te voeren en EN(enable) signaal wordt hiervoor gebruikt. Meestal stellen we en=0 in, wanneer we de instructie willen uitvoeren maken we deze hoog en=1 voor enkele milliseconden. Hierna maken we het weer grond dat is, en = 0. | Enable |
7 | 8-bit data pins | DB0 |
8 | DB1 | |
9 | DB2 | |
10 | DB3 | |
11 | DB4 | |
12 | DB5 | |
13 | DB6 | |
14 | DB7 | |
15 | Achtergrondverlichting VCC (5V) | Led+ |
16 | Schermverlichting de Massa (0V) | Led- |
RS (Register select)
EEN 16X2 LCD heeft twee registers, namelijk, commando ‘ s en gegevens. De register select wordt gebruikt om van het ene register naar het andere over te schakelen. RS = 0 voor command register, terwijl RS = 1 voor data register.
Commandoregister: het commandoregister slaat de opdrachtinstructies op die aan het LCD-scherm worden gegeven. Een commando is een instructie aan LCD om een vooraf gedefinieerde taak uit te voeren. Voorbeelden zoals:
- initialiseren
- het scherm wissen
- de cursorpositie instellen
- het scherm controleren enz.
De verwerking van commando ‘ s vindt plaats in het commandoregister.
gegevensregister: het gegevensregister slaat de gegevens op die op het LCD-scherm moeten worden weergegeven. De gegevens zijn de ASCII-waarde van het teken dat op het LCD-scherm moet worden weergegeven. Wanneer we gegevens naar LCD sturen gaat deze naar het gegevensregister en wordt daar verwerkt. Wanneer RS = 1, gegevensregister is geselecteerd.
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 |
aangepaste tekens weergeven op 16X2 LCD
aangepaste tekens genereren op LCD is niet erg moeilijk. Het vereist de kennis over custom generated random access memory (CG-RAM) van LCD en de LCD chip controller. De meeste LCD ‘ s bevatten Hitachi HD4478 controller.
CG-RAM is het belangrijkste onderdeel bij het maken van aangepaste tekens. Het slaat de aangepaste tekens eenmaal gedeclareerd in de code. CG-RAM-grootte is 64 byte die de mogelijkheid biedt om acht tekens tegelijk te maken. Elk karakter is acht byte groot.
CG-RAM-adres begint bij 0x40 (hexadecimaal) of 64 in decimaal. We kunnen aangepaste karakters genereren op deze adressen. Zodra we onze karakters op deze adressen genereren, kunnen we ze afdrukken door gewoon commando ‘ s naar het LCD-scherm te sturen. Karakteradressen en afdrukcommando ‘ s staan hieronder.
in de bovenstaande tabel kunt u startadressen voor elk teken zien met hun afdrukcommando ‘ s.
het eerste teken wordt gegenereerd op het adres 0x40 tot en met 0x47 en wordt afgedrukt op het LCD-scherm door simpelweg een commando 0 te sturen.
het tweede teken wordt gegenereerd op het adres 0x48 tot 0x55 en wordt afgedrukt door het sturen van een commando 1.
aangepaste tekens genereren in CG-RAM
In LCD-schermen is elk teken in een 5×8-matrix. Waarbij 5 het aantal kolommen is en 8 het aantal rijen.
hier is een eenvoudig voorbeeld van het maken van letter ‘b’ in CG-RAM.
de Array voor het genereren van ‘b’ is char b={0x10,0x10, 0x16,0x19,0x11,0x11, 0x1E}; Dat wil zeggen,
- adres verzenden waar u een teken wilt aanmaken.
- creëer nu uw karakter op dit adres. Stuur de hierboven gedefinieerde waarden van de ” B ” – tekenreeks één voor één naar het gegevensregister van het LCD-scherm.
- om het gegenereerde teken op 0x40 af te drukken. Stuur command 0 naar command register van LCD. De onderstaande tabel zou dit duidelijker verklaren
Interfacing van een 16X2 LCD met Arduino
lcd modules vormen een zeer belangrijk in veel Arduino gebaseerde embedded systeem ontwerpen om de gebruikersinterface van het systeem te verbeteren. Interfacing met Arduino geeft de programmeur meer vrijheid om de code gemakkelijk aan te passen. Om het even welke Arduino raad, een 16×2 LCD vertoning, verbindingsdraaddraden en een breadboard zijn voldoende om het circuit te bouwen. Het verbinden van Arduino aan LCD vertoning hieronder.
broncode voor 16X2LCD en Arduino.
Toon de Ledhelderheid op een 16×2 LCD
De combinatie van een LCD en Arduino levert verschillende projecten op, de eenvoudigste is LCD om de ledhelderheid weer te geven. Alles wat we nodig hebben voor dit circuit is een LCD, Arduino, breadboard, een weerstand, potentiometer, LED en sommige startkabels. De circuitaansluitingen zijn hieronder.
het gedetailleerde project is beschikbaar bij het weergeven van de helderheid van een LED op een LCD-scherm
dit artikel werd voor het eerst gepubliceerd op 21 November 2016 en is onlangs bijgewerkt op 31 juli 2020.