ejercicios 06 subrutinas con lcd
DESCRIPTION
Transformación de millas a metrosTRANSCRIPT
SISTEMAS MICROPROCESADOS: Subrutinas para Displays de Cristal Líquido Página 1
Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
EJERCICIO DE UTILIZACIÓN DE SUBRUTINAS PARA DISPLAYS DE CRISTAL LÍQUIDO (LCD)
ENUNCIADO DEL EJERCICIO:
Adecuar el programa de la transformación de millas a metros para mostrar el resultado
en un LCD de 80 caracteres, que tiene el formato de 4 líneas con 20 caracteres cada una.
El valor de las millas también debe ser ingresado mediante un teclado telefónico.
FUNCIONAMIENTO DE LOS DISPLAYS DE CRISTAL LÍQUIDO
Los LCD tienen en su estructura un controlador con los demás circuitos que permiten
mostrar en matrices de puntos: caracteres alfanuméricos, símbolos de puntuación y
caracteres japoneses; pudiendo el usuario crear hasta 8 símbolos propios.
SISTEMAS MICROPROCESADOS: Subrutinas para Displays de Cristal Líquido Página 2
Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
La transferencia de la información desde un sistema microprocesado hacia la RAM de
Datos del LCD (DDRAM), que tiene una capacidad de 80 bytes, se realiza utilizando
buses de 8 bits o de 4 bits, que define el usuario al inicio del funcionamiento.
Por la capacidad de almacenamiento que tiene la DDRAM se pueden transferir al
controlador los códigos de hasta 80 caracteres, pero en el LCD se muestran solo los que
permite el formato:
• 16 caracteres en una línea (formato de 16x1)
• 32 caracteres en dos líneas (formato de 16x2)
• 64 caracteres en cuatro líneas (formato de 16x4)
• 40 caracteres en dos líneas (formato de 20x2)
• 80 caracteres en cuatro líneas (formato de 20x4)
• 80 caracteres en dos líneas (formato de 40x2)
SISTEMAS MICROPROCESADOS:
Ing. Jaime E. Velarde – Departamento de de Información
Las direcciones de la DDRAM
varían de acuerdo al formato:
Los terminales de conexión del LCD, incluyendo los
luz posterior o backlight, son
SISTEMAS MICROPROCESADOS: Subrutinas para Displays de Cristal LíquidoPágina 3
Departamento de Electrónica, Telecomunicaciones y Redes
e la DDRAM que utiliza para almacenar los códigos
de acuerdo al formato:
Para displays de una línea
Para displays de dos líneas
Para displays de cuatro líneas
Los terminales de conexión del LCD, incluyendo los dos que posee para
on:
Bus de
Datos
Polarización
Líneas de
Control
Backlight
Contraste
Subrutinas para Displays de Cristal Líquido
Electrónica, Telecomunicaciones y Redes
lmacenar los códigos son de 7 bits y
para alimentar a la
Bus de
Datos
Polarización
Líneas de
Control
Backlight
Contraste
Para el Bus
de 4 Bits
SISTEMAS MICROPROCESADOS: Subrutinas para Displays de Cristal Líquido Página 4
Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
Los Comando o Instrucciones para controlar al LCD son:
Al conectar el LCD a un microcontrolador ATmega164P se puede realizar en las dos
alternativas:
• Con bus de 8 bits donde se necesitan 11 líneas, por ejemplo las 8 líneas del
Pórtico C para el bus y 3 líneas del Pórtico D para control.
• Mientras que, con un bus de 4 bits solo se necesitan 7 líneas; se puede utilizar el
Pórtico C tanto para el bus como para control, quedando una línea libre.
SISTEMAS MICROPROCESADOS: Subrutinas para Displays de Cristal Líquido Página 5
Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
Para la escritura de un comando en el LCD y la correspondiente confirmación con un
bus de 8 bits, la secuencia de las señales de control y del bus es:
En cambio, con un bus de 4 bits es:
Para la escritura de un dato en el LCD la secuencias de las señales solo cambia RS = 0;
pero la confirmación sigue igual, porque son comandos de lectura de la Bandera de
Ocupado (BUSY FLAG).
Bus de 4 Bus de 8
SISTEMAS MICROPROCESADOS: Subrutinas para Displays de Cristal Líquido Página 6
Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
Secuencia de comandos para que el funcionamiento del LCD sea con bus de 8 bits.
Secuencia de comandos para que el funcionamiento del LCD sea con bus de 4 bits.
SISTEMAS MICROPROCESADOS: Subrutinas para Displays de Cristal Líquido Página 7
Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
ANÁLISIS DE LA SOLUCIÓN:
El uso del LCD permite a los microcontroladores presentar los resultados de forma más
amigable al usuario, ya no son solamente dígitos los que se pueden mostrar, sino que se
pueden ver: letras, signos de puntuación, algunas letras griegas y hasta símbolos
definidos por el usuario. Además libera al microcontrolador de realizar el refresco como
lo hace cuando se utilizan displays de LEDs de 7 segmentos. Con estas premisas el
programa debe contemplar las siguientes tareas:
• Inicialización del LCD para trabajar con bus de 8 bits.
• Escribir en el LCD el texto de un mensaje informativo que especifique lo que
realiza el programa, incluyendo espacios donde se muestre el dato de entrada y
el resultado.
• Ingreso de hasta tres dígitos para el dato de entrada mediante el teclado, en el
espacio de la pantalla que se reservó.
• Calcular el resultado a base del dato ingresado.
• Escribir el resultado, en el espacio de la pantalla que se reservó.
• Esperar por cualquier tecla, que permite regresar a la etapa donde se escribe todo
el texto en la pantalla.
Las ventajas al usar LCD, son mejor aprovechadas si se desarrolla la solución mediante
un programa principal y subrutinas; en especial las necesarias para manejar el display y
el teclado que se acoplan al microcontrolador. Estas últimas se codifican dentro un
archivo secundario que se incluye al final del programa principal y que se denomina
“SUB8B80CH.ASM”; de tal forma de poder utilizarlas en la solución de otros
problemas.
SISTEMAS MICROPROCESADOS: Subrutinas para Displays de Cristal Líquido Página 8
Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
SUBRUTINAS PARA EL LCD DE 80 CARACTERES CON UN BUS DE 8 BITS
ETIQUETA DESCRIPCIÓN
LCDRST Configura el funcionamiento del LCD para que trabaje con un bus de 8
bits y muestre el curso que se desplaza hacia la derecha
WRTCMD Escribe un comando contenido en el registro AUX1
ONCUR Enciende el cursor
OFFCUR Apaga el cursor
TITCHR Parpadea el caracter y no se muestra el cursor
TITCUR Parpadea el caracter y se muestra el cursor
POSCUR Mueve el cursor a la posición indicada en el registro AUX1
WRTDIG Escribe el dígito hexadecimal contenido en el registro AUX1, el cursor
avanza una posición
WRTBYT Escribe los dígitos hexadecimales contenidos en el registro AUX1, el
cursor avanza dos posiciones
WRTCHR Escribe un caracter contenido en el registro AUX1, el cursor avanza una
posición
WRTLIN Escribe en una línea 20 caracteres contenidos en la tabla apuntada por el
Puntero Z, el cursor queda al inicio de la siguiente línea
WRTMSJ Escribe las cuatro líneas con los 80 caracteres contenidos en la tabla
apuntada por el Puntero Z, el cursor queda al inicio del display
WRTNUM Escribe el número hexadecimal, de hasta 10 dígitos, contenido en
BUFFER a partir de la posición indicada por el valor del registro AUX1.
Sin mostrar los ceros de la izquierda
INPUT Ingreso de un número decimal de hasta 10 dígitos que se muestran desde
la posición asignada en el registro AUX1 y el número máximo de dígitos
se establece en el registro AUX2. La tecla asignada como S_CLR borra
el último dígito ingresado y la tecla S_IGUAL termina la subrutina. Los
dígitos ingresados se encuentran en las localidades superiores del
BUFFER
TECLAS Decodificación de un teclado de 4x4 teclas, existen dos posibilidades de
asignación de las teclas mediante TBLKB
UNSEG Deja pasar un segundo antes de continuar