Experiencia No.3 Computadores – Mención Sistemas Computacionales

Anuncio
Experiencia No.3 Computadores – Mención Sistemas Computacionales
Título: Aplicación PIC 16F877A: acoplar un LCD
Objetivo: Usar los conocimientos adquiridos sobre el MCU 16F877A para construir una aplicación haciendo
uso de LCD.
Procedimiento de laboratorio:
1. Construya una aplicación cuyo circuito se muestra a continuación. Adapte lo que sea necesario del
hardware para el LCD entregado. Palabra de configuración: misma experiencia anterior.
2. Escriba un programa en lenguaje C para correr esta aplicación. Adapte lo que sea necesario del código
para el LCD entregado.
3. Ejecute la aplicación
Fig. 1: hardware de la aplicación
El LCD es actualmente usado en variadas aplicaciones para despliegue gráfico y alfanumérico. Este rango va
desde pequeños tipos numéricos de 7 segmentos tales como aquellos usados en multímetros digitales
(típicamente 3½ dígitos, máxima lectura 1.999, monocromo alfanumérico) grandes pantallas de alta resolución
las cuales pueden desplegar video.
En esta experiencia se concentrará en un tipo de pequeño LCD el cual despliega caracteres alfabéticos,
numéricos y simbólicos desde el conjunto de caracteres ASCII. Este tipo también puede desplegar gráficos de
baja resolución.
A continuación se entrega una descripción a nivel de máquina. Recordar que el uso del LCD lo realizaremos
mediante el uso de la biblioteca FLEX_LCD.C, lo que nos libera de codificar directamente en nivel de
máquina.
El display mostrado es el LM016L. Estudie la similitud y compatibilidad con el display entregado por la
carrera para esta experiencia.
El display puede desplegar 2 líneas de 16 caracteres (16x2). Cada carácter es de 5x8 píxeles,
constituyendo un total de 80x16 píxeles. En el código propuesto para esta oportunidad, un mensaje fijo
es desplegado en la línea 1, por ejemplo “Microprocesadores”. La segunda línea termina con un carácter
que lleva una cuenta desde 0 a 9, y repite, para mostrar una variable de display. El despliegue se
muestra a continuación:
Microprocesadores
Contador = %d
El display recibe el código ASCII de cada carácter por las entradas de datos (D0..D7). Los datos son
ingresados a las entradas del display por la MCU, y puestas en condición de “latch” por medio de un pulso en
el pin E (Enable).
El bit RW (Read/Write) puede ser puesto en estado bajo (modo Write), como se ve en el circuito esquemático,
ya que el LCD está recibiendo datos solamente.
La línea RS (Register Select) permite que se envíen comandos al display. RS = 0 selecciona el modo comando,
RS = 1, es modo de datos. El display mismo contiene un MCU y debe ser iniciado de acuerdo a los datos y
opciones del display requeridos. En este ejemplo, los datos están siendo enviados en modo de 4 bits. El código
de 8 bits para cada carácter ASCII (ver tabla 3) es transferido en 2 partes: el nibble más alto primero y
enseguida el nibble de menor peso. Esto ahorra pines I/O y permite impulsar al LCD usando solo 6 líneas de
un puerto, haciendo ligeramente más complejo el código. El conjunto de comandos para el controlador del
display es mostrado en la tabla 1, adjunta a esta experiencia.
Se puede interpretar los comandos enviados durante la secuencia de inicio del display, comparando los
códigos hex con el comando binario. Se puede observar que el display debe ser inicialmente establecido (set)
al modo de operación por omisión (default), previo a seleccionar el modo requerido (4 bit, 2 líneas) y
reestablecido (reset). Se observa que los comandos son diferenciados por el número de ceros iniciales (Ver
Tabla 2).
Tabla 1 – Operación del LCD
Tabla 2 – Códigos de la secuencia de comandos de iniciación del LCD
Tabla 3 – Código de caracteres ASCII
Evaluación.
Se realizará en el certamen fijado en la fecha indicada. El aprendizaje relacionado con esta
experiencia está de acuerdo al trabajo realizado en el laboratorio. Debe preparar conocimiento
complementario que complete lo cubierto en laboratorio.
JEA/jea/Exp03MCU.docx
Descargar