MEC Laboratorio 3ro “A, B”
Centro de Capacitación Técnica de Luque
Laboratorio de Electrónica
Práctica Nº
MANEJO DE PANTALLA DE CRISTAL LIQUIDO (LCD).
Total de puntos: 8
OBJETIVOS:
Manejar un display de 16x2 caracteres.
Utilizar dicho display para la impresión de mensajes alfanuméricos.
EQUIPOS Y MATERIALES NECESARIOS
1 Entrenador básico de PIC.
2 Display de 16x2 caracteres.
PROCEDIMIENTO (4p)
a) La secuencia a implementarse será:
Al activar SW2 se deberá imprimir el mensaje:
“HOLA” (primera línea)
“CCTL” (segunda línea)
Observación: se adjunta diagrama de conexión para lcd 16x2, así como también las funciones
principales en lenguaje ensamblador para el manejo del mismo.
CCTL
MEC Laboratorio 3ro “A, B”
FUNCION DE INICIALIZACION Y RUTINAS DE LCD
#DEFINE RS PORTC,2 ;puertos utilizados en control de display
#DEFINE EN PORTC,1
#DEFINE D4 PORTA,0
#DEFINE D5 PORTA,1
#DEFINE D6 PORTA,2
#DEFINE D7 PORTA,3
CALL INI_LCD ;rutina de inicialización de lcd
INI_LCD:
MOVLW 03H
MOVWF PORTA
CALL STROBE
CALL DELAYP1
MOVLW 02H
MOVWF PORTA
CALL STROBE
MOVLW 02H
MOVWF PORTA
CALL STROBE
MOVLW 08H
MOVWF PORTA
CALL STROBE
MOVLW 0H
MOVWF PORTA
CALL STROBE
MOVLW 0CH
MOVWF PORTA
CALL STROBE
MOVLW 0H
MOVWF PORTA
CALL STROBE
MOVLW 6H
MOVWF PORTA
CALL CLOCK
CALL STROBE
CALL DELAYP1
CALL CLRDISP
CALL DELAYP1
CALL CURUP
RETURN
CALL MENS1
MENS1:
CALL CLRDISP
CALL DELAYP1
CALL HH
CALL DELAYP1
CALL OO
CALL DELAYP1
CALL LL
CALL DELAYP1
CALL AA
CALL DELAYP1
CCTL
MEC Laboratorio 3ro “A, B”
CALL CURDOWN
CALL DELAYP1
CALL CC
CALL DELAYP1
CALL CC
CALL DELAYP1
CALL TT
CALL DELAYP1
CALL LL
CALL DELAYP1
BCF EN
BCF RS
RETURN
HH BSF RS
BCF EN
MOVLW 4H
MOVWF PORTA
CALL CLOCK
MOVLW 8H
MOVWF PORTA
CALL CLOCK
RETURN
OO BSF RS
BCF EN
MOVLW 4H
MOVWF PORTA
CALL CLOCK
MOVLW 0FH
MOVWF PORTA
CALL CLOCK
RETURN
LL BSF RS
BCF EN
MOVLW 4H
MOVWF PORTA
CALL CLOCK
MOVLW 0CH
MOVWF PORTA
CALL CLOCK
RETURN
AA BSF RS
BCF EN
MOVLW 4H
MOVWF PORTA
CALL CLOCK
MOVLW 1H
MOVWF PORTA
CALL CLOCK
RETURN
CC BSF RS
BCF EN
MOVLW 4H
CCTL
MEC Laboratorio 3ro “A, B”
MOVWF PORTA
CALL CLOCK
MOVLW 3H
MOVWF PORTA
CALL CLOCK
RETURN
TT BSF RS
BCF EN
MOVLW 5H
MOVWF PORTA
CALL CLOCK
MOVLW 4H
MOVWF PORTA
CALL CLOCK
RETURN
LL BSF RS
BCF EN
MOVLW 4H
MOVWF PORTA
CALL CLOCK
MOVLW 0CH
MOVWF PORTA
CALL CLOCK
RETURN
CURUP CLRF PORTC
MOVLW 08H ;cursor arriba, izquierda
MOVWF PORTA
CALL CLOCK
MOVLW 00H
MOVWF PORTA
CALL CLOCK
RETURN
CURDOWN CLRF PORTC
MOVLW 0CH ;cursor abajo, izquierda
MOVWF PORTA
CALL CLOCK
MOVLW 00H
MOVWF PORTA
CALL CLOCK
RETURN
CLRDISP CLRF PORTC;borrar display
MOVLW 00H
MOVWF PORTA
CALL CLOCK
MOVLW 01H
MOVWF PORTA
CALL CLOCK
CALL DELAYP1
RETURN
CLOCK BSF EN ;RETARDO ENTRE NIBBLES DE UN CARACTER
CALL RET125
CCTL
MEC Laboratorio 3ro “A, B”
BCF EN
CALL RET125
RETURN
RET125 MOVLW D'31'
MOVWF CONT1
ACA NOP
DECFSZ CONT1,1
GOTO ACA
RETURN
STROBE BSF EN ;HABILITA Y DESABILITA DISPLAY DURANTE INICIO DE LCD
NOP
NOP
BCF EN
RETURN
DELAYP1 MOVLW D'100' ;DELAY DE 100ms
MOVWF CONT2
ACA1 MOVLW D'250'
MOVWF CONT1
ACA2 NOP
DECFSZ CONT1,1
GOTO ACA2
DECFSZ CONT2,1
GOTO ACA1
RETURN
TAREA INDIVIDUAL (para el informe):
Redactar una descripción del software implementado, acompañado de un diagrama de flujo, así
como también el circuito implementado, también una breve descripción de los inconvenientes
encontrados a la hora de su implementación. (4 puntos)
CCTL
MEC Laboratorio 3ro “A, B”
DESCRIPCIÓN DEL SOFTWARE
Esta práctica consistía en hacer funcionar una pantalla LCD 2x16 . tuvimos que
hacer que imprimir en la pantalla ‘HOLA CCTL’.
Para inicializar la pantalla se necesita hacer una subrutina, de acuerdo a la hoja
de especificaciones del fabricante.
Se define las conexiones en RS, EN, D4, D5, D6 y D7 para los puertos C2, C1,
A0, A1, A2 y A3 respectivamente. Utilizando un bus de 4 bits.
Seguidamente se realiza la respectiva inicialización de display. Este
proceso lleva dentro otras subrutinas ( STROBE, DELAYP1, CLRDISP,
CLOCK, CURUP)
Luego del inicio se envían los caracteres que se deben imprimir, a través de los
puertos conectados al LCD. Los caracteres que queremos se exportan
mediante la codificación ASCII, ya sean en binario, hexadecimal o decimal.
El software termina en bucle sin fin, una vez impresos los caracteres.
INCONVENIENTES
Ningún inconveniente durante la practica
CCTL
MEC Laboratorio 3ro “A, B”
DIAGRAMA DE FLUJO
CCTL
MEC Laboratorio 3ro “A, B”
Código
ORG 0000
GOTO INICIO
INICIO MOVLW 0FH
MOVWF ADCON1
MOVLW 07H
MOVWF CMCON
MOVLW B'00000000'
MOVWF TRISA
MOVLW B'00000000'
MOVWF TRISB
MOVLW B'00000000'
MOVWF TRISC
CLRF PORTC
CLRF PORTA
CLRF PORTB
#DEFINE RS PORTC,2 ;puertos utilizados en control de display
#DEFINE EN PORTC,1
#DEFINE D4 PORTA,0
#DEFINE D5 PORTA,1
#DEFINE D6 PORTA,2
#DEFINE D7 PORTA,3
CALL INI_LCD ;rutina de inicialización de lcd
GOTO REDMI
INI_LCD
MOVLW 03H
MOVWF PORTA
CALL STROBE
CALL DELAYP1
CCTL
MEC Laboratorio 3ro “A, B”
MOVLW 02H
MOVWF PORTA
CALL STROBE
MOVLW 02H
MOVWF PORTA
CALL STROBE
MOVLW 08H
MOVWF PORTA
CALL STROBE
MOVLW 0H
MOVWF PORTA
CALL STROBE
MOVLW 0CH
MOVWF PORTA
CALL STROBE
MOVLW 0H
MOVWF PORTA
CALL STROBE
MOVLW 6H
MOVWF PORTA
CALL CLOCK
CALL STROBE
CALL DELAYP1
CALL CLRDISP
CALL DELAYP1
CALL CURUP
RETURN
REDMI
CALL MENS1
GOTO REDMI1
MENS1
CALL CLRDISP
CALL DELAYP1
CALL HH
CALL DELAYP1
CALL OO
CALL DELAYP1
CALL LL
CALL DELAYP1
CALL AA
CALL DELAYP1
CALL CURDOWN
CALL DELAYP1
CALL CC
CALL DELAYP1
CALL CC
CALL DELAYP1
CALL TT
CALL DELAYP1
CALL L1
CALL DELAYP1
BCF EN
BCF RS
RETURN
REDMI1
CCTL
MEC Laboratorio 3ro “A, B”
FIN NOP
GOTO FIN
HH BSF RS
BCF EN
MOVLW 4H
MOVWF PORTA
CALL CLOCK
MOVLW 8H
MOVWF PORTA
CALL CLOCK
RETURN
OO BSF RS
BCF EN
MOVLW 4H
MOVWF PORTA
CALL CLOCK
MOVLW 0FH
MOVWF PORTA
CALL CLOCK
RETURN
LL BSF RS
BCF EN
MOVLW 4H
MOVWF PORTA
CALL CLOCK
MOVLW 0CH
MOVWF PORTA
CALL CLOCK
RETURN
AA BSF RS
BCF EN
MOVLW 4H
MOVWF PORTA
CALL CLOCK
MOVLW 1H
MOVWF PORTA
CALL CLOCK
RETURN
CC BSF RS
BCF EN
MOVLW 4H
MOVWF PORTA
CALL CLOCK
MOVLW 3H
MOVWF PORTA
CALL CLOCK
RETURN
TT BSF RS
BCF EN
CCTL
MEC Laboratorio 3ro “A, B”
MOVLW 5H
MOVWF PORTA
CALL CLOCK
MOVLW 4H
MOVWF PORTA
CALL CLOCK
RETURN
L1 BSF RS
BCF EN
MOVLW 4H
MOVWF PORTA
CALL CLOCK
MOVLW 0CH
MOVWF PORTA
CALL CLOCK
RETURN
CURUP CLRF PORTC
MOVLW 08H ;cursor arriba, izquierda
MOVWF PORTA
CALL CLOCK
MOVLW 00H
MOVWF PORTA
CALL CLOCK
RETURN
CURDOWN CLRF PORTC
MOVLW 0CH ;cursor abajo, izquierda
MOVWF PORTA
CALL CLOCK
MOVLW 00H
MOVWF PORTA
CALL CLOCK
RETURN
CLRDISP CLRF PORTC;borrar display
MOVLW 00H
MOVWF PORTA
CALL CLOCK
MOVLW 01H
MOVWF PORTA
CALL CLOCK
CALL DELAYP1
RETURN
CLOCKBSF EN ;RETARDO ENTRE NIBBLES
CALL RET125
BCF EN
CALL RET125
RETURN
RET125 MOVLW D'40'
MOVWF CONT1
ACA NOP
DECFSZ CONT1,1
GOTO ACA
CCTL
MEC Laboratorio 3ro “A, B”
RETURN
STROBE BSF EN ;HABILITA Y DESABILITA DISPLAY
NOP
BCF EN
RETURN
DELAYP1 MOVLW D'150' ;DELAY DE 100ms
MOVWF CONT2
ACA1 MOVLW D'250'
MOVWF CONT1
ACA2 NOP
DECFSZ CONT1,1
GOTO ACA2
DECFSZ CONT2,1
GOTO ACA1
RETURN
END
CCTL