Documentos de Académico
Documentos de Profesional
Documentos de Cultura
19 Display LCD Z80 PDF
19 Display LCD Z80 PDF
MICROPROCESADORES
Módulo
Módulo LCD
LCD HD44780
HD44780 de
de Hitachi
Hitachi
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
Módulo
Módulo LCD
LCD HD44780
HD44780 de
de Hitachi
Hitachi
E
R/W Manejador
Manejador
LCD
RS Del
DelLCD
DisplayLCD
LCD
Controlador
Controlador
D0-D7
del
delLCD
Display
D0-D7
LCD
VDD HD44780
HD44780
Vo Manejador
Manejador
Del
DelLCD
LCD
Vss
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
Líneas
Líneas de
de Control
Control
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
Interfases
Interfases con un µprocesador
con un µprocesador
• Primero se transfieren los 4 bits más altos (DB4 a DB7) y después los 4
bits más bajos (de DB0 a DB3).
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
Bus
Busdededatos
datos
Circuito de contraste
Vcc
Interfase de 8 bits
DB0-DB7
Puerto 1 Pin 3
Módulo LCD de 2X16 Pin 3 Potenciómetro
de 10KΩ
CPU
CPU P2.0
RS
E R/ W
P2.1
P2.2
Por
Porsisise
sedesea
desealeer
leerlalabandera
banderaBF
BF
CIRCUITO DE
INTERFASE
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
Bus
Busdededatos
datos
Circuito de contraste
Vcc
P1.0 DB4
P1.1 DB5 Potenciómetro
DB6 Módulo LCD de 2X16 Pin 3
P1.2 de 10KΩ
P1.3 DB7
CPU
CPU P3.0
RS E R/ W
P3.1
P3.2
Por
Porsisise
sedesea
desealeer
leerlalabandera
banderaBF
BF
CIRCUITO DE
INTERFASE
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
RS R/W E Operación
E
0 0 Escritura de código de operación
D0-D7 DATO
0 1 Lectura de bandera de ocupado (BF)
1 0 Escritura de de dato
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
RS
R/W
Dato de 8 bits
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
$27
$40
$41
$67
Mapa de memoria de la DDRAM y sus posiciones Ejemplo de display de 16 caracteres por 2 líneas
en el display virtual
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
VISUALIZACIÓN EN EL DISPLAY
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
PROGRAMACIÓN DEL MÓDULO LCD CON UN
µPROCESADOR
¾ Por lo tanto el
procesador tiene que esperar al
menos 10ms antes de poder escribir datos al LCD
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
¾ CLEAR DISPLAY
¾ HOME
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
Establece la direcció
dirección de movimiento del cursor y especifica si la
visualizació
visualización se va desplazando a la siguiente posició
posición de la pantalla
o no. Estas operaciones se ejecutan durante la lectura o escritura
escritura de la
DDRAM o CGRAM. Para visualizar normalmente poner el bit S a “0”.
Código:
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 0 1 I/D S
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
Código:
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 1 D C B
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
Código:
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 1 S/C R/L x x
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
¾ FUNCTION SET
Establece el tamañ
tamaño de interfase con el bus de datos (DL), nú
número de
líneas del display (N) y tipo de cará
carácter (F).
Código:
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 1 DL N F x x
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
Establece la direcció
dirección de la memoria de datos DDRAM a partir de la
cual se almacenan los datos a visualizar.
visualizar
Código:
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 1 Dirección de memoria de datos DDRAM
Código:
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 1 BF Dirección
1 DLde DDRAM
N oFCGRAMx x
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
PASOS PARA LA INICIALIZACIÓN DEL LCD EN MODO 8 BITS
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
PASOS PARA LA INICIALIZACIÓN DEL LCD EN MODO 4 BITS
– Aplicar VCC
– Esperar 15 ms
– Modo de 8 bits
– Esperar 4.1 ms
– Modo de 8 bits
– Esperar 100 ms
– Modo de 8 bits
– Esperar 4.1ms
– Modo 4 bits, una o dos líneas y la fuente que se
desee
– Esperar 40 ms
– Apagar pantalla, quitar cursor
– Esperar 40 ms
– Encender pantalla y configurar cursor
– Esperar 40 ms
– Configurar desplazamiento de pantalla/cursor
– Esperar 40 ms.
– En este momento, la inicialización ha sido
completada.
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
INICIALIZACIÓN
INICIALIZACIÓNPOR
PORINSTRUCCIÓN
INSTRUCCIÓN
POWER ON
RS R/W DB7 DB6 DB5 DB4
espera más 0 0 0 0 1 0
de 15 ms
espera más RS R/W DB7 DB6 DB5 DB4
de 40 µs
RS R/W DB7 DB6 DB5 DB4 0 0 0 0 0 0
0 0 0 0 1 1 0 0 0 0 0 1
RS R/W DB7 DB6 DB5 DB4
espera más 0 0 0 0 1 0
de 4.1 ms espera más
0 0 N F * *
de 40 µs
espera más
RS R/W DB7 DB6 DB5 DB4
de 40 µs
0 0 0 0 1 1 RS R/W DB7 DB6 DB5 DB4
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
D0-D7
RS E R/ W
Pto_B.0
Pto_B.1
RS
R/ W
D0-D7 DATO
Carlos Canto Q.
Microprocesadores
PPI
8255
14 1
BUS A0 PA.7
BUSDE
DE PA.6
DIRECCIONES
DIRECCIONES A1 Vss
PA.5
PA.4
PA.3 V0
PA.2
RESET RESET
PA.1
PA.0 Vdd
E
IOWR WR PC.7 +5v
IOWR PC.6
R/W
RD RS
IORD
IORD PC.5
CS
DECODIFICADOR
DECODIFICADOR
DE
DEPUERTOS
PUERTOS
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
Power
Power on
on Diagrama
Diagrama de
de flujo
flujo del
del programa
programa principal
principal
Espera
Espera
15
15ms
ms
Descripción del programa:
Inicializa
ElElobjetivo
objetivodel
delprograma
programaes, es, que
quealaloprimir
oprimir
Inicializa PPI
PPI
una tecla del teclado matricial, se despliegue
una tecla del teclado matricial, se despliegue
en
enelelLCD
LCDelel mensaje
mensaje dede3232caracteres
caracteres
configurar
configurar
LCD
correspondiente a la tecla oprimida
correspondiente a la tecla oprimida
LCD
Leer
Leer
Teclado
Teclado
Leer
Leercaracter
caracter de
de
Mensaje
Mensajede
de
memoria no
memoria
Fin
Fin de
de si
Línea
Línea 11 Pasa_linea2
Pasa_linea2
Desplegar
Desplegar =?
=?
caracter
caracter
no
Fin
Fin de
de si
mensaje
mensaje
=?
=?
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
DIAGRAMA DE FLUJO DEL PROGRAMA PARA INICIALIZAR Y USAR EL
MÓDULO LCD HD44780
Power on
Func_set: Clear_LCD:
CARGA_LCD
CARGA_LCD
Seelección de la borra el display y pone
ESPERA
ESPERA 40
40 us
us interfase de 8 ó 4 bits, cursor en posición 0
número de líneas y
RsÅ0
RsÅ0 ESPERA
ESPERA 40
40 us
us tamaño de los fonts
Inst ÅFunc_set
Inst ÅFunc_set Inst ÅCrs/dsp_shift
Inst ÅCrs/dsp_shift Control_dsp: Crs/dsp_shift:
Prende ó apaga el Mueve el cursor y desplaza
CARGA_LCD
CARGA_LCD CARGA_LCD
CARGA_LCD display y/o cursor, el display sin cambiar la
pone parpadeo o no DDRAM
ESPERA
ESPERA 40
40 us
us ESPERA
ESPERA 40
40 us
us
Inst ÅClear_LCD
Inst ÅClear_LCD LeeTeclado
LeeTeclado
no
CARGA_LCD Fin
Fin de
CARGA_LCD
Lee_caracter
Lee_caracter
de si
Línea
Línea 11 Pasa_linea2
Pasa_linea2
ESPERA =?
=?
ESPERA 1.64
1.64 ms
ms
RsÅ1
RsÅ1 no
Fin
Fin de
de si
Inst ÅControl_dsp
Inst ÅControl_dsp CARGA_LCD
CARGA_LCD mensaje
mensaje
=?
=?
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
LOCALIZACIÓN DE LOS MENSAJES EN LA MEMORIA EPROM
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
Distribución de los mensajes en la memoria EPROM
Mensaje 15
Mensaje 15
Mensaje 14
500+D0H
Mensaje 14
Mensaje
Mensaje1313
Para obtener la dirección donde empieza
Mensaje un mensaje, se hace lo siguiente:
Mensaje1212
Mensaje 11 Si el valor de la tecla oprimida es
Mensaje 11
Mensaje 10 menor que 8, ( el mensaje está en el
Mensaje 10
Mensaje primer segmento de mensajes)
Mensaje9 9
Mensaje entonces , se multiplica su valor por
HLÅ500
HLÅ500 Mensaje8 8 500+00h
Mensaje 7 20 y se le suma 400h que es el valor
Mensaje 7 400+D0h de HL para esa región. Por ejemplo,
Mensaje 6
Mensaje 6
Mensaje si se oprime la tecla 3 la parte baja
Mensaje5 5
Mensaje 4 de la dirección del mensaje será:
Mensaje 4
Mensaje 3 3x20H=60h por lo tanto la dirección
Mensaje 3 de inicio del mensaje 3 será
Mensaje
Mensaje2 2 400+40h
Mensaje 1 =400h+60h=460h.
Mensaje 1 400+20h
Mensaje
Mensaje0 0 400+00h
HLÅ400
HLÅ400 Si el valor de la tecla es igual o
mayor a 8, se le resta 8 y se
multiplica por 20h y se le suma 500h,
que es el valor asignado HL para esa
región.
programa
programa 0000
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
Subrutina LEE_MSG :lee y despliega los mensajes en el LCD
LEE_MSG
LEE_MSG
LEE_MSG: BIT 3,A
NO
tecla
tecla>=>=8?8? JP Z, MUL_32 ; ¿ es la tecla oprimida >= 8?
SUB A,8
tecla INC H
teclaÅtecla-8
Åtecla-8
ESPERA
ESPERA LD C,1 ;retardo de 40us aprox.
CALL ESPERA
BÅb-1
BÅb-1
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
Subrutina LEE_MSG :lee y despliega los mensajes en el LCD
LEE_MSG
LEE_MSG
HHÅ04H
Å04H AAÅÅ(HL)
(HL)
NO Rs Å 1
tecla Rs Å 1
tecla>=>=8?8?
CARGA_LCD
CARGA_LCD
tecla Åtecla-8
tecla Åtecla-8
ESPERA
ESPERA LLÅÅL+1
L+1 PASA_LINEA2
H ÅH+1 PASA_LINEA2
H ÅH+1
BÅb-1
BÅb-1 NO
L Åtecla*20h
L Åtecla*20h SI
B=0 NO B=0Fh
B=0 B=0Fh
BÅ20H ?? ??
BÅ20H
SI
RET
RET
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
Selección Se hace
SelecciónRs
Rs
RS = 0 para seleccionar IR SUBRUTINA CARGA_LCD
RS=1 para DR
EnableÅ
EnableÅ11 Se pone en alto la terminal E
(Enable) CARGA_LCD: LD A,D
OUT (81H),A
Se escribe en el registro LD A,E
LCDÅ
LCDÅinst/dato
inst/dato OUT (80H),A
selccionado una
instrucción o un dato LD A,D
(carácter ASCII) RES 1,A
EnableÅ OUT (81H),A
EnableÅ00 Se manda E a bajo para RET
escribir al registro
Ret
Ret
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
Rutina generadora de retardos
(ESPERA)
Cont1: conteo necesario para obtener un retardo
ESPERA
ESPERA aproximado de 40 us
Cont1=0
Cont1=0 NOTA: se supone un reloj de 2 Mhz, T=0.5 us
??
PROGRAMA FUENTE
Cont2 Åcont2-1
Cont2Å cont2-1
ESPERA: LD B,07
AQUÍ: DJNZ AQUÍ
Cont2=0
Cont2=0 DEC C
?? JP NZ , ESPERA
RET
Ret
Ret
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
INICIALIZAR
INICIALIZAR EL
EL LCD
LCD
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
Limpiar
Limpiar LCD
LCD
Clear Display:
Borra todo el display, sitúa el cursor en
su posición inicial y pone el "modo
entrada" en incrementar. Para
conseguir esto, debe escribirse en IR la
palabra 0000 0001.
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
Modo
Modo de
de Espera
Espera leyendo
leyendo la
la bandera
bandera BF
BF
Carlos Canto Q.
DISPLAY LCD
MICROPROCESADORES
Asignació
Asignación de terminales para un mó
módulo LCD de 2X16 caracteres
1
2
3
4
5
6
7
Asignación de pines
8 en distribución vertical
9
10
11
12
13
14
Carlos Canto Q.