p06 uso del teclador matricial 4x4 y el lcd

6
Diseño con microcontroladores PIC en lenguajes MikroBasic y MikroC Docente: Ing. Roger Guachalla Narváez [email protected] PRACTICA 06: Uso del Teclado matricial 4x4 y el Display de Cristal Líquido LCD 1. Objetivos: A través de las librerías de Mikrobasic Pro y MikroC Pro: Keypad Library y LCD Library, realizar la interface entre el PIC16F877A, un teclado matricial de 4 filas por 4 columnas (keypad 4x4) y una pantalla de cristal líquido ASCII de 2 filas por 16 columnas (LCD 2x16). El programa muestra en el LCD, el código de tecla (entre 1 y 16) correspondiente a la tecla digitada en el keypad. El circuito se simulará en Proteus-ISIS y se armará en Protoboard 2. Teoría : TECLADO MATRICIAL Un teclado (keypad) es un arreglo de pulsadores conectados por filas y columnas. RUTINAS DE LA LIBRERIA KEYPAD MikroBasicPro y MikroC for PIC proveen una librería para trabajar con un teclado matricial de 4x4. Las rutinas también pueden ser usadas para teclados de 4x1, 4x2 o 4x3. Keypad_Init: Inicializa el puerto del microcontrolador para trabajar con el teclado Keypad_Key_Press: Función que devuelve el código de tecla del keypad cuando la tecla es presionada. Si no hay tecla presionada, la función devuelve Cero (0). Keypad_Key_Click: Función que devuelve el código de tecla del keypad cuando la tecla es presionada y liberada. Si no hay tecla presionada, la función devuelve Cero (0). Códigos de Tecla devueltos por las funciones Keypad_Key_Press y Keypad_Key_Click: Filas Columnas 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16

Upload: ans-shel-cardenas-yllanes

Post on 09-Feb-2016

1.129 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: P06 Uso Del Teclador Matricial 4x4 y El LCD

Diseño con microcontroladores PIC en lenguajes MikroBasic y MikroC Docente: Ing. Roger Guachalla Narvá[email protected]

PRACTICA 06: Uso del Teclado matricial 4x4 y el Display de Cristal Líquido LCD

1. Objetivos: A través de las librerías de Mikrobasic Pro y MikroC Pro: Keypad Library y LCD Library, realizar la

interface entre el PIC16F877A, un teclado matricial de 4 filas por 4 columnas (keypad 4x4) y unapantalla de cristal líquido ASCII de 2 filas por 16 columnas (LCD 2x16).

El programa muestra en el LCD, el código de tecla (entre 1 y 16) correspondiente a la tecla digitadaen el keypad.

El circuito se simulará en Proteus-ISIS y se armará en Protoboard

2. Teoría :

TECLADO MATRICIALUn teclado (keypad) es un arreglo de pulsadores conectados por filas y columnas.

RUTINAS DE LA LIBRERIA KEYPAD

MikroBasicPro y MikroC for PIC proveen una librería para trabajar con un teclado matricial de 4x4. Lasrutinas también pueden ser usadas para teclados de 4x1, 4x2 o 4x3.

Keypad_Init: Inicializa el puerto del microcontrolador para trabajar con el teclado

Keypad_Key_Press: Función que devuelve el código de tecla del keypad cuando la tecla es presionada.Si no hay tecla presionada, la función devuelve Cero (0).

Keypad_Key_Click: Función que devuelve el código de tecla del keypad cuando la tecla es presionada yliberada. Si no hay tecla presionada, la función devuelve Cero (0).

Códigos de Tecla devueltos por las funciones Keypad_Key_Press y Keypad_Key_Click:

Filas

Columnas

1 5 9 132 6 10 143 7 11 154 8 12 16

Page 2: P06 Uso Del Teclador Matricial 4x4 y El LCD

DISPLAY DE CRISTAL LÍQUIDO LCD

MikroBasic y MikroC PRO for PIC proveen la librería LCD para trabajar con pantallas de cristallíquido capaces de desplegar caracteres ASCII alfanuméricos.

En el modo de conexión de 4-bit, se requieren 6 líneas de conexión entre el microcontrolador PIC yel LCD: 2 líneas de Control (RS: Register Select, EN:Enable) y 4 líneas de Datos (D4,D5,D6,D7)

Para especificar la conexión física entre el microcontrolador PIC y el LCD, en el programa sedimensionan (crean) variables que indican los bits de los puertos del PIC correspondientes a cadauna de las 6 líneas de conexión del LCD. Estos bits pueden modificarse de acuerdo a lasnecesidades del diseño.

Previo al uso del LCD, se debe inicializar (una sola vez) con la instrucción: LCD_Init() Se pueden enviar mensajes al LCD indicando la fila (1 al 4), columna (1 al 16) y el texto (ASCII entre

comillas) con la instrucción: LCD_Out(fila,columna,”Texto”) Si se requiere enviar Variables (byte, integer, float, etc.) al LCD, se deben utilizar funciones de

conversión de la librería de conversiones (Conversions Library). Por ejemplo para mostrar un datotipo byte llamado Temperatura, se debe crear una variable adicional de tipo cadena (string) quecontenga el dato en formato ASCII:

dim Temperatura as bytedim Temperatura_Txt as string[3]...Temperatura=24 ‘Asignar un valor a la variableByteToStr(Temperatura,Temperatura_Txt) ‘Convertir la variable a textoLCD_Out(1,1,Temperatura_Txt)

También se pueden enviar comandos al LCD para su control con la instrucción:LCD_Cmd(Comando LCD). La siguiente tabla muestra los comandos disponibles:

Comando LCD Propósito_LCD_FIRST_ROW Mover cursor a la primera fila_LCD_SECOND_ROW Mover cursor a la segunda fila_LCD_THIRD_ROW Mover cursor a la tercera fila_LCD_FOURTH_ROW Mover cursor a la cuarta fila_LCD_CLEAR Limpiar pantalla_LCD_RETURN_HOME Retornar el cursor a la fila 1, columna 1_LCD_CURSOR_OFF Apagar cursor_LCD_UNDERLINE_ON Activar cursor ‘subrayado’_LCD_BLINK_CURSOR_ON Activar cursor ‘parpadeante’_LCD_MOVE_CURSOR_LEFT Mover cursor a la izquierda_LCD_MOVE_CURSOR_RIGHT Mover cursor a la derecha_LCD_TURN_ON Encender la pantalla del LCD_LCD_TURN_OFF Apagar la pantalla del LCD_LCD_SHIFT_LEFT Desplazar la pantalla a la izquierda_LCD_SHIFT_RIGHT Desplazar la pantalla a la derecha

Page 3: P06 Uso Del Teclador Matricial 4x4 y El LCD

Pantalla de cristal líquido LCD de 2 filas y 16 columnas

Se utiliza para visualizar los diferentes mensajes en una pantalla LCD. Está basado en elmicrocontrolador HD44780 (Hitachi) integrado y puede visualizar mensajes en hasta 4 líneas (filas) con16 caracteres (columnas) cada una. Puede visualizar todas las letras de alfabeto, letras de alfabetogriego, signos de puntuación, símbolos matemáticos etc. También es posible visualizar símboloscreados por el usuario.

A lo largo de un lado de una placa impresa pequeña del visualizador LCD se encuentran los pinesque le permiten estar conectado al microcontrolador.

Hay 14 pines en total marcados con números (16 si hay retroiluminación). Su función de los pines se muestra en la tabla que sigue:

F U N C I Ó N N Ú M E R O N O M B R EE S T A D OL Ó G I C O

D E S C R I P C I Ó N

Tierra 1 Vss - 0V

Alimentación 2 Vdd - +5V

Contraste 3 Vee - 0 - Vdd

Control defuncionamiento

4 RS01

D0 – D7 considerados como comandosD0 – D7 considerados como datos

5 R/W01

Escribir los datos (del microcontrolador al LCD)Leer los datos (del LCD al microcontrolador)

6 ETransición

de 1 a 0

Acceso al visualizador LCD deshabilitadoFuncionamiento normalDatos/comandos se están transmitiendo al LCD

Datos / comandos

7 D0 0/1 Bit 0 LSB

8 D1 0/1 Bit 1

9 D2 0/1 Bit 2

10 D3 0/1 Bit 3

11 D4 0/1 Bit 4

12 D5 0/1 Bit 5

13 D6 0/1 Bit 6

14 D7 0/1 Bit 7 MSB

El contraste del visualizador depende del voltaje de alimentación y de si los mensajes se visualizan enuna o dos líneas. Por esta razón, un voltaje variable 0-Vdd se aplica al pin marcado como Vee. Unpotenciómetro se utiliza con frecuencia para este propósito.

Algunos de los visualizadores LCD tienen retroiluminación incorporada (diodos LED azules o verdes). Alutilizarlo durante el funcionamiento, se debe de conectar una resistencia en serie a uno de los pinespara limitar la corriente (similar a diodos LED).

Page 4: P06 Uso Del Teclador Matricial 4x4 y El LCD

3. Diagrama Esquemático:

Componentes Proteus:

Page 5: P06 Uso Del Teclador Matricial 4x4 y El LCD

4. Código fuente ejemplo en lenguaje MikroBasic Pro for PIC

1. Procedimiento en Clase de Auxiliatura

I. Mostrar las características, modo de funcionamiento y protocolo de comunicación de unteclado de computador PS/2

II. Conectar el teclado PS/2 con el PIC16F877A y el display LCDIII. Realizar en lenguaje MikroC un programa para el manejo del teclado PS/2

2. Procedimiento Experimental en Laboratorio

I. 1era Firma:

Cambiando el código fuente ejemplo al lenguaje MikroCPro for PIC, compilar, simular en Proteus yArmar el circuito en protoboard probando su funcionamiento.

Page 6: P06 Uso Del Teclador Matricial 4x4 y El LCD

II. 2da Firma:Usando el lenguaje MikroBasicPro for PIC o MikroCPro for PIC realizar uno de los siguientes INCISOS:

(El lenguaje a usar y el inciso a realizar serán asignados por el Docente o por el Auxiliar una vez obtenidala 1era Firma)

a) Candado electrónico: Se ingresa un código de apertura del candado de 3 dígitos. Si el código escorrecto el LCD debe mostrar el mensaje “ABIERTO”, caso contrario el mensaje será “CERRADO”.

b) Calculadora básica: Se ingresa dos números de 1 dígito (del 0 al 9), posteriormente ingresa unaoperación a realizar: +,-,*,/ Finalmente el LCD muestra el resultado de la operación.

c) Número secreto: Se ingresa un número de 2 dígitos, se compara con el número secreto. Si elnúmero ingresado el mayor se muestra en el LCD “Mayor”, si es menor se muestra “Menor”. Elproceso se repite hasta encontrar el número secreto, en cuyo caso el LCD muestra “NumeroSecreto”.

3. Informe de la Práctica: Uso del Teclado matricial 4x4 y el LCD

I. Firmas en la Carátula (0, 1 o 2) que avalen los procedimientos realizados en LaboratorioII. Firma del Auxiliar de la materia avalando las tareas realizadas en la Clase de Auxiliatura.

III. Imprimir el Diagrama Esquemático y el Código Fuente en MikroBasic usados para realizar el incisoasignado para la obtención de la 2da Firma del Trabajo en Laboratorio

IV. TRABAJO DE INVESTIGACION:Cada trabajo de investigación debe incluir:

Resumen escrito a mano (de un mínimo de 3 páginas) Fuentes de Información (direcciones web, bibliografía) Copias impresas de la información adquirida a través de las fuentes

‘Displays LCD’ Secuencia de pasos y valores requeridos para realizar una inicialización (INIT) de la

pantalla LCD Explicar en detalle los tres bloques de memoria que posee el display LCD: Memoria

DDRAM, CGRAM y CGROM. Mostrar en una tabla, el conjunto de caracteres ASCII que puede desplegar un display

LCD Display LCD gráfico (GLCD): Características, modos de funcionamiento, protocolo de

comunicación

V. Conclusiones