¿Cuál es el punto de D0-D3 en LCD?

10

La biblioteca Arduino LiquidCrystal tiene 4 constructores con diferentes argumentos:

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)

Los siguientes comentarios se presentan para los argumentos del constructor:

[...] d0, d1, d2 y d3 son opcionales; si se omite, la pantalla LCD se controlará utilizando solo las cuatro líneas de datos (d4, d5, d6, d7).

¿De qué sirve d0-d3si no son necesarios? ¿Disminuirán el tiempo de respuesta?

Amigo de kim
fuente

Respuestas:

12

Ese tipo de LCD tiene dos modos principales de operación: modo de 4 bits que usa 4 pines de datos (d4-d7) y modo de 8 bits que usa los 8 pines de datos (d0-d7).

El modo de 4 bits tiene la ventaja de requerir menos pines de salida en su Arduino. Sin embargo, significa que su boceto debe enviar cada comando / personaje como dos lotes separados de 4 bits (uno después del otro). Esto es manejado automáticamente por la biblioteca LiquidCrystal, por lo que no necesitará ninguna complejidad adicional en su código. Sin embargo, significa que su boceto requiere aproximadamente el doble de ciclos de procesador para enviar cualquier cosa a la pantalla LCD.

Por el contrario, el modo de 8 bits envía cada comando / carácter como un único lote de 8 bits. Eso simplemente significa que técnicamente funciona un poco más rápido.

Dicho esto, una persona que mira la pantalla probablemente no verá una diferencia de velocidad significativa la mayor parte del tiempo, ya que todavía es muy rápida. El impacto principal será en el microcontrolador (el Arduino en este caso). Si puede usar el modo más rápido de 8 bits, puede dedicar un poco más de tiempo de procesamiento a otras cosas. Eso puede ser particularmente útil para aplicaciones críticas de tiempo.

Peter Bloomfield
fuente
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.Lo cual no suele ser un problema, ya que muchos módulos (especialmente los chinos baratos como los de eBay) tienden a tener bajas tasas de actualización, por lo que no puede actualizarlos demasiado rápido sin que se conviertan en un desorden borroso e ilegible de todos modos.
Synetech
3

La respuesta está en la misma página que la cita que mencionó (he resaltado la importante declaración):

Crea una variable de tipo LiquidCrystal. La pantalla se puede controlar con 4 u 8 líneas de datos . Si es lo primero, omita los números de pin de d0 a d3 y deje esas líneas desconectadas. El pin RW se puede atar a tierra en lugar de conectarse a un pin en el Arduino; si es así, omítalo de los parámetros de esta función.

Resulta que la pantalla LCD Hitachi HD44780 puede funcionar en modos de 4 u 8 bits.

jfpoilpret
fuente
1
Sí, dice que se puede controlar utilizando 4 y 8 líneas de datos. Pero, ¿de qué sirve usar 8 si solo necesita 4? Quiero decir, ¿no hay ninguna ventaja de usar 8 sobre 4? ¿Por qué desperdiciar 4 líneas de datos si no sirve?
Amigo de Kim
1
Usar el modo de 8 bits es un poco más rápido en el lado de Arduino y más simple (menos código). Pero en general, realmente no vale la pena, en comparación con el ahorro de 4 pines de salida.
jfpoilpret
@jfpoilpret Vale la pena si tiene cuatro pines de salida adicionales ...
Anonymous Penguin
@annon, ¿puedes ser más concreto sobre CÓMO vale la pena usar el modo de 8 pines? ¿Valores experimentales concretos?
jfpoilpret
1
@jfpoilpret Como se indicó en la respuesta de Peter , le da un poco más de tiempo de procesamiento al chip. Si tiene cuatro pines adicionales, continúe y agréguelo. Si requiere que sea mucho más grande / más caro, realmente no vale la pena.
Anonymous Penguin
1

La presencia de esos pines es un requisito de la técnica que tuvo que usarse para conectar la pantalla LCD a los microprocesadores que estaban disponibles cuando se desarrolló el chip controlador HD44780U.

Los microcontroladores de un solo chip, tal como los conocemos, todavía estaban en el futuro y la pantalla LCD tuvo que conectarse a los chips de microprocesador de 8 bits de la época utilizando las mismas técnicas que cualquier otro dispositivo de E / S o memoria de 8 bits que era un 8- poco bus.

floresta
fuente