HD44780U
Explicar enable, rs y rw
Explicar IR y DR
Explicar BF
Explicar AC
Explicar DDRAM y CGRAM
Explicar CGROM
Imagen instrucciones
Explicar instrucciones(añadiendo la instruccion se ejecuta cuando hay un flanco de bajada de enable)
Faltaria saber como se leen los datos
Pines
Pines de instrucciónes
Estos pines son los que sirven para ejecutar instrucciones. Como se ve en la tabla de inferior, dependiendo del valor de estos pines se selecionaran unas instrucciones a ejecutar u otras
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 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, R/W = 0, o de lectura, R/W = 1
Pin Enable
Es el encargado de iniciar las instrucciones de lectura/escritura. Para cada instrucción que queramos hacer tenemos que seguir este procedimiento:
Con los pines RS/RW seleccionamos que tipo de instrucción enviaremos --> 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 DB 0 (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
Instruction Register(IR)
Data Register (DR)
Busy Flag (BF)
Address Counter (AC)
DDRAM y CGRAM
CGROM
Instrucciones
Instrucciones referentes a IR
Clear Display
Return Home
Entry Mode Set
Display On/Off Control
Cursor or Display Shift
Function Set
Set CGRAM Address
Set DDRAM Address
Read Busy Flag and Address (instruccion de lectura)
Instrucciones referentes a DR
Write Data to CGRAM or DDRAM
Read Data from CGRAM or DDRAM (instrucción de lectura)
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 traem implementada Arduino. A mi me ha servido de mucho mirar el código fuente para aprender el funcionamiento del lcd