ESEN offre un'ampia gamma di moduli LCD a caratteri standard per le applicazioni dei clienti. È possibile ottenere la visualizzazione con il numero minimo di pin di controllo, rendendo più facile la selezione dell'MCU.
I moduli LCD a caratteri comuni sul mercato aggiungono una scheda di trasferimento per supportare l'interfaccia I2C, come mostra la figura 1, che porta all'aumento dello spessore dell'LCM, a più processi di produzione e al tasso di rendimento inferiore.
![]() |
![]() |
Figura 1: Il modulo LCD a caratteri comune sul mercato che aggiunge una scheda di trasferimento per supportare I2C. | Figura 2: Modulo a cristalli liquidi a caratteri 1602 di ESEN. Supporta le interfacce I2C e SPI e non richiede una scheda di trasmissione aggiuntiva. |
Non è necessario aggiungere una scheda relè. Basta collegare la scheda di sviluppo Arduino Uno e puoi controllare direttamente il modulo LCD a caratteri utilizzando diverse interfacce di comunicazione.
Pin No. | Simbolo | Descrizione |
---|---|---|
No.1 | Vss | Massa |
No.2 | Vdd | Alimentazione per la logica |
No.3 | V0 | Regolazione del contrasto |
No.4 | RS | Selezione comando/dati |
No.5 | RW | Segnale di selezione lettura/scrittura solo per l'interfaccia 6800 8/4bit |
No.6 | E | Abilita segnale solo per l'interfaccia 6800 8/4bit |
No.7 | DB0/SA0 | Linea bus dati 0 solo per interfaccia 6800 8bit Linea di impostazione dell'indirizzo SA0 per l'interfaccia I2C |
No.8 | DB1/SA1 | Linea bus dati 1 solo per interfaccia 6800 8bit Linea di impostazione dell'indirizzo SA1 per l'interfaccia I2C |
No.9 | DB2 | Linea bus dati 2 solo per interfaccia 6800 8bit |
No.10 | DB3 | Linea bus dati 3 solo per interfaccia 6800 8bit |
No.11 | DB4 | Linea bus dati 4 solo per interfaccia 6800 8/4bit |
No.12 | DB5/CSB/CSB | Linea bus dati 5 solo per interfaccia 6800 8/4bit Linee di selezione di abilitazione CSB per interfaccia I2C e SPI |
No.13 | DB6/SDA/SCLK | Linea bus dati 6 solo per interfaccia 6800 8/4bit Linea dati SDA per interfaccia I2C Temporizzazione SCLK per interfaccia SPI |
No.14 | DB7/SCL/SID | Linea bus dati 7 solo per interfaccia 6800 8/4bit Linea di temporizzazione SCL per interfaccia I2C Linea dati SID per interfaccia SPI |
No.15 | A+ | Alimentazione per B/L + |
No.16 | K- | Alimentazione per B/L - |
Per quanto riguarda V0 nella tabella sopra, viene utilizzata una resistenza variabile da 20k Ohm per regolare il contrasto dei caratteri. Se il testo è invisibile o continua a visualizzare l'immagine di sfondo durante il test, ruotare questa resistenza variabile per regolare il contrasto.
Il metodo di connessione della resistenza variabile V0 come mostrato nella Figura 3:
![]() |
Figura 3:Metodo di connessione della resistenza variabile V0 |
I metodi di connessione delle quattro interfacce di comunicazione LCM (I2C, SPI, 6800 8bit/4bit) ad Arduino Uno come mostrato nella Figura 4. Gli utenti possono osservare che le interfacce I2C e SPI necessitano solo di un piccolo numero di pin GPIO per controllare i moduli LCD a caratteri.
Per l'interfaccia I2C, poiché Arduino Uno fornisce le resistenze pull-up all'interno dei pin I2C, non ci sono resistenze pull-up aggiuntive collegate ai pin SDA e SCL. Se la resistenza pull-up interna è disabilitata nel programma, è necessario collegare una resistenza pull-up esterna.
(a)Connessione interfaccia I2C |
(b) Connessione interfaccia SPI |
![]() |
![]() |
(c)Connessione interfaccia 6800-4bit |
(d)Connessione interfaccia 6800-8bit |
![]() |
![]() |
Figura 4:Metodi di connessione di 4 interfacce di comunicazione LCM ad Arduino Uno. |
Non tutte le interfacce di comunicazione possono utilizzare l'intero set di comandi di LCM; con l'interfaccia SPI, non esiste una linea di controllo RW e pin MISO, quindi il comando di lettura non è supportato. Per la scrittura, tramite la linea di controllo RS per determinare se scrivere dati di comando o dati di visualizzazione.
Nell'interfaccia I2C, non esiste nemmeno una linea di controllo RW, quindi non c'è supporto per i comandi di lettura. Prima di scrivere dati di comando o dati di visualizzazione, è necessario inviare il codice di controllo del comando (A0=0) o il codice di controllo dei dati (A0=1) per determinare se il byte successivo da inviare è un dato di comando o un dato di visualizzazione.
Due diagrammi di temporizzazione sono mostrati nella Figura 5 e nella Figura 6. È il diagramma di temporizzazione del controllo dell'LCM tramite l'interfaccia SPI. Gli utenti possono osservare che l'LCM utilizza un SPI che non è la tipica interfaccia SPI fornita da un tipico MCU, richiede una linea di segnale RS aggiuntiva per determinare se il byte corrente inviato è un comando? o dati? I dati in bit (BIT7~BIT0) della linea dati (SID) cambiano quando la linea di clock (SCLK) è a livello basso. I dati in bit (BIT7~BIT0) vengono acquisiti quando la linea di clock (SCLK) è a livello alto (BIT7~BIT0).
![]() |
Figura 5:Temporizzazione del comando di scrittura SPI |
![]() |
Figura 6:Temporizzazione dei dati di scrittura SPI |
Le figure 7 e 8 mostrano il diagramma di temporizzazione del controllo dell'LCM tramite l'interfaccia I2C. Ad eccezione della barra di selezione del chip (CSB), i lettori possono osservare che il controllo dell'interfaccia I2C consiste nell'inviare tre byte ogni volta per scrivere un dato di comando o un dato di visualizzazione. Tra questi, il bit A0 del secondo byte determinerà se il terzo byte è un dato di comando o un dato di visualizzazione.
![]() |
Figura 7:Temporizzazione I2C della scrittura dei comandi |
![]() |
Figura 8:Temporizzazione I2C della scrittura dei dati |
L'LCM può essere compilato e utilizzato direttamente modificando le impostazioni del programma.
Passaggio 1: impostare il numero massimo di caratteri in una singola riga di LCM.
Ad esempio, quanto segue imposta una singola riga per avere un massimo di 16 caratteri.
Passaggio 2: impostare il numero massimo di righe nell'LCM.
Ad esempio, quanto segue imposta l'LCM per avere 2 righe.
Passaggio 3: impostare l'interfaccia LCM.
Ad esempio, quanto segue imposta l'interfaccia I2C.
Passaggio 4: compilare e caricare il programma sulla scheda di sviluppo Arduino Uno.
La Figura 9 mostra uno schema delle schermate di tre LCM.
Quando il contrasto del display è chiaro o scuro, la resistenza variabile sul pin V0 può essere regolata a un contrasto appropriato, come mostrato nella Figura 10.
(a) Contrasto chiaro È possibile vedere solo caratteri chiari. | (b) Contrasto appropriato | (c) Contrasto scuro Ogni carattere ha un'ombra evidente. |
---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Figura 9:uno schema delle schermate di tre LCM |
Figura 10:il pin V0 è regolabile
Se hai bisogno di un codice demo completo, per favore contattaci.
Persona di contatto: Mr. james
Telefono: 13924613564
Fax: 86-0755-3693-4482