Documentos de Académico
Documentos de Profesional
Documentos de Cultura
sistemas mecatrónicos:
Microcontroladores
Profesor: Dr. René J. Díaz Martínez
E-mail: renejdm@tec.mx
Conferencia 5: Display de cristal líquido (LCD).
Sumario:
- Visualizadores.
- Display de cristal líquido. Características de un LCD estándar.
- Organización de su memoria interna.
- Funcionamiento del LCD.
- Interfaz de atención a un LCD empleando un PIC.
Bibliografía:
- García Breijo, E. Compilador C CCS y simulador Proteus para microcontroladores
PIC. 1ª edición, Alfaomega. Material fotorreproducido.
- Brizzio, Ezequiel. Lenguaje C para Microcontroladores.
- Programando PICs en C.
- Manual del PIC 16F887.
- Manual del LCD JHD 162-A.
- Visualizadores.
Los visualizadores son los dispositivos periféricos de salida más
utilizados en cualquier sistema electrónico que emplee
microprocesadores o microcontroladores, desde un sistema de
adquisición de datos y control hasta una potente
microcomputadora, pasando por equipos de medición inteligentes
usados en la medicina, las comunicaciones o aparatos
electrodomésticos. Sus formas son variadas pudiendo mencionarse:
1. LEDs y arreglos de LEDs.
2. Lámparas de segmentos
3. Pantallas o displays de cristal líquido (Liquid Cristal Display o LCD).
4. Paneles de plasma.
5. Tubos de rayos catódicos (TRC).
Con cualquiera de ellos se pueden visualizar resultados de
operaciones o tener la opción de intercambiar mensajes con
los sistemas electrónicos.
TFT-LCD de 320x240 pixeles
LCD estándar de 16x2 caracteres
- Display de cristal líquido.
Características de un LCD estándar.
Ajusta dirección de CG 0 0 0 1 Dirección generador de caracteres en Ajusta la dirección del generador de caracteres. El 40μs
ROM ROM dato CG ROM es enviado y recibido después de
este ajuste.
Ajusta dirección de DD 0 0 1 Dirección de datos RAM Ajusta la dirección de la DD RAM. La dirección es 40μs
RAM enviada y recibida después de este ajuste.
Lee bandera de ocupado 0 1 BF AC Lectura de la bandera de ocupado (BF) del LCD, 40μs
y contenido del contador indicando su estado, y del contenido del contador
de direcciones de direcciones.
Escribe en CG ROM/DD 1 0 Escritura de dato Escribe datos en la CG ROM o en la DD RAM. 40μs
RAM
Lectura de CG ROM/DD 1 1 Lectura de dato Lectura de datos de la CG ROM o de la DD RAM. 40μs
RAM
Significado de las abreviaturas:
I/D= 1 incrementa R/L= 1 desplazamiento a la der.
I/D= 0 decrementa R/L= 0 desplazamiento a la izq.
S= 1 desplaza mensaje en la pantalla DL= 1 datos de 8 bits
S= 0 mensaje fijo en la pantalla DL= 0 datos de 4 bits
D= 1 enciende (activa) la pantalla N= 1 dos renglones
D= 0 apaga (desactiva) la pantalla N= 0 un renglón
C= 1 activa el cursor F= 1 matriz del carácter de 10x5
C= 0 desactiva el cursor F= 0 matriz del carácter de 7x5
B=1 activa parpadeo del carácter BF: bandera de ocupado del LCD
indicado por el cursor AC: contador de direcciones
B= 0 inactiva parpadeo del carácter DD RAM: RAM de video del LCD
SC= 1 desplaza pantalla CG ROM: generador de caracteres
SC= 0 desplaza cursor en ROM del LCD
Para que el LCD funcione es necesario darle la secuencia de
inicialización; esta consiste en una serie de instrucciones
enviadas al display que permitirán su normal operación.
Dichas instrucciones solo se ejecutan luego del encendido
del LCD, y no podrán cambiarse posteriormente. Entre ellas
están:
1.Activar función del LCD que comprende:
a) Seleccionar la longitud del bus de datos (4 u 8 bits).
b) Escoger el número de renglones a visualizar en el LCD,
así como la matriz del carácter.
2. Encender el LCD.
Las siguientes instrucciones también podrán ser
colocadas en la inicialización, con la diferencia
que se pueden cambiar en cualquier parte del
programa:
RA2
RA1
- Interfaz de atención a un LCD empleando el PIC 16F887.
;Declaración de constantes
PORTB EQU 0X06 ;dirección del puerto B
TRISB EQU 0X06 ;registro de configuración del puerto B
PORTA EQU 0X05 ;dirección del puerto A
TRISA EQU 0X05 ;registro de configuración del puerto A
STATUS EQU 0X03 ;dirección del registro STATUS.
SCTRL_E EQU 2 ;bit 2 del puerto A para control de E
SCTRL_RW EQU 1 ;bit1 del puerto A para control de R/W*
SCTRL_RS EQU 0 ;bit 0 del puerto A para control de RS.
RETARDO1 EQU 0X0D ;constante del temporizador 1
RETARDO2 EQU 0X00 ;constante del temporizador 2
;Declaración de variables
ORG 0X0C ;inicio del espacio de memoria para la declaración de variables
CONT1 RES 1 ;reserva un byte para la variable CONT1
CONT2 RES 1 ;reserva un byte para la variable CONT2
ORG 0X00
;Programa principal BANKSEL TRISB
BSF STATUS,5 ;cambio al banco 1 BCF STATUS,6
MOVLW b’00000000’
MOVWF TRISA ;configuración del puerto A en salida
MOVLW b’00000000’
MOVWF TRISB ;configuración del puerto B en salida
BCF STATUS,5 ;cambio al banco 0
CALL LCDI
MOVLW b’00001110’ ;valor cargado en w que representa el comando de LCD para encender la pantalla y el
;cursor del LCD
CALL LCDI
MOVLW b’00000110’ ;valor cargado en w que representa el comando de LCD para que el cursor se desplace a
;la derecha
CALL LCDI
;Escritura de un mensaje en el LCD
MOVLW "H" ;coloca el carácter ASCII de la H en W
CALL LCDC
MOVLW "O" ;coloca el carácter ASCII de la O en W
CALL LCDC
MOVLW "L" ;coloca el carácter ASCII de la L en W
CALL LCDC
MOVLW "A" ;coloca el carácter ASCII de la A en W
CALL LCDC
CICLO GOTO CICLO
;Subrutina LCDI, escribe comando guardado en w en el LCD
LCDI BCF PORTA,SCTRL_RW ;coloca "0" en el pin R/W*
BCF PORTA,SCTRL_RS ;coloca "0" en el pin RS
BSF PORTA,SCTRL_E ;coloca "1" en el pin E
MOVWF PORTB ;coloca el contenido de "W" en el bus de datos del LCD
BCF PORTA,SCTRL_E ;coloca "0" en el pin E
CALL TEMPO1 ;llamada de una subrutina de tiempo de 40 μs
RETURN