0% encontró este documento útil (0 votos)
16 vistas17 páginas

Funcionamiento de un Display LCD HD44780

Un display alfanumérico de matriz de punto es un dispositivo LCD que muestra caracteres y es controlado por un microcontrolador, comúnmente el Hitachi HD44780. Este dispositivo tiene diferentes formatos y se conecta a través de 14 o 16 pines, donde cada pin tiene una función específica. Además, incluye memorias para almacenar caracteres y comandos que permiten la manipulación de la pantalla y el cursor.

Cargado por

Edson Aguirre
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
16 vistas17 páginas

Funcionamiento de un Display LCD HD44780

Un display alfanumérico de matriz de punto es un dispositivo LCD que muestra caracteres y es controlado por un microcontrolador, comúnmente el Hitachi HD44780. Este dispositivo tiene diferentes formatos y se conecta a través de 14 o 16 pines, donde cada pin tiene una función específica. Además, incluye memorias para almacenar caracteres y comandos que permiten la manipulación de la pantalla y el cursor.

Cargado por

Edson Aguirre
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

Display LCD alfanumérico

Un display alfanumérico de matriz de punto es un dispositivo


de interfaz humana formado por una pantalla de cristal liquido
o LCD (Liquid Crystal Display).

Sobre la que se puede mostrar mensajes formados por distintos


caracteres: letras, números, símbolos, o Caracteres
especiales.

Se encuentran en distintos formatos, por ejemplo, 2x8, 2x16,


4x16, 4x20, etc
Estos dispositivos vienen gobernado por un controlador
que normalmente va incorporado sobre la misma placa de
circuito.

El controlador se encarga de polarizar los Puntos que


generan el carácter, desplazar la pantalla y el cursor.

El usuario simplemente envía los datos y comandos que


permitan mostrar mensajes.

El controlador mas habitual es el Hitachi HD44780


Conexión de un LCD: El numero de pines de un LCD es de 14 (o de 16 si tiene
retroiluminación)

PIN LCD Simbolo Descripción


1 Vss Tierra GND
2 Sdd Alimentación Positiva (+5Vdc)
3 Vo Contraste
4 Rs Selección del registro de control/datos
RS=0 Seleccion registro de control
RS=1 Seleccion registro de datos

5 R/W Señal de lectura/escritura:


R/W=0 Escritura (Write)
R/W=1 Lentura (Read)

6 EN Habilitación del modulo


EN=0 habilitado
EN=1 deshabilitado

7-14 D0-D7 Bus de dato bidireccional


15 LED Anodo (+5Vdc)
16 LED Catodo (GND) (resistencia 330)
Un modulo LCD basado en el controlador HD44780 dispone de:
memorias interna, registro de control y de un contador de
dirección

DDRAM (Display Data Ram) : Es la memoria encargada de


almacenar los caracteres que se mostraran, tanto de la parte
visible (16 caracter) como de la parte virtual (no visible).
Generalmente tiene un tamaño de 40 byte por línea.

CGRAM (Character Genarador Ram): Almacena los caracteres


definidos por el usuario.

CGROM (Character Genarador Rom): es el área donde están


almacenados todo el juego de caracteres que puede mostrar la
LCD

AC (Address Counter) :Sirve para direccionar tanto la DDRAM


como La CGRAN.
Direcciones DDRAM para un LCD 16x2

Posicion del
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 … 40
display
Linea 1 80h 81h 82h 83h 84h 85h 86h 87 88h 89 8AH 8BH 8CH 8DH 8EH 8FH …

Linea 2 C0H C1h C2h C3h C4h C5h C6h C7h C8h C9h CAh CBh CCh CDh CEh CFh
Comandos de un modulo LCD basado en el controlador HD44780
Tiempo de
Control RS RW 7 6 5 4 3 2 1 0 ejecución
Clear Display 0 0 0 0 0 0 0 0 0 1 1.64ms
Cursor home 0 0 0 0 0 0 0 0 1 X 1.64ms
Entry mode set 0 0 0 0 0 0 0 1 I/D S 40us
Display on/off 0 0 0 0 0 0 1 D C B 40us
Cursor/Display 0 0 0 0 0 1 S/C R/L X X 40us
Funtion set 0 0 0 0 1 DL N F X X 40us
DDRAM 0 0 1

Clear Display: Borra el módulo LCD y coloca el cursor


en la primera posición (dirección 80h).

Cursor home: Coloca el cursor en la posición de inicio


(dirección 80h)
Comandos de un modulo LCD basado en el controlador HD44780
Tiempo de
Control RS RW 7 6 5 4 3 2 1 0 ejecución
Clear Display 0 0 0 0 0 0 0 0 0 1 1.64ms
Cursor home 0 0 0 0 0 0 0 0 1 X 1.64ms
Entry mode set 0 0 0 0 0 0 0 1 I/D S 40us
Display on/off 0 0 0 0 0 0 1 D C B 40us
Cursor/Display 0 0 0 0 0 1 S/C R/L X X 40us
Funtion set 0 0 0 0 1 DL N F X X 40us
DDRAM 0 0 1

Funtion Set: Establece el tamaño de interfase con el bus


de datos (DL), número de líneas del display (N) y tipo de
carácter (F)

DL=0 Interfaz 4 bit DL=1 interfaz 8 bit


N=0 1 linea N=1 2 linea
F=0 5x8 punto F=1 5x10 punto
Comandos de un modulo LCD basado en el controlador HD44780
Tiempo de
Control RS RW 7 6 5 4 3 2 1 0 ejecución
Clear Display 0 0 0 0 0 0 0 0 0 1 1.64ms
Cursor home 0 0 0 0 0 0 0 0 1 X 1.64ms
Entry mode set 0 0 0 0 0 0 0 1 I/D S 40us
Display on/off 0 0 0 0 0 0 1 D C B 40us
Cursor/Display 0 0 0 0 0 1 S/C R/L X X 40us
Funtion set 0 0 0 0 1 DL N F X X 40us
DDRAM 0 0 1

Display on/off Enciende o apaga el display (D), Cursor


encendido / apagado (C), destello del cursor (blink) (B).

D=0 Display Apagado D=1 Display encendido


C=0 Cursor Apagado C=1 Cursor encendido
B=0 Cursor parpadeo Apagado B=0 Cursor parpadeo encendido
Comandos de un modulo LCD basado en el controlador HD44780
Tiempo de
Control RS RW 7 6 5 4 3 2 1 0 ejecución
Clear Display 0 0 0 0 0 0 0 0 0 1 1.64ms
Cursor home 0 0 0 0 0 0 0 0 1 X 1.64ms
Entry mode set 0 0 0 0 0 0 0 1 I/D S 40us
Display on/off 0 0 0 0 0 0 1 D C B 40us
Cursor/Display 0 0 0 0 0 1 S/C R/L X X 40us
Funtion set 0 0 0 0 1 DL N F X X 40us
DDRAM 0 0 1

Entry mode set: Incrementar/Decrementar dirección (I/D);


Habilitar corrimiento de pantalla (S)

I/D =0 Disminuye dirección I/D=1 Incrementa dirección


S=0 sin corrimiento de pantalla S=1 con corrimiento de
pantalla
Comandos de un modulo LCD basado en el controlador HD44780
Tiempo de
Control RS RW 7 6 5 4 3 2 1 0 ejecución
Clear Display 0 0 0 0 0 0 0 0 0 1 1.64ms
Cursor home 0 0 0 0 0 0 0 0 1 X 1.64ms
Entry mode set 0 0 0 0 0 0 0 1 I/D S 40us
Display on/off 0 0 0 0 0 0 1 D C B 40us
Cursor/Display 0 0 0 0 0 1 S/C R/L X X 40us
Funtion set 0 0 0 0 1 DL N F X X 40us
DDRAM 0 0 1

Cursor/display shift
Selecciona entre desplazamiento de pantalla o de cursor
(S/C), selecciona la dirección de desplazamiento (R/L).
El contenido de la DDRAM permanece intacto.

S/C=0 Mover cursor S/C=1 Mover pantalla


R/L=0 Mover izquierda R/L=1 mover derecha
Comandos de un modulo LCD basado en el controlador HD44780
Tiempo de
Control RS RW 7 6 5 4 3 2 1 0 ejecución
Clear Display 0 0 0 0 0 0 0 0 0 1 1.64ms
Cursor home 0 0 0 0 0 0 0 0 1 X 1.64ms
Entry mode set 0 0 0 0 0 0 0 1 I/D S 40us
Display on/off 0 0 0 0 0 0 1 D C B 40us
Cursor/Display 0 0 0 0 0 1 S/C R/L X X 40us
Funtion set 0 0 0 0 1 DL N F X X 40us
DDRAM 0 0 1

Set DDRAM address: Escribe la dirección de DDRAM

Linea 1 >> 80h


Linea 2 >> 0C0h
Inicializar un modulo LCD basado en el controlador HD44780

Control 7 6 5 4 3 2 1 0 HEX
Clear Display 0 0 0 0 0 0 0 1 01h
Cursor home 0 0 0 0 0 0 1 X=0 02h
Entry mode set 0 0 0 0 0 1 I/D=1 S=0 06h
Display on/off 0 0 0 0 1 D=1 C=0 B=0 0Ch
Cursor/Display 0 0 0 1 S/C=0 R/L=1 X=0 X=0 14h
Funtion set 0 0 1 DL=0 N=1 F=0 X=0 X=0 28h
;Rutina LCD con bus de dato de BSF EN
4bit CALL RETARDO_1MS
CBLOCK BCF EN
DATO_LCD CALL RETARDO_3MS
ENDC SWAPF DATO_LCD,F
#DEFINE RS PORTD,3 MOVLW B'00001111'
#DEFINE EN PORTD,2 ANDWF BD,F
#DEFINE BD PORTD MOVF DATO_LCD,W
ANDLW B'11110000'
LCD_CONTROL IORWF BD,F
BCF RS NOP
GOTO LCD_ENVIAR NOP
LCD_DATO BSF EN
BSF RS CALL RETARDO_1MS
LCD_ENVIAR BCF EN
MOVWF DATO_LCD CALL RETARDO_3MS
MOVLW B'00001111' RETURN
ANDWF BD,F
MOVF DATO_LCD,W
ANDLW B'11110000'
IORWF BD,F
NOP
NOP
CONFIGURAR_LCD CLEAR_DISPLAY
MOVLW 02H MOVLW 01H
CALL LCD_CONTROL CALL LCD_CONTROL
MOVLW 28H RETURN
CALL LCD_CONTROL
MOVLW 0CH LCD_LINEA_1
CALL LCD_CONTROL MOVLW 80H
MOVLW 06H CALL LCD_CONTROL
CALL LCD_CONTROL RETURN
MOVLW 14H
CALL LCD_CONTROL LCD_LINEA_2
MOVLW 01H MOVLW 0C0H
CALL LCD_CONTROL CALL LCD_CONTROL
RETURN RETURN

También podría gustarte