Qual è il punto di D0-D3 su LCD?


10

La libreria Arduino LiquidCrystal ha 4 costruttori con diversi argomenti:

LiquidCrystal(rs, enable, d4, d5, d6, d7) 
LiquidCrystal(rs, rw, enable, d4, d5, d6, d7) 
LiquidCrystal(rs, enable, d0, d1, d2, d3, d4, d5, d6, d7) 
LiquidCrystal(rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7)

I seguenti commenti sono indicati per gli argomenti del costruttore:

[...] d0, d1, d2 e d3 sono opzionali; se omesso, il display LCD verrà controllato utilizzando solo le quattro linee dati (d4, d5, d6, d7).

Qual è il punto d0-d3se non sono necessari? Ridurranno i tempi di risposta?

Risposte:


12

Questo tipo di LCD ha due modalità operative principali: la modalità a 4 bit che utilizza 4 pin di dati (d4-d7) e la modalità a 8 bit che utilizza tutti e 8 i pin di dati (d0-d7).

La modalità a 4 bit ha il vantaggio di richiedere meno pin di uscita sul tuo Arduino. Tuttavia, significa che lo schizzo deve inviare ciascun comando / carattere come due lotti separati di 4 bit (uno dopo l'altro). Questo viene gestito automaticamente dalla libreria LiquidCrystal, quindi non avrai bisogno di ulteriore complessità nel tuo codice. Tuttavia, ciò significa che il tuo schizzo richiede circa il doppio del numero di cicli del processore per inviare qualsiasi cosa al display LCD.

Al contrario, la modalità a 8 bit invia ciascun comando / carattere come un singolo batch di 8 bit. Ciò significa semplicemente che tecnicamente funziona un po 'più veloce.

Detto questo, una persona che guarda il display probabilmente non vedrà una differenza di velocità significativa per la maggior parte del tempo, poiché continua comunque molto rapidamente. L'impatto principale sarà sul microcontrollore (in questo caso l'Arduino). Se può utilizzare la modalità a 8 bit più veloce, può dedicare un po 'più tempo di elaborazione ad altre cose. Ciò può essere particolarmente utile per applicazioni critiche in termini di tempi.


With that said, a person looking at the display probably won't see a significant speed difference most of the time, as it still goes very quickly.Il che di solito non è un problema poiché molti moduli (specialmente quelli cinesi a basso costo come quelli su eBay) tendono ad avere basse frequenze di aggiornamento, quindi non è possibile aggiornarli troppo velocemente senza che si trasformino comunque in un disordine sfocato e illeggibile.
Synetech,

3

La risposta è nella stessa pagina della citazione che hai citato (ho evidenziato la dichiarazione importante):

Crea una variabile di tipo LiquidCrystal. Il display può essere controllato utilizzando 4 o 8 righe di dati . Se il primo, omettere i numeri di pin da d0 a d3 e lasciare quelle linee scollegate. Il pin RW può essere collegato a terra anziché essere collegato a un pin su Arduino; in tal caso, ometterlo dai parametri di questa funzione.

Si scopre che il display LCD Hitachi HD44780 può funzionare in modalità a 4 o 8 bit.


1
Sì, dice che può essere controllato utilizzando sia 4 che 8 righe di dati. Ma che senso ha usare 8 se hai bisogno solo di 4? Voglio dire, non c'è alcun vantaggio nell'usare 8 su 4? Perché sprecare 4 righe di dati se non servono?
Amico di Kim,

1
L'uso della modalità 8 bit è un po 'più veloce sul lato Arduino e più semplice (meno codice). Ma in generale, non ne vale davvero la pena, rispetto al risparmio di 4 pin di uscita.
jfpoilpret,

@jfpoilpret vale la pena che sia se si dispone di quattro pin di uscita in più ...
Anonimo Penguin

@annon puoi essere più concreto su come vale la pena usare la modalità 8 pin? Valori concreti dell'esperimento?
jfpoilpret,

1
@jfpoilpret Come indicato nella risposta di Peter , dà un po 'più tempo di elaborazione al chip. Se hai quattro pin extra, vai avanti e aggiungilo. Se richiederebbe che sia molto più grande / più costoso, non ne vale davvero la pena.
Pinguino anonimo

1

La presenza di questi pin è un requisito della tecnica che doveva essere utilizzata per interfacciare l'LCD con i microprocessori che erano disponibili quando fu sviluppato il chip del controller HD44780U.

I microcontrollori a chip singolo come li conosciamo erano ancora in futuro e il display LCD doveva essere interfacciato ai chip a microprocessore a 8 bit dei tempi usando le stesse tecniche di qualsiasi altro I / O a 8 bit o dispositivo di memoria che era un 8- bit bus.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.