Kjøp mobiltelefon LCD-skjerm eller OLED-skjerm er bedre
I vårt daglige liv er vi ikke fremmede for flytende krystallskjermer. Flytende krystall display-modul har blitt brukt som mange elektroniske produkter gjennom enheter, for eksempel i kalkulatoren, multimeter, elektronisk bord og mange elektroniske husholdningsprodukter kan sees, skjermen er hovedsakelig digital, spesielle symboler og grafikk. I MCU menneske-maskin-grensesnittet er de generelle utdatametodene som følger: lysrør, LED digitalt rør, flytende krystallskjerm. Lysemitterende rør og LED digitalt rør er ofte brukt, og deres maskinvare og programvare er relativt enkle. De er introdusert i de foregående kapitlene, men er ikke introdusert her. Dette kapittelet fokuserer på bruken av tegntype LCD.
Anvendelsen av flytende krystallskjerm som utgangsenhet i mikrodatasystem med én brikke har følgende fordeler:
Høy skjermkvalitet
Fordi LCD-skjermer beholder den fargen og lysstyrken på hvert punkt etter å ha mottatt et signal, lyser de konstant, i motsetning til katodestrålerørskjermer (CRTS) som hele tiden må oppdateres. Derfor har LCD-skjermen høy bildekvalitet og flimrer ikke.
Digital type grensesnitt
LCD-skjermen er digital, og grensesnittet til enkeltbrikke-mikrodatamaskinsystemet er enklere og mer pålitelig, og operasjonen er mer praktisk.
Liten størrelse og lett vekt
LCD-skjermen viser ved å kontrollere tilstanden til flytende krystallmolekyler gjennom elektrodene på skjermen, som er mye lettere enn den tradisjonelle skjermen med samme visningsområde.
Lavt energiforbruk
Relativt sett forbrukes strømforbruket til LCD hovedsakelig i de interne elektrodene og drivende IC, så strømforbruket er mye mindre enn andre skjermer.
10.8.1 LCD-oversikt
â prinsipp for flytende krystalldisplay
Prinsippet for flytende krystalldisplay er å bruke de fysiske egenskapene til flytende krystall, gjennom spenningen for å kontrollere visningsområdet, er det en strømskjerm, slik at du kan vise grafen. Flytende krystallskjerm har egenskapene til tynn tykkelse, egnet for storskala integrert krets direkte stasjon, lett å realisere fullfargeskjerm, har blitt mye brukt i bærbare datamaskiner, digitale kameraer, PDA-mobilkommunikasjonsverktøy og mange andre felt.
(2) Klassifisering av flytende krystallskjerm
Det er mange typer klassifiseringsmetoder for flytende krystalldisplay, som vanligvis kan deles inn i segmenter, tegn, punktmatrise og så videre. I tillegg til svart-hvitt-skjerm, flytende krystall-skjerm og multi-grå fargeskjerm. I henhold til kjøremodus kan den deles inn i Static, SimpleMatrix og ActiveMatrix.
(3) LCD-skjerm med ulike grafiske visningsprinsipper:
Visning av linjestykker
LCD-skjermen i form av punktmatrisediagram er sammensatt av M×N-displayenheter. Forutsatt at LCD-skjermen har 64 rader, har hver rad 128 kolonner, og hver 8 kolonne tilsvarer 8 bits av 1 byte, det vil si at hver rad er sammensatt av 16 byte, totalt 16×8=128 poeng, og 64×16 visningsenheter på skjermen tilsvarer 1024 byte med skjerm-RAM-område. Hver byte tilsvarer lyse og mørke på den tilsvarende posisjonen på skjermen. For eksempel bestemmes lysstyrken og mørket på den første linjen på skjermen av innholdet på 16 byte av 000H -- 00FH i RAM-området. Når (000H) =FFH, vises en kort lys linje med en lengde på 8 punkter i øvre venstre hjørne av skjermen. Når (3FFH) =FFH, vises en kort lys linje i nedre høyre hjørne av skjermen; Når (000H) =FFH, (001H) =00H, (002H) =00H... Når (00EH) =00H, (00FH) =00H, vil en stiplet linje bestående av 8 lyse linjer og 8 mørke linjer vises kl. toppen av skjermen. Dette er det grunnleggende prinsippet for LCD-skjerm.
Visning av tegn
Det er mer komplisert å vise et tegn med LCD, fordi et tegn er sammensatt av 6×8 eller 8×8 punktmatrise. Det er nødvendig å finne de 8 bytene med skjerm-RAM-området som tilsvarer noen posisjoner på skjermen, og få de forskjellige bitene til hver byte til å være "1" og de andre til "0", som er lyset til "1" og lyset på "0". Og det er det som gjør en karakter. For kontrolleren med tegngenerator er det imidlertid relativt enkelt å vise tegn. Du kan få kontrolleren til å fungere i tekstmodus, finne ut adressen som tilsvarer skjermens RAM i henhold til radnummeret og antall kolonner i hver rad som vises på LCD-skjermen, sette opp markøren og sende koden som tilsvarer tegnet her.
Visning av kinesiske tegn
Visningen av kinesiske tegn tar vanligvis i bruk den grafiske måten, på forhånd fra mikrodatamaskinen for å trekke ut punktkoden til det kinesiske tegnet som skal vises (vanligvis ved hjelp av fontprogramvare), hvert kinesiske tegn sto for 32B, delt i to halvdeler, hver står for 16B, venstre side er 1, 3, 5... På høyre side er 2, 4, 6... Adressen som tilsvarer skjerm-RAM kan bli funnet i henhold til radnummeret og antall kolonner i hver rad som vises på LCD-skjermen, sett markøren, send den første byten av det kinesiske tegnet som skal vises, legg til 1 til markørposisjonen, send den andre byten, endre
Rader justeres etter kolonner, og den tredje byten sendes... Inntil 32B-skjermen kan du få et komplett kinesisk tegn på LCD-skjermen.
10.8.21602 Tegn LCD-oversikt
Tegntype flytende krystall display-modul er en slags punktmatrise LCD spesielt brukt til å vise bokstaver, tall, symboler, etc. For tiden er 16* 1,16 *2, 20*2 og 40*2 linjer ofte brukt. Følgende til Changsha Sun People Electronics Co., LTD. 1602 tegn LCD som et eksempel, for å introdusere bruken. Figur 10-53 viser en typisk LCD på 1602 tegn.
Figur 10-531602 fysisk LCD-visning
10.8.2.11602 LCD grunnleggende parametere og pinnefunksjoner
1602LCD kan deles inn i to typer: med og uten bakgrunnsbelysning. De fleste av basekontrollerne er HD44780. Den med bakgrunnsbelysning er tykkere enn den uten bakgrunnsbelysning.
Figur 10-541602LCD-dimensjoner
De viktigste tekniske parameterne til 1602LCD:
Skjermkapasitet: 16 x 2 tegn
Brikkedriftsspenning: 4,5-5,5V
Driftsstrøm: 2,0mA (5,0V)
Beste driftsspenning for modulen: 5,0V
Tegnstørrelse: 2,95 x 4,35 (B x H) mm
Beskrivelse av pinnefunksjon
1602LCD bruker standard 14-pinners (uten bakgrunnsbelysning) eller 16-pinners (med bakgrunnsbelysning) porter. Tabell 10-13 beskriver pin-portene:
Serienummer
symbol
Pinbeskrivelse
Serienummer
symbol
Pinbeskrivelse
1
VSS
Kraften til
9
D2
data
2
VDD
positivt
10
D3
data
3
VL
Skjerm for flytende krystall
11
D4
data
4
RS
Data/kommandovalg
12
D5
data
5
R/W
Lese-/skrivealternativer
13
D6
data
6
E
Kan lage signalet
14
D7
data
7
D0
data
15
BLA
Positiv pol på baklyskilden
8
D1
data
16
BLK
Negativ elektrode til bakgrunnsbelysningskilden
Tabell 10-13: Pinneporter
Fot 1: VSS er jordet strømforsyning.
Fot 2: VDD er koblet til 5V positiv strømforsyning.
Den tredje foten: VL for LCD-kontrastjustering slutten, koblet til den positive kraftkontrasten er den svakeste, den høyeste bakkekontrasten, kontrasten er for høy vil produsere "spøkelse", kan brukes gjennom et 10K potensiometer for å justere kontrasten.
Den fjerde foten: RS for registervalg, høyspenningsnivå for valg av dataregister, lavspenningsnivå for valg av instruksjonsregister.
Fot 5: R/W er lese-/skrivesignallinjen. Leseoperasjon utføres ved høy spenning og skriveoperasjon utføres ved lav spenning. Når RS og R/W begge er lavt nivå, kan instruksjoner eller visningsadresser skrives; når RS er lavt nivå, R/W er høyt nivå, kan opptattsignal leses; når RS er høyt nivå, R/W er lavt nivå, kan data skrives.
Pin 6: End E er aktiveringsenden. Når ende E endres fra høyt nivå til lavt nivå, utfører LCD-modulen kommandoer.
Pinne 7 til 14: D0 til D7 er 8-bits toveis datakabler.
Fot 15: positiv pol bak lyskilden.
Fot 16: negativ pol på baklyskilden.
10.8.2.31602 LCD-kommando Beskrivelse i tidssekvens
Kontrolleren til 1602 LCD har 11 kontrollkommandoer, som vist i Tabell 10-14:
Serienummeret
instruksjon
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
1
Tydelig skjerm
0
0
0
0
0
0
0
0
0
1
2
Markøren går tilbake
0
0
0
0
0
0
0
0
1
*
3
Still inn inndatamodus
0
0
0
0
0
0
0
1
I/D
S
4
Viser på/av-kontroll
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
Still inn funksjon
0
0
0
0
1
DL
N
F
*
*
7
Angi minneadresse for tegnforekomst
0
0
0
1
Minneadresse for tegnforekomst
8
Still inn dataminneadressen
0
0
1
Viser dataminneadressen
9
Les opptattskiltet eller adressen
0
1
BF
Adresse til skranke
10
Skriv tall til CGRAM eller DDRAM)
1
0
Datainnholdet som skal skrives
11
Les fra CGRAM eller DDRAM
1
1
Datainnholdet i avlesningen
Tabell 10-14: Styringskommandotabell
1602 LCD-modul lese- og skriveoperasjoner, skjerm- og optiske etikettoperasjoner er gjennom instruksjonsprogrammering for å oppnå. (Merk: 1 er høyt nivå, 0 er lavt nivå)
Instruksjon 1: Slett display, kommandokode 01H, tilbakestilling av markøren til adresse 00H posisjon.
Instruksjon 2: Cursor reset, markøren går tilbake til adresse 00H.
Kommando 3: Markør- og visningsmodus Innstillinger I/D: markørens bevegelsesretning, høyt nivå høyre skift, lavt nivå venstre skift S: om all tekst på skjermen beveger seg til venstre eller høyre. Et høyt nivå er gyldig, et lavt nivå er ugyldig.
Instruksjon 4: Skjermbryterkontroll. D: kontrollerer av og på for den generelle skjermen. Høyt nivå indikerer på skjermen; lavt nivå indikerer av-displayet. C: kontrollerer på og av markøren. Høyt nivå indikerer markøren; lavt nivå indikerer ingen markør.
Kommando 5: Markør eller displayskift S/C: Flytt den viste teksten ved høy spenning og flytt markøren ved lav spenning.
Kommando 6: Funksjonsinnstillingskommando DL: 4-bits buss ved høyspenning, 8-bits buss ved lavspenning N: enkeltlinjedisplay ved lavspenning, dobbellinjedisplay ved høyspenning F: 5x7 punktmatrisetegn ved lavspenning, 5x10 matrisetegn ved høy spenning.
Instruksjon 7: Innstilling av RAM-adresse for tegngenerator.
Instruksjon 8: DDRAM-adresseinnstilling.
Kommando 9: Les opptattsignal og markøradresse BF: indikerer opptatt flaggbit. Høyt nivå indikerer opptatt. På dette tidspunktet kan ikke modulen motta kommandoer eller data.
Instruksjon 10: Skriv data.
Instruksjon 11: Les dataene.
Tidstabellen for sjetonger som er kompatible med HD44780 er som følger:
Les staten
Innspillet
RS=L, R/W=H, E=H
Utgangen
D0 - D7 = statusord
Skriftlige instruksjoner
Innspillet
RS=L, R/W=L, D0 -- D7= instruksjonskode, E= høy puls
Utgangen
Det er ingen
Les dataene
Innspillet
RS=H, R/W=H, E=H
Utgangen
D0 - D7 = data
Skriv dataene
Innspillet
RS=H, R/W=L, D0 -- D7= data, E= høy puls
Utgangen
Det er ingen
Tabell 10-15: Sekvensliste over grunnleggende operasjoner
Figur 10-55 og 10-56 viser tidspunktet for lese- og skriveoperasjoner.
Figur 10-55 Tidssekvens for leseoperasjonen
Figur 10-56 Tidssekvens for skriveoperasjoner
10.8.2.41602 LCD RAM-adressetilordning og standard fonttabell
LCD-modulen er en treg visningsenhet, så før du utfører hver instruksjon, er det nødvendig å bekrefte at opptatt-flagget til modulen er lavt, noe som indikerer at modulen ikke er opptatt, ellers vil instruksjonen være ugyldig. For å vise tegn, skriv inn skjermtegnadressen først, det vil si for å fortelle modulen hvor tegnene skal vises. Figur 10-57 er den interne visningsadressen til 1602.
Figur 10-571602 Intern adresse vist på LCD-skjermen
For eksempel, hvis adressen til det første tegnet i den andre linjen er 40H, kan markøren plasseres ved posisjonen til det første tegnet i den andre linjen ved å skrive 40H direkte? Dette vil ikke fungere, fordi den høyeste biten D7 må være konstant på høyt nivå 1 når du skriver visningsadressen, så de faktiske dataene som skrives bør være 01000000B (40H) +10000000B(80H)=11000000B(C0H).
I initialiseringen av LCD-modulen bør visningsmodusen stilles inn først. Når LCD-modulen viser tegn, flyttes markøren automatisk til høyre uten manuell inngripen. Før hver inngangskommando for å finne ut om LCD-modulen er i opptatt tilstand.
Tegngenereringsminnet (CGROM) inne i 1602 LCD-modulen har lagret 160 forskjellige tegngrafikk med punktmatrise, som vist i figur 10-58. Disse tegnene er: Hvert tegn har en fast kode, for eksempel er koden for den store engelske bokstaven "A" 01000001B (41H). Når modulen viser punktmatrisekaraktergrafen i adresse 41H, kan vi se bokstaven "A".
Figur 10-58 Kartlegging mellom tegnkoder og figurer
10.8.2.51602 Generell LCD-initieringsprosess (tilbakestilling).
Forsinkelse 15 ms
Skrivekommando 38H (opptatt signal oppdages ikke)
Forsinkelse 5 ms
Skrivekommando 38H (opptatt signal oppdages ikke)
Forsinkelse 5 ms
Skrivekommando 38H (opptatt signal oppdages ikke)
I fremtiden bør opptattsignalet oppdages for hver skriveinstruksjon og lese/skrive dataoperasjon
Skrivekommando 38H: Visningsmodusinnstilling
Skriveinstruksjon 08H: Skjermen er av
Skrivekommando 01H: Vis klar skjerm
Skriveinstruksjon 06H: Vis markørbevegelse Innstillinger
Skriveinstruksjon 0CH: Skjerm åpen og markørinnstillinger
10.8.31602 Eksempel på maskinvare- og programvaredesign på LCD
På 1602LCD viser den første linjen nettstedets navn: www.hificat.com og den andre linjen viser kontakttelefonnummeret: 0571-85956028. Skjermbryteren bør byttes til LCD-arbeidstilstand før eksperimentet.
Figur 10-591602LCD demonstrasjonsdiagram
10.8.3.1 Skjema for maskinvare
1602 LCD-modulen kan kobles direkte til enkeltbrikkemikrodatamaskinen AT89C51, som vist i figur 10-60.
Figur 10-60 Skjema for maskinvare
10.8.3.2 Programflytskjema
Figur 10-61 Programvareprosess
10.8.3.3 Programvarekode
#inkludere
#inkludere
sbitrs=P2^0;
sbitrw=P2^1;
sbitep=P2^2;
unsignedcharcodedis1[]={"www.hificat.com;
unsignedcharcodedis2[]="0571-85956028;
voiddelay (unsignedcharms)
{
unsignedchari;
mens (ms)
{
for(i=0; i<250; i++)
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}
bitlcd_bz()
{
bitresultat;
rs=0;
rw=1;
ep=1;
_nop_();
_nop_();
_nop_();
_nop_();
resultat=(bit)(P0&0x80);
e