Casa > Notizia > Notizie del settore

Acquista lo schermo LCD del telefono cellulare o lo schermo OLED è meglio

2022-08-01

Nella nostra vita quotidiana, non siamo estranei ai display a cristalli liquidi. Il modulo display a cristalli liquidi è stato utilizzato come molti prodotti elettronici attraverso dispositivi, come calcolatrice, multimetro, tavolo elettronico e molti prodotti elettronici per la casa, il display è principalmente digitale, simboli e grafici speciali. Nell'interfaccia uomo-macchina MCU, i metodi di output generali sono i seguenti: tubo luminoso, tubo digitale a LED, display a cristalli liquidi. Il tubo emettitore di luce e il tubo digitale a LED sono comunemente usati e il loro hardware e software sono relativamente semplici. Sono stati introdotti nei capitoli precedenti, ma non vengono introdotti qui. Questo capitolo è incentrato sull'applicazione del tipo di carattere LCD.


L'applicazione del display a cristalli liquidi come dispositivo di uscita nel sistema di microcomputer a chip singolo presenta i seguenti vantaggi:

Alta qualità di visualizzazione

Poiché gli LCD mantengono quel colore e la luminosità in ogni punto dopo aver ricevuto un segnale, si illuminano costantemente, a differenza dei display a tubo catodico (CRTS) che devono essere costantemente aggiornati. Pertanto, il display LCD ha un'elevata qualità dell'immagine e non presenta sfarfallio.

Interfaccia di tipo digitale

L'LCD è digitale e l'interfaccia del sistema di microcomputer a chip singolo è più semplice e affidabile e l'operazione è più conveniente.

Dimensioni ridotte e peso leggero

I display LCD visualizzano controllando lo stato delle molecole di cristalli liquidi attraverso gli elettrodi sullo schermo del display, che è molto più leggero del display tradizionale con la stessa area di visualizzazione.

Basso consumo energetico

Relativamente parlando, il consumo energetico dell'LCD viene consumato principalmente nei suoi elettrodi interni e nel circuito integrato di pilotaggio, quindi il consumo energetico è molto inferiore rispetto ad altri display.

10.8.1 Panoramica dell'LCD

â  principio del display a cristalli liquidi

Il principio del display a cristalli liquidi consiste nell'utilizzare le caratteristiche fisiche dei cristalli liquidi, attraverso la tensione per controllare l'area di visualizzazione, è presente un display di alimentazione, in modo da poter visualizzare il grafico. Il display a cristalli liquidi ha le caratteristiche di spessore sottile, adatto per azionamento diretto di circuiti integrati su larga scala, display a colori di facile realizzazione, è stato ampiamente utilizzato in computer portatili, fotocamere digitali, strumenti di comunicazione mobile PDA e molti altri campi.

(2) Classificazione del display a cristalli liquidi

Esistono molti tipi di metodi di classificazione del display a cristalli liquidi, di solito possono essere suddivisi in segmenti, caratteri, matrice di punti e così via. Oltre al display in bianco e nero, display a cristalli liquidi e display a colori multi-grigio. A seconda della modalità di guida, può essere suddiviso in Static, SimpleMatrix e ActiveMatrix.

(3) Display LCD con vari principi di visualizzazione grafica:

Visualizzazione dei segmenti di linea

Il display LCD sotto forma di diagramma a matrice di punti è composto da unità di visualizzazione M×N. Supponendo che lo schermo LCD abbia 64 righe, ogni riga ha 128 colonne e ogni 8 colonne corrisponde a 8 bit di 1 byte, ovvero ogni riga è composta da 16 byte, per un totale di 16×8=128 punti, e 64 × 16 unità di visualizzazione sullo schermo corrispondono a 1024 byte di area RAM di visualizzazione. Ogni byte corrisponde alla luce e al buio della posizione corrispondente sul display. Ad esempio, la luminosità e l'oscurità della prima riga dello schermo sono determinate dal contenuto di 16 byte di 000H -- 00FH nell'area RAM. Quando (000H) =FFH, viene visualizzata una breve linea luminosa con una lunghezza di 8 punti nell'angolo superiore sinistro dello schermo. Quando (3FFH) =FFH, viene visualizzata una breve linea luminosa nell'angolo inferiore destro dello schermo; Quando (000H) =FFH, (001H) =00H, (002H) =00H... Quando (00EH) =00H, (00FH) =00H, verrà visualizzata una linea tratteggiata composta da 8 linee luminose e 8 linee scure su la parte superiore dello schermo. Questo è il principio di base del display LCD.

Visualizzazione dei caratteri

È più complicato visualizzare un carattere con l'LCD, perché un carattere è composto da una matrice di punti 6×8 o 8×8. È necessario trovare gli 8 byte di area RAM di visualizzazione corrispondenti ad alcune posizioni sullo schermo di visualizzazione, e fare in modo che i diversi bit di ogni byte siano "1" e gli altri siano "0", che è la luce di "1" e la luce di "0". Ed è questo che rende un personaggio. Tuttavia, per il controller con generatore di caratteri, è relativamente semplice visualizzare i caratteri. Puoi far funzionare il controller in modalità testo, scoprire l'indirizzo corrispondente alla RAM del display in base al numero di riga e il numero di colonne in ogni riga visualizzata sul display LCD, impostare il cursore e inviare il codice corrispondente al carattere qui.

Visualizzazione dei caratteri cinesi

La visualizzazione dei caratteri cinesi adotta generalmente la modalità grafica, preventivamente dal microcomputer per estrarre il dot code del carattere cinese da visualizzare (generalmente utilizzando un software di font), ogni carattere cinese rappresentava 32B, diviso in due metà, ciascuna delle quali rappresentava 16B, il lato sinistro è 1, 3, 5... A destra sono 2, 4, 6... L'indirizzo corrispondente alla RAM del display è reperibile in base al numero di riga e al numero di colonne in ogni riga visualizzata sul display LCD, posizionare il cursore, inviare il primo byte del carattere cinese da visualizzare, aggiungere 1 alla posizione del cursore, inviare il secondo byte, modificare

Le righe sono allineate alle colonne e viene inviato il terzo byte... Fino al display 32B, puoi ottenere un carattere cinese completo sul display LCD.

10.8.21602 Panoramica LCD dei caratteri

Il modulo display a cristalli liquidi di tipo carattere è un tipo di LCD a matrice di punti utilizzato specialmente per visualizzare lettere, numeri, simboli, ecc. Attualmente, vengono comunemente utilizzate 16* 1,16 *2, 20*2 e 40*2 righe. Quanto segue a Changsha Sun People Electronics Co., LTD. LCD a 1602 caratteri come esempio, per introdurne l'uso. La Figura 10-53 mostra un tipico LCD a 1602 caratteri.

Figura 10-531602 Visualizzazione fisica dell'LCD a caratteri

10.8.2.11602 Parametri di base LCD e funzioni pin

Il 1602LCD può essere diviso in due tipi: con e senza retroilluminazione. La maggior parte dei controller di base sono HD44780. Quello con retroilluminazione è più spesso di quello senza retroilluminazione.

Figura 10-541602Dimensioni dell'LCD

Principali parametri tecnici del 1602LCD:

Capacità di visualizzazione: 16 x 2 caratteri

Tensione di funzionamento del chip: 4,5-5,5 V

Corrente di funzionamento: 2,0 mA (5,0 V)

Migliore tensione di funzionamento del modulo: 5,0 V

Dimensioni del carattere: 2,95 x 4,35 (L x A) mm

Descrizione della funzione pin

Il 1602LCD utilizza porte standard a 14 pin (senza retroilluminazione) o 16 pin (con retroilluminazione). La Tabella 10-13 descrive le porte dei pin:

Numero di serie

simbolo

Descrizione pin

Numero di serie

simbolo

Descrizione pin

1

VSS

Il potere di

9

D2

dati

2

VDD

positivo

10

D3

dati

3

VL

Bias del display a cristalli liquidi

11

D4

dati

4

RS

Selezione dati/comandi

12

D5

dati

5

R/W

Opzioni di lettura/scrittura

13

D6

dati

6

E

Può fare il segnale

14

D7

dati

7

D0

dati

15

BLA

Polo positivo della sorgente luminosa posteriore

8

D1

dati

16

BLK

Elettrodo negativo della sorgente di retroilluminazione

Tabella 10-13: Porte pin

Piede 1: VSS è l'alimentazione di terra.

Piede 2: VDD è collegato a un'alimentazione positiva da 5 V.

Il terzo piede: VL per l'estremità di regolazione del contrasto LCD, collegato al contrasto di potenza positivo è il più debole, il contrasto al suolo più alto, il contrasto è troppo alto produrrà "fantasma", può essere utilizzato tramite un potenziometro 10K per regolare il contrasto.

Il quarto piede: RS per la selezione del registro, livello di alta tensione per selezionare il registro dei dati, livello di bassa tensione per selezionare il registro delle istruzioni.

Piede 5: R/W è la linea del segnale di lettura/scrittura. L'operazione di lettura viene eseguita ad alta tensione e l'operazione di scrittura viene eseguita a bassa tensione. Quando RS e R/W sono entrambi di basso livello, è possibile scrivere istruzioni o indirizzi di visualizzazione; quando RS è di livello basso, R/W è di livello alto, è possibile leggere il segnale di occupato; quando RS è di livello alto, R/W è di livello basso, i dati possono essere scritti.

Pin 6: End E è l'estremità di abilitazione. Quando l'estremità E cambia da livello alto a livello basso, il modulo LCD esegue i comandi.

Pin da 7 a 14: da D0 a D7 sono cavi dati bidirezionali a 8 bit.

Piede 15: polo positivo della sorgente luminosa posteriore.

Piede 16: polo negativo della sorgente di retroilluminazione.

10.8.2.31602 Comando LCD Descrizione in sequenza temporale

Il controller dell'LCD 1602 dispone di 11 comandi di controllo, come mostrato nella Tabella 10-14:

Il numero di serie

istruzione

RS

R/W

D7

D6

D5

D4

D3

D2

D1

D0

1

Visualizzazione chiara

0

0

0

0

0

0

0

0

0

1

2

Il cursore ritorna

0

0

0

0

0

0

0

0

1

*

3

Imposta la modalità di immissione

0

0

0

0

0

0

0

1

ID

S

4

Visualizza il controllo on/off

0

0

0

0

0

0

1

D

C

B

5

Spostamento del cursore o del carattere

0

0

0

0

0

1

S/C

R/L

*

*

6

Imposta la funzione

0

0

0

0

1

DL

N

F

*

*

7

Imposta l'indirizzo della memoria delle occorrenze dei caratteri

0

0

0

1

Indirizzo della memoria di occorrenza dei caratteri

8

Impostare l'indirizzo della memoria dati

0

0

1

Visualizza l'indirizzo della memoria dati

9

Leggi il segno o l'indirizzo di occupato

0

1

BF

Indirizzo dello sportello

10

Scrivi numeri su CGRAM o DDRAM)

1

0

Il contenuto dei dati da scrivere

11

Leggi da CGRAM o DDRAM

1

1

Il contenuto dei dati della lettura

Tabella 10-14: Tabella dei comandi di controllo

Le operazioni di lettura e scrittura del modulo LCD 1602, le operazioni sullo schermo e sull'etichetta ottica vengono eseguite tramite la programmazione delle istruzioni. (Nota: 1 è il livello alto, 0 è il livello basso)

Istruzione 1: Cancella display, codice comando 01H, cursore ripristinato alla posizione dell'indirizzo 00H.

Istruzione 2: Reset del cursore, il cursore ritorna all'indirizzo 00H.

Comando 3: cursore e modalità di visualizzazione Impostazioni I/D: direzione del movimento del cursore, spostamento a destra di alto livello, spostamento a sinistra di basso livello S: se tutto il testo sullo schermo si sposta a sinistra oa destra. Un livello alto è valido, un livello basso non è valido.

Istruzione 4: Visualizza il controllo dell'interruttore. D: controlla l'accensione e lo spegnimento del display generale. Il livello alto indica il display; il livello basso indica il display spento. C: controlla l'accensione e lo spegnimento del cursore. Il livello alto indica il cursore; il livello basso indica nessun cursore.

Comando 5: Sposta cursore o display S/C: Sposta il testo visualizzato ad alte tensioni e sposta il cursore a basse tensioni.

Comando 6: Comando di impostazione delle funzioni DL: bus a 4 bit in alta tensione, bus a 8 bit in bassa tensione N: display a riga singola in bassa tensione, display a doppia riga in alta tensione F: caratteri a matrice di punti 5x7 a bassa tensione, Caratteri a matrice di punti 5x10 ad alta tensione.

Istruzione 7: Impostazione dell'indirizzo RAM del generatore di caratteri.

Istruzione 8: impostazione dell'indirizzo DDRAM.

Comando 9: Lettura del segnale di occupato e dell'indirizzo del cursore BF: indica il bit flag di occupato. Il livello alto indica occupato. In questo momento, il modulo non può ricevere comandi o dati.

Istruzione 10: Scrivi dati.

Istruzione 11: Leggi i dati.

La tabella dei tempi dei chip compatibili con HD44780 è la seguente:

Leggi lo stato

L'ingresso

RS=L, R/B=A, E=A

L'output

D0 - D7 = parola di stato

Istruzioni scritte

L'ingresso

RS=L, R/W=L, D0 -- D7= codice istruzione, E= impulso alto

L'output

Non c'è

Leggi i dati

L'ingresso

RS=H, R/W=H, E=H

L'output

D0 - D7 = dati

Scrivi i dati

L'ingresso

RS=H, R/W=L, D0 -- D7= dati, E= impulso alto

L'output

Non c'è

Tabella 10-15: Elenco di sequenza delle operazioni di base

Le Figure 10-55 e 10-56 mostrano i tempi delle operazioni di lettura e scrittura.

Figura 10-55 Sequenza temporale dell'operazione di lettura

Figura 10-56 Sequenza temporale delle operazioni di scrittura

10.8.2.41602 Mappatura indirizzi RAM LCD e tabella caratteri standard

Il modulo LCD è un dispositivo di visualizzazione lenta, quindi prima di eseguire ogni istruzione è necessario confermare che il flag di occupato del modulo è basso, indicando che il modulo non è occupato, altrimenti l'istruzione non sarà valida. Per visualizzare i caratteri, immettere prima l'indirizzo del carattere di visualizzazione, ovvero per indicare al modulo dove visualizzare i caratteri. La Figura 10-57 è l'indirizzo di visualizzazione interno di 1602.

Figura 10-571602 Indirizzo interno visualizzato sul display LCD

Ad esempio, se l'indirizzo del primo carattere della seconda riga è 40H, è possibile posizionare il cursore nella posizione del primo carattere della seconda riga scrivendo direttamente 40H? Questo non funzionerà, perché il bit più alto D7 deve essere costante al livello 1 alto quando si scrive l'indirizzo del display, quindi i dati effettivi scritti dovrebbero essere 01000000B (40H) +10000000B(80H)=11000000B(C0H).

Nell'inizializzazione del modulo LCD, è necessario impostare prima la modalità di visualizzazione. Quando il modulo LCD visualizza i caratteri, il cursore si sposta automaticamente a destra senza alcun intervento manuale. Prima di ogni comando di ingresso per determinare se il modulo LCD è nello stato occupato.

La memoria di generazione dei caratteri (CGROM) all'interno del modulo LCD 1602 ha memorizzato 160 diversi caratteri grafici a matrice di punti, come mostrato nella Figura 10-58. Questi caratteri sono: Ogni carattere ha un codice fisso, ad esempio, il codice della lettera inglese maiuscola "A" è 01000001B (41H). Quando il modulo visualizza il grafico dei caratteri a matrice di punti nell'indirizzo 41H, possiamo vedere la lettera "A".

Figura 10-58 Mappatura tra codici carattere e cifre

10.8.2.51602 Processo di inizializzazione (reset) LCD generale

Ritardo 15 ms

Scrivi il comando 38H (il segnale di occupato non viene rilevato)

Ritardo 5 ms

Scrivi il comando 38H (il segnale di occupato non viene rilevato)

Ritardo 5 ms

Scrivi il comando 38H (il segnale di occupato non viene rilevato)

In futuro, il segnale di occupato dovrebbe essere rilevato per ciascuna istruzione di scrittura e operazione di lettura/scrittura dei dati

Scrivi comando 38H: Impostazione modalità di visualizzazione

Scrivere l'istruzione 08H: il display è spento

Scrivi il comando 01H: Visualizza lo schermo libero

Scrivi l'istruzione 06H: Visualizza le impostazioni di spostamento del cursore

Scrivi l'istruzione 0CH: Display aperto e Impostazioni del cursore

10.8.31602 Esempio di progettazione hardware e software di LCD

Sul 1602LCD, la prima riga visualizza il nome del sito Web: www.hificat.com e la seconda riga il numero di telefono di contatto: 0571-85956028. L'interruttore del display deve essere impostato sullo stato di lavoro LCD prima dell'esperimento.

Figura 10-591602Diagramma dimostrativo LCD

10.8.3.1 Schema hardware

Il modulo LCD 1602 può essere collegato direttamente al microcomputer a chip singolo AT89C51, come mostrato nella Figura 10-60.

Figura 10-60 Diagramma schematico dell'hardware

10.8.3.2 Diagramma di flusso del programma

Figura 10-61 Processo software

10.8.3.3 Codice software

#includere

#includere

sbitr=P2^0;

sbitrw=P2^1;

sbitep=P2^2;

unsignedcharcodedis1[]={"www.hificat.com;

unsignedcharcodedis2[]={"0571-85956028;

voiddelay(unsignedcharms)

{

unsignedchari;

mentre (ms)

{

for(i=0; i<250; i++)

{

_nop_();

_nop_();

_nop_();

_nop_();

}

}

}

bitlcd_bz()

{

bitrisultato;

rs=0;

rw=1;

ep=1;

_nop_();

_nop_();

_nop_();

_nop_();

risultato=(bit)(P0&0x80);

e