ESEN offre una vasta gamma di moduli LCD a carattere standard per le applicazioni dei clienti.
I comuni moduli LCD a carattere sul mercato aggiungeranno una scheda di trasferimento per supportare l'interfaccia I2C come mostra la figura 1, che porta all'aumento dello spessore LCM,più processi nella produzione e il tasso di rendimento inferiore.
| Figura 1:Il modulo LCD di carattere comune sul mercato che aggiunge una scheda di trasferimento per supportare I2C. | Figura 2: 1602 caratteri modulo a cristallo liquido di ESEN. Supporta le interfacce I2C e SPI e non richiede una scheda di trasmissione aggiuntiva. |
Non c'è bisogno di aggiungere una scheda relé. Basta collegare la scheda di sviluppo Arduino Uno, e si può controllare direttamente il modulo LCD dei caratteri utilizzando diverse interfacce di comunicazione.
Identificare la definizione del pin del LCM
Tabella 1:LCM pin definire
| Numero PIN. | Il simbolo. | Descrizione |
|---|---|---|
| - No, no, no, no.1 | Vss | Terreno |
| - No, no, no, no.2 | Vdd | Fornitore di alimentazione per la logica |
| - No, no, no, no.3 | V0 | Adattamento del contrasto |
| - No, no, no, no.4 | RS | Selezione del comando/dati |
| - No, no, no, no.5 | RW | Segnale di lettura/scrittura selezionato solo per l'interfaccia 6800 8/4 bit |
| - No, no, no, no.6 | E | Abilitare il segnale solo per l'interfaccia 6800 8/4bit |
| - No, no, no, no.7 | DB0/SA0 | Linea del bus dati 0 solo per l'interfaccia a 8 bit 6800 Linea di impostazione dell'indirizzo SA0 per l'interfaccia I2C |
| - No, no, no, no.8 | DB1/SA1 | Linea di bus dati 1 per interfaccia a 8 bit 6800 Linea di impostazione dell'indirizzo SA1 per l'interfaccia I2C |
| - No, no, no, no.9 | DB2 | Linea del bus dati 2 solo per l'interfaccia a 8 bit 6800 |
| - No, no, no, no.10 | DB3 | Linea di bus dati 3 per interfaccia a 8 bit 6800 |
| - No, no, no, no.11 | DB4 | Linea di bus dati 4 per l'interfaccia 6800 8/4bit |
| - No, no, no, no.12 | DB5/CSB/CSB | Linea di bus dati 5 per l'interfaccia 6800 8/4 bit CSB abilitare le linee di selezione per l'interfaccia I2C e SPI |
| - No, no, no, no.13 | DB6/SDA/SCLK | Linea di bus dati 6 solo per l'interfaccia 6800 8/4bit Linea di dati SDA per l'interfaccia I2C Timing SCLK per SP Interface |
| - No, no, no, no.14 | DB7/SCL/SID | Linea di bus dati 7 per l'interfaccia 6800 8/4bit Linea di tempo SCL per l'interfaccia I2C Linea di dati SID per l'interfaccia SPI |
| - No, no, no, no.15 | A+ | Fornitura di alimentazione per B/L + |
| - No, no, no, no.16 | - Cosa? | Fornitura di corrente per B/L - |
Per quanto riguarda il V0 nella tabella precedente, per regolare il contrasto dei caratteri si utilizza una resistenza variabile da 20 k Ohm.per favore gira questa resistenza variabile per regolare il contrasto.
Il metodo di connessione della resistenza variabile V0 come indicato nella figura 3:
| Figura 3:Metodo di connessione della resistenza variabile V0 |
Come collegare LCM e scheda di sviluppo Arduino Uno
I metodi di connessione di quattro interfacce di comunicazione LCM (I2C, SPI, 6800 8bit/4bit) a Arduino Uno come mostrato nella figura 4.Gli utenti possono osservare che le interfacce I2C e SPI hanno bisogno solo di un piccolo numero di pin GPIO per controllare i moduli LCD Character.
Per l'interfaccia I2C, poiché Arduino Uno fornisce le resistenze di pull-up all'interno dei pin I2C, non ci sono altre resistenze di pull-up collegate ai pin SDA e SCL.Se la resistenza di trazione interna è disabilitata nel programma, deve essere collegata una resistenza di trazione esterna.
| (a)Connessione di interfaccia I2C | (b)Connessione di interfaccia SPI |
| (c)Connessione di interfaccia 6800-4bit | (d)Connessione di interfaccia 6800-8bit |
| Figura 4:Metodi di connessione di 4 interfacce di comunicazione LCM a Arduino Uno. | |
Comandi LCM
Non tutte le interfacce di comunicazione possono utilizzare l'intero set di comandi di LCM; con l'interfaccia SPI, non ci sono linee di controllo RW e pin MISO, quindi il comando di lettura non è supportato.attraverso la linea di controllo RS per determinare se scrivere dati di comando o visualizzare i dati.
Nell'interfaccia I2C, non c'è nemmeno una linea di controllo RW quindi non c'è supporto per i comandi di lettura.il codice di controllo dei comandi (A0=0) o il codice di controllo dei dati (A0=1) deve essere inviato per determinare se il prossimo byte da inviare è un dato di comando o un dato di visualizzazione.
Timing delle interfacce SPI e I2C
La figura 5 e la figura 6 mostrano due diagrammi di tempistica. Si tratta del diagramma di tempistica del controllo della LCM attraverso l'interfaccia SPI.Gli utenti possono osservare che il LCM utilizza un SPI che non è la tipica interfaccia SPI fornita da un tipico MCU, è necessaria un'ulteriore linea di segnale RS per determinare se l'attuale byte inviato è un comando o dati?I dati in bit (BIT7~BIT0) della linea di dati (SID) cambiano quando la linea di orologeria (SCLK) è a livello basso. I dati di bit (BIT7~BIT0) sono acquisiti quando la linea di clock (SCLK) è ad alto livello (BIT7~BIT0).
| Figura 5:Timing del comando di scrittura SPI |
| Figura 6:Tempismo di scrittura dei dati SPI |
Le figure 7 e 8 mostrano il diagramma di tempo di controllo del LCM attraverso l'interfaccia I2C.i lettori possono osservare che il controllo dell'interfaccia I2C è di inviare tre byte ogni volta per scrivere un comando dati o visualizzare i datiTra questi, il bit A0 del secondo byte determinerà se il terzo byte è dati di comando o dati di visualizzazione.
| Figura 7:I2C Timing dei comandi di scrittura |
| Figura 8:I2C Tempismo di scrittura dei dati |
Codice
Il LCM può essere compilato e utilizzato direttamente modificando le impostazioni del programma.
Fase 1: impostare il numero massimo di caratteri in una singola riga di LCM.
Ad esempio, la seguente impostazione prevede che una singola riga abbia un massimo di 16 caratteri.
![]()
Passo 2: impostare il numero massimo di righe nel LCM.
Ad esempio, il seguente imposta la LCM per avere 2 righe.
![]()
Passaggio 3: impostare l'interfaccia LCM.
Ad esempio, le seguenti interfacce I2C.
![]()
Passaggio 4: compilare e caricare il programma sulla scheda di sviluppo Arduino Uno.
La figura 9 mostra uno schema degli schermi di tre LCM.
Quando il contrasto di visualizzazione è chiaro o scuro, la resistenza variabile al pin V0 può essere regolata ad un contrasto appropriato, come mostrato nella figura 10.
| (a) Contrasto della luce Solo caratteri leggeri possono essere visti. | b) Contrasto adeguato | (c) Contrasto scuro Ogni personaggio ha un'ombra evidente. |
|---|---|---|
| Figura 9:un diagramma schematico degli schermi di tre LCM | ||
![]()
Figura 10:il pin V0 è regolabile
Se avete richiesta di codice demo completo, vi preghiamo di contattarci.
Persona di contatto: Mr. james
Telefono: 13924613564
Fax: 86-0755-3693-4482