HD44780U
Vista general de como funciona
Pines
Pines de instrucciones
Estos pines son los que sirven para ejecutar instrucciones.
Pin RS
El pin RS selecciona los registros (IR y DR):
- Cuando RS = 0 se ejecutan las instrucciones de IR
- Cuando RS = 1 se ejecutan las instrucciones de DR
Pin R/W
Este pin indica si la instrucción a ejecutar será de escritura o de lectura:
- R/W = 0 para escritura
- R/W = 1 para lectura
RS RW Operación 0 0 Modo de instrucciones (display clear, ...) 0 1 Se lee el Busy Flag (DB 7 ) y el Address Counter(DB0 to DB6) 1 0 DR escribe en DDRAM o CGRAM 1 1 DR lee de DDRAM o CGRAM
Pin Enable
Es el pin encargado de enviar las instrucciones del microcontrolador al lcd.
Para cada instrucción que queramos hacer tenemos que seguir este procedimiento:
Con los pines RS/RW dispuestos para el tipo de instrucción que queremos enviar Colocamos la instrucción (o datos) a transmitir en los pines de datos Ponemos en HIGH el pin Enable Ponemos en LOW el pin Enable (en el flanco de bajada es cuando los datos se transmiten)
digitalWrite(E, LOW); delayMicroseconds(1); digitalWrite(E, HIGH); delayMicroseconds(1); digitalWrite(E, LOW); delayMicroseconds(100);
Pines de datos
Los pines de datos son los que van del DB7 al DB0 (teniendo en cuenta que estamos utilizando una conexión de 8bit).
En estos pines es donde colocamos los datos a transmitir. Por ejemplo, si queremos transmitir la instrucción Display Clear (que es 0000001), en cada pin pondremos el valor correspondiente a la instrucción.
Registros
Adress Counter (AC)
RAM
Instrucciones
Instrucciones referentes a IR
Instrucciones referentes a DR
Comunicación I2C
Hardware necesario
Código
Documentación
- Simulador LCD.- Es una página muy interesante porque te permite simular el funcionamiento del LCD sin tener que implementarlo. Va muy bien para ver como funciona el lcd
- Reading from HD44780-based LCDs.- Discusión de como se leen los datos
- Datasheet.- Datasheet del HD4478
- LiquidCrystal Library.- Libreria del lcd que trae implementada Arduino. A mi me ha servido de mucho mirar el código fuente para aprender el funcionamiento del lcd
- cursomicros.com.-Página muy interesante que explica el funcionamiento del lcd