LCD1602 är en karaktär med flytande kristall som många mikrokontroller entusiaster kommer i kontakt med tidigare. Dess huvudkontrollchip är HD44780 eller andra kompatibla chips. De flesta av de nybörjare som kom i kontakt med det är mikrokontroller. På grund av sin brist på förståelse kan den inte drivas som det behagar. Efter en studieperiod hade jag lite blick på sin körning och idag spelas den här för senare referens.
I allmänhet har LCD1602 16 stift och sägs ha 14 stift. Jämfört med 16-stiftet saknar LCD 1602 bakgrundsbelysningen A (15 fot) och marklinjen K (16 fot). Modellen av LCD1602 i min hand är HJ1602A, som är en produkt från Legend of Technology Corporation. Den har 16 stift.

Lcd1602 användarhandbok, förklara användningen av LCD1602
Grundfunktionen för LCD1602
1. Läs status: ingång RS = 0, RW = 1, E = hög puls. Utgång: D0-D7 är statusordet.
2. Läs data: input RS = 1, RW = 1, E = hög puls. Utgång: D0-D7 är data.
3. Skriv kommando: inmatning RS = 0, RW = 0, E = låg puls. Utgång: Ingen. (Skriv E = hög puls)
4. Skriv data: input RS = 1, RW = 0, E = låg puls. Utgång: Ingen.
Analyssekvensdiagram
(1) Skriv operation (SCM till HD44780)
Lcd1602 användarhandbok, förklara användningen av LCD1602
Det första du behöver göra är att konfigurera registerval och läsa och skriva operationsval. RS är registerval, RS = 1 arbetar med data och RS = 0 fungerar enligt instruktioner.
Konfigurera sedan läs- och skrivoperationer, RW = 0 skrivoperationer.
Slå på aktiveringsterminalen och ingångsaktiveringssignalen E = 1.
Databuss, tilldelning till DB0 ~ DB7, dataöverföring
Obs! Om du aktiverar det först och utför andra konfigurationer är det möjligt att den överförda data inte är det du vill ha.
(2) Läs drift (HD44780 till mikrokontroller)
Lcd1602 användarhandbok, förklara användningen av LCD1602
Informationssättet på bildskärmsmodulen är konfigurerad enligt egna behov
Lcd1602 användarhandbok, förklara användningen av LCD1602
Lcd1602 användarhandbok, förklara användningen av LCD1602
Lcd1602 användarhandbok, förklara användningen av LCD1602
Lcd1602 användarhandbok, förklara användningen av LCD1602
Displaypositionsinställning DDRAM
Lcd1602 användarhandbok, förklara användningen av LCD1602
Data som visas i en kolumn i första raden kan skrivas enligt följande: 0x80 | 0x **, kan data som visas i en kolumn i den andra raden skrivas enligt följande: 0x80 | 0x40 | 0x ** = 0xC0 | 0x **, 0x80 eftersom DB7 är fixerad till 1 när du ställer in DDRAM-adressen.
LCD1602 skriver egna tecken och visar kinesiska tecken
1. Eftersom LCD-skärmen är en extern enhet och bearbetningshastigheten är långsammare än CPU: n, tar det viss tid att skriva kommandon till LCD-skärmen för att slutföra funktionen. I denna process är LCD-skärmen upptagen och kan inte skriva nytt innehåll på LCD-skärmen. Huruvida LCD-skärmen är upptagen kan förstås genom att läsa kommandot upptaget flagg.
Använd state = LCDPORT för att läsa statusen för IO-porten och status & 0x80 för att avgöra om LCD-skärmen är upptagen. Om IO-port bit7 är 1, är LCD upptagen, annars är den ledig.
2. För att LCD1602 ska kunna visa anpassade tecken, använd CGRAM-instruktionen. CGROM ordtabellen har faktiskt bara 8 byte tillgängliga. Writecom (0x40) indikerar att data kommer att skrivas i CGRAM. Kommandot att ställa in typsnittet CGRAM-adress är 0100 0000.
1602 kan lagra 8 anpassade tecken (dvs 8 byte). De första adresserna till de 8 anpassade teckenförvaringsutrymmena är: 0x40, 0x48, 0x50, 0x58, 0x60, 0x68, 0x70, 0x78.
Vid läsning är adressen på den anpassade tecknet 0X40-0X78 och adressen är 00H-07H. En adress (t.ex. 00H) lagrar 1B tecken (1B = 8bit, ett tecken består av 8 0x **)
För 0x40 ser utrymmet ut så här:
Lcd1602 användarhandbok, förklara användningen av LCD1602
Om 5 * 7 tecken används, är data i den vänstra 3: e och sista raden faktiskt värdelös, vanligtvis inställd på 0.
Lcd1602 användarhandbok, förklara användningen av LCD1602
Så vi får de data som varje adress behöver skrivas:
Adress: Data
0x40: 0x16
0x41: 0x09
0x42: 0x08 och så vidare. Skriv dessa 8 data till motsvarande adress. (Det röda rutnätet är 1 och det vita nätet är 0)





