Køb mobiltelefon LCD-skærm eller OLED-skærm er bedre
I vores daglige liv er vi ikke fremmede for flydende krystaller. Flydende krystal display modul er blevet brugt som en masse elektroniske produkter gennem enheder, såsom i lommeregneren, multimeter, elektronisk bord og mange husholdnings elektroniske produkter kan ses, displayet er hovedsageligt digitalt, specielle symboler og grafik. I MCU menneske-maskine-grænsefladen er de generelle outputmetoder som følger: lysrør, LED digitalt rør, flydende krystaldisplay. Lysemitterende rør og LED digitalrør er almindeligt anvendte, og deres hardware og software er relativt enkle. De er blevet introduceret i de foregående kapitler, men er ikke introduceret her. Dette kapitel fokuserer på anvendelsen af tegntype LCD.
Anvendelsen af flydende krystalskærm som outputenhed i et enkelt chip mikrocomputersystem har følgende fordele:
Høj skærmkvalitet
Fordi LCD'er holder den farve og lysstyrke på hvert punkt efter at have modtaget et signal, lyser de konstant, i modsætning til katodestrålerør-skærme (CRTS), der konstant skal opdateres. Derfor har LCD-skærmen høj billedkvalitet og flimrer ikke.
Digital type interface
LCD-skærmen er digital, og grænsefladen til enkelt-chip mikrocomputersystem er mere enkel og pålidelig, og betjeningen er mere bekvem.
Lille størrelse og let vægt
LCD-skærmen viser skærm ved at kontrollere tilstanden af flydende krystalmolekyler gennem elektroderne på skærmen, som er meget lettere end den traditionelle skærm med det samme visningsområde.
Lavt strømforbrug
Relativt set forbruges LCD-strømforbruget hovedsageligt i dets interne elektroder og drivende IC, så strømforbruget er meget mindre end andre skærme.
10.8.1 LCD-oversigt
â flydende krystal display princip
Princippet for flydende krystal display er at bruge de fysiske egenskaber af flydende krystal, gennem spændingen til at styre displayområdet, er der en power display, så du kan vise grafen. Flydende krystalskærm har karakteristika af tynd tykkelse, velegnet til direkte drev med integreret kredsløb i stor skala, let at realisere fuldfarveskærm, er blevet meget brugt i bærbare computere, digitale kameraer, PDA-mobilkommunikationsværktøjer og mange andre områder.
(2) Klassificering af flydende krystaller
Der er mange slags klassificeringsmetoder for flydende krystaller, som normalt kan opdeles i segmenter, tegn, dot matrix og så videre. Ud over sort/hvid display, flydende krystal display og multi-grå farvedisplay. I henhold til køretilstanden kan den opdeles i Static, SimpleMatrix og ActiveMatrix.
(3) LCD-display forskellige grafiske displayprincipper:
Visning af linjestykker
LCD'et i form af et matrixdiagram er sammensat af M×N displayenheder. Forudsat at LCD-skærmen har 64 rækker, har hver række 128 kolonner, og hver 8 kolonne svarer til 8 bits af 1 byte, dvs. hver række er sammensat af 16 bytes, i alt 16×8=128 punkter, og 64×16 visningsenheder på skærmen svarer til 1024 bytes RAM-område. Hver byte svarer til lyset og mørket på den tilsvarende position på displayet. For eksempel bestemmes lysstyrken og mørket på den første linje på skærmen af indholdet af 16 bytes af 000H -- 00FH i RAM-området. Når (000H) =FFH, vises en kort lys linje med en længde på 8 punkter i øverste venstre hjørne af skærmen. Når (3FFH) =FFH, vises en kort lys linje i nederste højre hjørne af skærmen; Når (000H) =FFH, (001H) =00H, (002H) =00H... Når (00EH) =00H, (00FH) =00H, vil en stiplet linje bestående af 8 lyse linjer og 8 mørke linjer blive vist kl. toppen af skærmen. Dette er det grundlæggende princip for LCD-display.
Visning af tegn
Det er mere kompliceret at vise et tegn med LCD, fordi et tegn er sammensat af 6×8 eller 8×8 punktmatrix. Det er nødvendigt at finde de 8 bytes af display RAM-området svarende til nogle positioner på skærmen, og få de forskellige bits af hver byte til at være "1" og de andre til "0", hvilket er lyset af "1" og lyset på "0". Og det er det, der gør en karakter. For controlleren med tegngenerator er det dog relativt enkelt at vise tegn. Du kan få controlleren til at arbejde i teksttilstand, finde ud af adressen, der svarer til display-RAM i henhold til rækkenummeret og antallet af kolonner i hver række, der vises på LCD-skærmen, opsætte markøren og sende koden, der svarer til tegnet her.
Visning af kinesiske tegn
Visningen af kinesiske tegn anvender generelt den grafiske måde, på forhånd fra mikrocomputeren for at udtrække prikkoden for det kinesiske tegn, der skal vises (generelt ved hjælp af fontsoftware), hvert kinesisk tegn tegnede sig for 32B, opdelt i to halvdele, der hver tegner sig for 16B, venstre side er 1, 3, 5... Til højre er 2, 4, 6... Adressen svarende til display-RAM kan findes i henhold til rækkenummeret og antallet af kolonner i hver viste række på LCD'et, indstil markøren, send den første byte af det kinesiske tegn, der skal vises, tilføj 1 til markørens position, send den anden byte, skift
Rækker justeres efter kolonner, og den tredje byte sendes... Indtil 32B-displayet kan du få et komplet kinesisk tegn på LCD-skærmen.
10.8.21602 Tegn LCD Oversigt
Tegntype flydende krystal display modul er en slags dot matrix LCD specielt brugt til at vise bogstaver, tal, symboler osv. På nuværende tidspunkt er 16* 1,16 *2, 20*2 og 40*2 linjer almindeligt anvendt. Følgende til Changsha Sun People Electronics Co., LTD. 1602 tegn LCD som et eksempel, for at introducere dets brug. Figur 10-53 viser en typisk 1602 tegn LCD.
Figur 10-531602 tegn LCD fysisk visning
10.8.2.11602 LCD grundlæggende parametre og pin-funktioner
1602LCD kan opdeles i to typer: med og uden baggrundsbelysning. De fleste af basiscontrollerne er HD44780. Den med baggrundslys er tykkere end den uden baggrundslys.
Figur 10-541602LCD-mål
Vigtigste tekniske parametre for 1602LCD:
Skærmkapacitet: 16 x 2 tegn
Chip driftsspænding: 4,5-5,5V
Driftsstrøm: 2,0mA (5,0V)
Bedste driftsspænding for modulet: 5,0V
Tegnstørrelse: 2,95 x 4,35 (B x H) mm
Beskrivelse af pinfunktion
1602LCD bruger standard 14-bens (uden baggrundsbelysning) eller 16-bens (med baggrundsbelysning) porte. Tabel 10-13 beskriver pin-portene:
Serienummer
symbol
Pin beskrivelse
Serienummer
symbol
Pin beskrivelse
1
VSS
Magten til
9
D2
data
2
VDD
positiv
10
D3
data
3
VL
Flydende krystal display bias
11
D4
data
4
RS
Data/kommandovalg
12
D5
data
5
R/W
Læse/skrive muligheder
13
D6
data
6
E
Kan lave signalet
14
D7
data
7
D0
data
15
BLA
Positiv pol på baggrundslyskilden
8
D1
data
16
BLK
Negativ elektrode af baggrundsbelysningskilden
Tabel 10-13: Pin-porte
Fod 1: VSS er jordstrømforsyning.
Fod 2: VDD er forbundet til 5V positiv strømforsyning.
Den tredje fod: VL for LCD kontrastjustering ende, forbundet til den positive effektkontrast er den svageste, den højeste jordkontrast, kontrasten er for høj vil producere "spøgelse", kan bruges gennem et 10K potentiometer til at justere kontrasten.
Den fjerde fod: RS for registervalg, højspændingsniveau til valg af dataregister, lavspændingsniveau for valg af instruktionsregister.
Fod 5: R/W er læse/skrive signallinjen. Læsedrift udføres ved højspænding og skriveoperation udføres ved lavspænding. Når RS og R/W begge er lavt niveau, kan instruktioner eller displayadresser skrives; når RS er lavt niveau, R/W er højt niveau, kan optaget signal læses; når RS er højt niveau, R/W er lavt niveau, kan data skrives.
Ben 6: End E er aktiveringsenden. Når ende E skifter fra højt niveau til lavt niveau, udfører LCD-modulet kommandoer.
Ben 7 til 14: D0 til D7 er 8-bit tovejs datakabler.
Fod 15: positiv pol baglyskilde.
Fod 16: negativ pol på baggrundslyskilden.
10.8.2.31602 LCD-kommando Beskrivelse i tidsrækkefølge
Controlleren på 1602 LCD har 11 kontrolkommandoer, som vist i tabel 10-14:
Serienummeret
instruktion
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
1
Tydeligt display
0
0
0
0
0
0
0
0
0
1
2
Markøren vender tilbage
0
0
0
0
0
0
0
0
1
*
3
Indstil inputtilstand
0
0
0
0
0
0
0
1
I/D
S
4
Viser tænd/sluk-kontrol
0
0
0
0
0
0
1
D
C
B
5
Markør eller tegnskift
0
0
0
0
0
1
S/C
R/L
*
*
6
Indstil funktion
0
0
0
0
1
DL
N
F
*
*
7
Indstil hukommelsesadresse for tegnforekomst
0
0
0
1
Hukommelsesadresse for tegnforekomst
8
Indstil datahukommelsesadressen
0
0
1
Viser datahukommelsesadressen
9
Læs optaget skilt eller adresse
0
1
BF
Skrankens adresse
10
Skriv tal til CGRAM eller DDRAM)
1
0
Dataindholdet, der skal skrives
11
Læs fra CGRAM eller DDRAM
1
1
Udlæsningens dataindhold
Tabel 10-14: Styrekommandotabel
1602 LCD-modulets læse- og skriveoperationer, skærm- og optiske labeloperationer er gennem instruktionsprogrammering at opnå. (Bemærk: 1 er højt niveau, 0 er lavt niveau)
Instruktion 1: Ryd display, kommandokode 01H, cursor nulstillet til adresse 00H position.
Instruktion 2: Cursor reset, cursor vender tilbage til adresse 00H.
Kommando 3: Markør og visningstilstand Indstillinger I/D: markørens bevægelsesretning, højreskift på højt niveau, venstreskift på lavt niveau S: om al tekst på skærmen bevæger sig til venstre eller højre. Et højt niveau er gyldigt, et lavt niveau er ugyldigt.
Instruktion 4: Display switch kontrol. D: styrer tænd og sluk for det overordnede display. Højt niveau angiver på displayet; lavt niveau angiver slukket display. C: styrer til og fra for markøren. Højt niveau angiver markøren; lavt niveau angiver ingen markør.
Kommando 5: Markør eller displayskift S/C: Flyt den viste tekst ved høj spænding og flyt markøren ved lav spænding.
Kommando 6: Funktionsindstillingskommando DL: 4-bit bus ved højspænding, 8-bit bus ved lav spænding N: Enkeltlinjedisplay ved lavspænding, dobbeltlinjedisplay ved højspænding F: 5x7 dot matrix-tegn ved lavspænding, 5x10 dot matrix-tegn ved højspænding.
Instruktion 7: Indstilling af RAM-adresse for tegngenerator.
Instruktion 8: Indstilling af DDRAM-adresse.
Kommando 9: Læs optaget-signal og markøradresse BF: angiver optaget-flagbit. Højt niveau indikerer optaget. På nuværende tidspunkt kan modulet ikke modtage kommandoer eller data.
Instruktion 10: Skriv data.
Instruktion 11: Læs dataene.
Tidstabellen for chips, der er kompatible med HD44780, er som følger:
Læs staten
Indgangen
RS=L, R/W=H, E=H
Udgangen
D0 - D7 = statusord
Skriftlige instruktioner
Indgangen
RS=L, R/W=L, D0 -- D7= instruktionskode, E= høj puls
Udgangen
Der er ingen
Læs dataene
Indgangen
RS=H, R/W=H, E=H
Udgangen
D0 - D7 = data
Skriv dataene
Indgangen
RS=H, R/W=L, D0 -- D7= data, E= høj puls
Udgangen
Der er ingen
Tabel 10-15: Sekvensliste over grundlæggende operationer
Figur 10-55 og 10-56 viser tidspunktet for læse- og skriveoperationer.
Figur 10-55 Tidssekvens for læseoperationen
Figur 10-56 Timingsekvens for skriveoperationer
10.8.2.41602 LCD RAM-adressetilknytning og standardskrifttypetabel
LCD-modulet er en langsom visningsenhed, så før hver instruktion udføres, er det nødvendigt at bekræfte, at modulets optaget-flag er lavt, hvilket indikerer, at modulet ikke er optaget, ellers vil instruktionen være ugyldig. For at vise tegn skal du først indtaste displaytegnadressen, det vil sige for at fortælle modulet, hvor tegnene skal vises. Figur 10-57 er den interne displayadresse for 1602.
Figur 10-571602 Intern adresse vist på LCD'et
For eksempel, hvis adressen på det første tegn i den anden linje er 40H, kan markøren så placeres på positionen af det første tegn i den anden linje ved at skrive 40H direkte? Dette vil ikke virke, fordi den højeste bit D7 skal være konstant på højt niveau 1, når displayadressen skrives, så de faktiske data, der skrives, skal være 01000000B (40H) +10000000B(80H)=11000000B(C0H).
Ved initialiseringen af LCD-modulet skal visningstilstanden indstilles først. Når LCD-modulet viser tegn, flyttes markøren automatisk til højre uden manuel indgriben. Før hver inputkommando for at bestemme, om LCD-modulet er i optaget tilstand.
Tegngenereringshukommelsen (CGROM) inde i 1602 LCD-modulet har lagret 160 forskellige dot matrix-tegngrafik, som vist i figur 10-58. Disse tegn er: Hvert tegn har en fast kode, f.eks. er koden for det store engelske bogstav "A" 01000001B (41H). Når modulet viser punktmatrix-tegngrafen i adresse 41H, kan vi se bogstavet "A".
Figur 10-58 Kortlægning mellem tegnkoder og figurer
10.8.2.51602 Generel LCD initialiseringsproces (nulstilling).
Forsinkelse 15 ms
Skrivekommando 38H (optaget signal er ikke registreret)
Forsinkelse 5 ms
Skrivekommando 38H (optaget signal er ikke registreret)
Forsinkelse 5 ms
Skrivekommando 38H (optaget signal er ikke registreret)
I fremtiden bør optaget-signalet detekteres for hver skriveinstruktion og læse/skrive-dataoperation
Skrivekommando 38H: Indstilling af displaytilstand
Skriveinstruktion 08H: Displayet er slukket
Skrivekommando 01H: Vis klar skærm
Skriveinstruktion 06H: Vis markørbevægelse Indstillinger
Skriveinstruktion 0CH: Åbn display og markørindstillinger
10.8.31602 Hardware- og softwaredesigneksempel på LCD
På 1602LCD viser den første linje webstedets navn: www.hificat.com, og den anden linje viser kontakttelefonnummeret: 0571-85956028. Displaykontakten skal skiftes til LCD-arbejdstilstand før eksperimentet.
Figur 10-591602LCD demonstrationsdiagram
10.8.3.1 Hardware Schematisk diagram
1602 LCD-modulet kan tilsluttes direkte til enkeltchip-mikrocomputeren AT89C51, som vist i figur 10-60.
Figur 10-60 Skematisk hardwarediagram
10.8.3.2 Programflowdiagram
Figur 10-61 Softwareproces
10.8.3.3 Softwarekode
#omfatte
#omfatte
sbitrs=P2^0;
sbitrw=P2^1;
sbitep=P2^2;
unsignedcharcodedis1[]={"www.hificat.com;
unsignedcharcodedis2[]="0571-85956028;
voiddelay (usignerede charme)
{
usigneret chari;
mens (ms)
{
for(i=0; i<250; i++)
{
_intet p_();
_intet p_();
_intet p_();
_intet p_();
}
}
}
bitlcd_bz()
{
bitresultat;
rs=0;
rw=1;
ep=1;
_intet p_();
_intet p_();
_intet p_();
_intet p_();
resultat=(bit)(P0&0x80);
e