PANTALLA LCD
PRESENTACIÓN
DESCRIPCIÓN DE LA PANTALLA LCDFUNCIONAMIENTOINSTRUCCIONESPROGRAMACIÓN DE CARACTERES ESPECIALESJUEGO DE CARACTERESINICIALIZACIÓN
DESCRIPCIÓN
La pantalla de cristal liquido o LCD (Liquid Crystal Display) es un dispositivo Controlado
de visualización gráfica para la presentación de caracteres,
símbolos o incluso dibujos (en algunos modelos), es el caso de las pantallas de LCD más
comunes:
Uno de los modelos más comunes y comerciales es el
display LCD AND491GST
Dispone de 2 filas de 16 caracteres cada una y cada
carácter dispone de una matriz de 5x7 puntos (pixels), aunque los
hay de otro número de filas y caracteres. Este dispositivo está gobernado internamente por un
microcontrolador Hitachi 44780 y regula todos los parámetros de
presentación, este modelo es el mas comúnmente usado y esta
información se basará en el manejo de éste u otro LCD compatible.
Características principales:Pantalla de caracteres ASCII, además de los caracteres Kanji y Griegos.Desplazamiento de los caracteres hacia la izquierda o la derecha.Proporciona la dirección de la posición absoluta o relativa del caracter.Memoria de 40 caracteres por línea de pantalla.Movimiento del cursor y cambio de su aspecto.Permite que el usuario pueda programar 8 caracteres.-Conexión a un procesador usando una interfaz de 4 u 8 bits
FUNCIONAMIENTO
Para comunicarse con la pantalla LCD podemos hacerlo por medio de sus
terminales de entrada de dos maneras posibles, con bus de 4 bits o con bus de 8 bits, este último es más común. En la siguiente figura vemos las dos maneras posibles de conectar
el LCD con un pic16F84.
Conexionado con bus de 4 bits
Conexionado con bus de 8 bits
Como puede apreciarse, el control de contraste se realiza al dividir la
alimentación de 5V con una resistencia variable de 10K. Y se
alcanza el máximo contraste cuando el voltaje en esta terminal tiende a
ser O Volts.Las líneas de datos son triestado, esto
indica que cuando el LCD no está habilitado, sus entradas y salidas
pasan a alta impedancia
Pin No. Símbolo Descripción
1 Vss Tierra de alimentación GND
2 Vdd Alimentación de +5V CC
3 Vo Tensión negativa para el contraste de la pantalla
4 Rs
Selección del registro de control/registro de datos: RS=0 Selección registro de
control (instrucción)RS=1 Selección registro de
datos
5 R/WSeñal de lectura/escritura: R/W=0 Escritura (Write) R/W=1 Lectura (Read)
6 EHabilitación del modulo:
E=0 Módulo desconectadoE=1 Módulo conectado
7-14 D0-D7 Bus de datos bidireccional.
INSTRUCCIONES
LIMPIAR PANTALLA (CLEAR DISPLAY)Borra el módulo LCD, es decir, coloca un
espacio (20H) en todas las direcciones de la DD-RAM (Display Data RAM), provocando que todo mensaje escrito desaparezca y el cursor
regresa a la primera posición de la primer línea (en caso de tener mas de una). Pone el bit I/D a
1 por defecto.
Tiempo de ejecución: 1.64mS
RS R/W DB7
DB6 DB5 DB4 DB3 DB2 DB1
DB0
0 0 0 0 0 0 0 0 0 1
RETORNO (HOME) Coloca el cursor en la posición de inicio
(dirección 0) y hace que el display comience a desplazarse desde la posición original. El contenido de la memoria RAM
de datos de visualización (DD RAM) permanece invariable. La dirección de la
memoria RAM de datos para la visualización (DD RAM) es puesta a 0.
Tiempo de ejecución: 1.64mS
RS R/W DB7
DB6 DB5 DB4 DB3 DB2 DB1
DB0
0 0 0 0 0 0 0 0 1 X
SELECCIÓN DEL MODO DE OPERACIÓN (ENTRY MODE SET)
Establece la dirección de movimiento del cursor, es decir, si I/D=1, incrementa la dirección de la DD-RAM en una unidad cada vez que es usada una instrucción de lectura o escritura; si I/D=0, la
dirección decrementa. Estas operaciones se ejecutan durante la lectura o escritura de la DD RAM o CG RAM. Cuando S=1 el mensaje se desliza hacia la izquierda (si I/D=1) o hacia la derecha (si el bit
I/D=0). Para visualizar normalmente poner el bit S=0.
Tiempo de ejecución: 40µS
RS R/W DB7
DB6 DB5 DB4 DB3 DB2 DB1
DB0
0 0 0 0 0 0 0 1 I/D S
CONTROL DE ENCENDIDO DEL DISPLAY (DISPLAY ON/OFF CONTROL )
Activa o desactiva poniendo en ON /OFF tanto al display como al cursor y se establece si este último debe o no parpadear (B). Para activar o desactivar el
display, deberá colocarse el bit de activación en D. Para activar o desactivar el cursor, deberá colocarse el bit de activación en C. En caso de estar activado el cursor, el bit B sirve para configurar la aparición de éste: Cuando
B=1 el cursor alterna con el texto en el segmento en que se encuentra. Cuando B=0 el cursor se activa en
forma de un cubo negro (todos los pixeles activos) con intervalos regulares de 0.4 segundos, relegando al texto
que hubiese.
Tiempo de ejecución: 40µS
RS R/W DB7
DB6 DB5 DB4 DB3 DB2 DB1
DB0
0 0 0 0 0 0 1 D C B
DESPLAZAMIENTO DEL CURSOR RESPECTO AL MENSAJE
(CURSOR OR DISPLAY SHIFT)Mueve el cursor y desplaza el display sin
cambiar el contenido de la memoria de datos de visualización DD RAM. Esta función se emplea normalmente para modificar solo algún dato en
pantalla evitando la necesidad de limpiarla (borrarla) y escribir nuevamente todo su
contenido
Tiempo de ejecución: 40µS
RS R/W DB7
DB6 DB5 DB4 DB3 DB2 DB1
DB0
0 0 0 0 0 1 S/C R/L X X
S/C R/L Efecto
0 0 Desplaza el cursor hacia la izquierda (decrementa el contador
de direcciones una unidad)0 1 Desplaza el cursor hacia la derecha
(incrementa el contador de direcciones una unidad)
1 0 Desplaza el cursor junto con el mensaje hacia la izquierda
1 1 Desplaza el cursor junto con el mensaje hacia la derecha
CONFIGURACIÓN DEL MODO DE FUNCIONAMIENTO (FUNCTION SET )
Establece el número de bits de interconexión: los datos son transportados en 8 bits (DB7-DB0) cuando DL=1, y en 4 bits (DB7-DB4) cuando
DL=0, viéndose forzado el programador a crear una estrategia para enviar los datos en dos
operaciones (bits más significativos primero, luego bits menos significativos). N establece el número de líneas del display y F establece el
tipo de carácter.
Tiempo de ejecución: 40µS
RS R/W DB7
DB6 DB5 DB4 DB3 DB2 DB1
DB0
0 0 0 0 1 DL N F X X
N F No. De líneas
Tipo de matriz
Factor de
trabajo
Observaciones
0 0 1 7x5 (8x5)
1/8
0 1 1 10x5 1/11
1 X 2 7x5 (8x5)
1/11 Cuando la matriz es de 10x5 no es
posible usar dos lineas
DIRECCIONAMIENTO DE LA CG-RAM ( SET THE CG RAM ADDRESS)
El módulo LCD además de tener definidos todo el conjunto de caracteres ASCII, permite al usuario definir
4 u 8 caracteres gráficos. La composición de estos caracteres se va guardando en una memoria llamada CG RAM (Character Generator RAM) con capacidad para 64 bytes. Cada carácter gráfico definido por el usuario se
compone de 16 u 8 bytes que se almacenan en sucesivas posiciones de la CG RAM.
Mediante esta instrucción se establece la dirección de memoria CG RAM a partir de la cual se irán
almacenando los bytes que definen un carácter gráfico. Ejecutando este comando todos los datos que se lean o escriban posteriormente, lo hacen desde esta memoria
CG RAM.
Tiempo de ejecución: 40µS
RS R/W DB7
DB6 DB5 DB4 DB3 DB2 DB1
DB0
0 0 0 1 Dirección de la CG-RAM
DIRECCIONAMIENTO DE LA DD-RAM (SET THE DD RAM ADDRESS)
Los caracteres o datos que se van visualizando, se van almacenando en una memoria llamada DD RAM para de
aquí pasar a la pantalla. Mediante esta instrucción se establece la dirección de la memoria DD RAM a partir de
la cual se irán almacenando los datos a visualizar. Ejecutando este comando, todos los datos que se escriban o lean posteriormente lo harán desde esta memoria DD RAM. Las direcciones de la 80h a la 8Fh corresponden con los 16 caracteres del primer renglón y de la COh a la CFh con los
16 caracteres del segundo renglón, para este modelo de LCD.
Nota: Ya utilizando el display LCD, una forma de ir rápidamente al segundo renglón es limpiar el bit RS y
enviar un C0H para que la pantalla tome esa dirección.
Tiempo de ejecución: 40µS
RS R/W DB7
DB6 DB5 DB4 DB3 DB2 DB1
DB0
0 0 1 Dirección de la DD-RAM
LECTURA DIRECTA DEL BUSY FLAG (READ BUSY FLAG & ADDRESS)
Cuando el modulo LCD esta ejecutando cualquiera de estas instrucciones, tarda un cierto tiempo de ejecución en el que no se debe mandar ninguna instrucción. Para ello dispone de un flag llamado
BUSY (ocupado) que indica que se está ejecutando una instrucción previa. Cualquier instrucción
enviada por error no será leída, por lo que será nula. Esta instrucción de lectura informa del estado de
dicho flag además de proporcionar el valor del contador de direcciones de la CG RAM o de la DD
RAM según la última que se haya empleado.
Tiempo de ejecución: 40µS
RS R/W DB7
DB6 DB5 DB4 DB3 DB2 DB1
DB0
0 1 BF Dirección de la CG RAM o DD RAM
ESCRITURA DE DATOS EN LA CG-RAM O DD-RAM (WRITE DATA TO GG OR DD RAM)
Mediante este comando se escribe en la memoria DD RAM los datos que se quieren presentar en pantalla y
que serán los diferentes códigos ASCII de los caracteres a visualizar.
Igualmente se escribe en la memoria CG RAM los diferentes bytes que permiten confeccionar caracteres
gráficos a gusto del usuario.El escribir en uno u otro tipo de memoria depende de si
se ha empleado previamente la instrucción de direccionamiento DD RAM o la de direccionamiento CG
RAM. Posteriormente de la escritura la dirección es automáticamente incrementada o decrementada, según
el modo elegido anteriormente.
Tiempo de ejecución: 40µS
RS R/W DB7
DB6 DB5 DB4 DB3 DB2 DB1
DB0
1 0 Código ASCII o byte del carácter gráfico
LECTURA DE DATOS DE LA CG RAM O DD RAM (READ DATA FROM CG RAM OR DD
RAM) Mediante este comando se lee de la memoria DD
RAM los datos que haya almacenados y que serán los códigos ASCII de los caracteres almacenados. Igualmente se lee de la memoria CG RAM los
diferentes bytes con los que se ha confeccionado un determinado carácter gráfico. El leer de uno u otro
tipo de memoria depende de si se ha empleado previamente la instrucción de direccionamiento de la
DD RAM o la de direccionamiento CG RAM. Posteriormente de la lectura la dirección es
automáticamente incrementada o decrementada, según el modo elegido anteriormente.
Tiempo de ejecución: 40µS
RS R/W DB7
DB6 DB5 DB4 DB3 DB2 DB1
DB0
1 1 Código ASCII o byte del carácter gráfico
Abreviaturas empleadas en los códigos anteriores: S: 1 - Desplaza la visualización cada vez que se escribe un dato
0 - Modo normalI/D 1 - Incremento del cursor 0 - Decremento del cursorS/C 1 - Desplaza el display 0 - Mueve el cursorR/L 1 - Desplazamiento a la derecha 0 - Desplazamiento a la izquierdaBF 1 - Módulo ocupado 0 - Módulo disponibleDL 1 - Bus de datos de 8 bits 0 - Bus de datos de 4 bitsN 1 - LCD de dos líneas 0 - LCD de una líneaF 1 - Carácter de 5 x 10 puntos 0 - Carácter de 5 x 7 puntosB 1 - Parpadeo del cursor ON 0 - Parpadeo del cursor OFFC 1 - Cursor ON 0 - Cursor OFFD 1 - Display ON 0 - Display OFFX Indeterminado
PROGRAMACIÓN DE
CARACTERES ESPECIALES
Estos módulos permiten la programación de hasta ocho caracteres especiales en formato 7x5 (8x5) y hasta
cuatro caracteres especiales en formato (10x5). Una vez que estos caracteres estan programados en la CG-RAM,
pueden ser accedidos de la misma forma que si pertenecieran a la memoria original grabada durante la fabricación. Como la RAM empleada para almacenarlos
es volátil, es conveniente diseñar los programas de conexión de manera que luego de las instrucciones de
inicialización, sean escritos los caracteres especiales en la RAM para su uso posterior, mediante el llamado a
rutinas. El segmento de memoria destinado al almacenamiento de los caracteres especiales se ubica en
forma continua entre las direcciones 40H y 7FH en grupos de ocho direcciones. Como durante la
inicialización generalmente se programa al módulo para direccionamiento automático, ingresando una vez el
dato correspondiente a la dirección del primer carácter especial no es necesario repetir el direccionamiento en
los siguientes caracteres, de modo que los ocho caracteres especiales pueden ser grabados
secuencialmente sin la repetición de las instrucciones de direccionamiento.
En la tabla se muestran las direcciones de los caracteres
programables:Carácter programable
Ubicación en memoria
1º De 40H a 47H
2º De 48H a 4FH
3º De 50H a 57H
4º De 58H a 5FH
5º De 60H a 67H
6º De 68H a 6FH
7º De 70H a 77H
8º De 78H a 7FH
JUEGO DE CARACTERES
INICIALIZACIÓN
Cada vez que se conecta la alimentación al módulo debe ser ejecutado un procedimiento para iniciar el LCD, el cual consiste en
enviar al módulo un grupo inicial de cuatro instrucciones para configurar
el modo de operación para la ejecución de un programa
determinado: establecer las condiciones de uso, activar o
desactivar el display y borrar la pantalla.
Programa de inicialización para comunicación con 8 bits
Observación: Debe haber un retraso de tiempo aprox. de 15 ms entre cada
instrucciónCaracterísticas Secuencia de instrucciones
1 linea – matriz de 7x5 (8x5)
30h
30h
06h
0Eh
01h
1 linea – matriz de 10x5
34h
34h
06h
0Eh
01h
2 lineas – matriz de 7x5 (8x5)
38h
38h
06h
0Eh
01h
INICIO
DESDE QUE VDD ALCANZA MÁS DE 4.5 V, ESPERAR MÁS DE
15 mS
ESPERAR MÁS DE 4.1 S
ESPERAR MÁS DE 100 S
FIN DE LA INICIALIZACIÓN
DIAGRAMA DE FLUJO PARA LA INICIALIZACIÓN:
Por último, es importante mencionar que después de la inicialización se puede ejecutar cualquier tipo de instrucción de las antes vistas.
SALIR
Top Related