0% encontró este documento útil (0 votos)
582 vistas8 páginas

Práctica 06 Teclado Matricial y Pantalla LCD

Este documento describe una práctica de laboratorio sobre el uso de un teclado matricial y una pantalla LCD conectados a un microcontrolador PIC18. Explica el funcionamiento de estos periféricos, las librerías para su manejo, y presenta códigos de ejemplo para probar el teclado y la pantalla LCD por separado y de forma conjunta, mostrando valores ingresados desde el teclado en la pantalla. El objetivo es que los estudiantes aprendan a interactuar con estos dispositivos mediante programas sencillos.

Cargado por

Joel Alcon
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
582 vistas8 páginas

Práctica 06 Teclado Matricial y Pantalla LCD

Este documento describe una práctica de laboratorio sobre el uso de un teclado matricial y una pantalla LCD conectados a un microcontrolador PIC18. Explica el funcionamiento de estos periféricos, las librerías para su manejo, y presenta códigos de ejemplo para probar el teclado y la pantalla LCD por separado y de forma conjunta, mostrando valores ingresados desde el teclado en la pantalla. El objetivo es que los estudiantes aprendan a interactuar con estos dispositivos mediante programas sencillos.

Cargado por

Joel Alcon
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Laboratorio de microprocesadores I Docente: Ing.

José Arturo Marín Thames

PRÁCTICA 06: USO DE TECLADO MATRICIAL Y PANTALLA LCD


1. Objetivo
 Conocer el funcionamiento de un teclado matricial y una pantalla LCD
conectados a un microcontrolador PIC18.
 Manejar las librerías que tiene Mikro C para el manejo de un teclado
matricial y también de una pantalla LCD.
 Realizar programas para el PIC 18 que utilicen teclados matriciales,
pantallas LCD para procesar información del usuario en forma simple.

2. Fundamento teórico
Teclado matricial
Un teclado es un arreglo de pulsadores conectados por filas y columnas

Es común su uso como elemento de introducción de información. Existen los teclados


formados por contactos mecánicos y teclados de contactos de láminas conductoras.
Pantalla LCD
Se tiene como elemento para mostrar la información una pantalla de tipo LCD.

Una pantalla de cristal líquido o LCD (sigla del inglés liquid-crystal display) es una
pantalla delgada y plana formada por un número de píxeles en color o monocromos
colocados delante de una fuente de luz o reflectora.
Laboratorio de microprocesadores I Docente: Ing. José Arturo Marín Thames

Librerías utilizadas para el manejo del teclado y pantalla LCD


Mikro C pro for PIC entrega al programador las funciones para manejar en forma más
sencilla el teclado y la pantalla LCD. Estas librerías son un conjunto de funciones que
tienen rutinas de programación para el manejo de los periféricos sin tener que
desarrollar códigos de lenguaje ensamblador para este propósito.

Todos los LCDs alfanuméricos necesitan recibir código ASCII para que puedan
imprimir caracteres alfanuméricos, es decir que si queremos mostrar una cantidad en
el LCD primero esa cantidad se debe convertir a cadena de texto para que pueda ser
visualizado en un LCD. A continuación se presentan ejemplos de conversión de datos:
 Numero: 1->0x01 123->0x7B
 Carácter: ‘1’->0x31 ‘A’->0x41
 Cadena de texto: “123”->0x31 0x32 0x33 0x00, 0x00 es carácter null (en C
se usa para notar el fin de cadena te texto).
 Cadena de texto: “1AB@23”->0x31 0x41 0x42 0x40 0x32 0x33 0x00
En el modo de conexión de 4-bit, se requieren 6 líneas de conexión entre el
microcontrolador PIC y el 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 se dimensionan (crean) variables que indican los bits de los puertos del PIC
correspondientes a cada una de las 6 líneas de conexión del LCD. Estos bits pueden
modificarse de acuerdo a las necesidades 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”)
Laboratorio de microprocesadores I Docente: Ing. José Arturo Marín Thames

Es posible enviar desde el microcontrolador PIC18 a la pantalla LCD comandos para


el control. A continuación se presenta una tabla resumen de los comandos para el
manejo de la pantalla LCD.

Fuente: Guía de laboratorio, Ing. Guachalla


En las pantallas LCD tenemos las siguientes características de conexionado en este caso
dos filas y 16 columnas, basado en el microcontrolador Hitachi HD44780. En esta
pantalla LCD se puede visualizar todas las letras de alfabeto, letras de alfabeto griego,
signos de puntuación, símbolos matemáticos etc. También es posible visualizar símbolos
creados por el usuario.

Módulo LCD, Fuente: http://galia.fc.uaslp.mx/


Las líneas de control se especifican a continuación:
E: Cuando esta línea pasa de 1 a 0, el controlador del LCD lee el resto de líneas ya sean
de control o de datos.
R/W: Cuando esta línea está en 0 se escribe sobre el LCD. Cuando esta línea se pone en
1 se lee el LCD, especialmente útil para leer si ha finalizado la última orden indicada.
RS: Línea de selección de registro, cuando RS = 0 se manda una orden o comando sobre
el LCD. Si RS = 1 el dato que se envía es el que se mostrará en la pantalla LCD.
Laboratorio de microprocesadores I Docente: Ing. José Arturo Marín Thames

Conexión del microprocesador a la pantalla LCD, Fuente: http://galia.fc.uaslp.mx/


A continuación presentamos en forma resumida la funcionalidad de los pines de la
pantalla LCD.

3. Códigos para la prueba de pantalla LCD y teclado con el PIC18F4550


3.1 Probar el siguiente código que maneja la pantalla LCD mediante el uso del PIC18.
Laboratorio de microprocesadores I Docente: Ing. José Arturo Marín Thames

//CONEXIONES DE LA PANTALLA LCD


sbit LCD_RS at LATB4_bit;
sbit LCD_EN at LATB5_bit;
sbit LCD_D4 at LATB0_bit;
sbit LCD_D5 at LATB1_bit;
sbit LCD_D6 at LATB2_bit;
sbit LCD_D7 at LATB3_bit;

sbit LCD_RS_Direction at TRISB4_bit;


sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB0_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D7_Direction at TRISB3_bit;
// FIN DE LAS CONEXIONES DEL LCD

char txt1[] = "Buenas tardes";


char txt2[] = "estudiantes";
char txt3[] = "Laboratorio de";
char txt4[] = "micro II";

char i;

void Move_Delay() { // Función usada para mover el texto


Delay_ms(500);
}

void main(){
ADCON1 = 15; //pines del PIC18 todos discretos
CMCON = 7; //desactivar comparador ADC
INTCON = 0; //desactivar interrupciones
TRISB = 0;
Lcd_Init(); // Inicializar el Lcd
Lcd_Cmd(_LCD_CLEAR); // limpiar display
Lcd_Cmd(_LCD_CURSOR_OFF); // apagar el cursor
Lcd_Out(1,6,txt3); // escribir texto en la primera línea

Lcd_Out(2,6,txt4); // escribir texto en la segunda línea


Delay_ms(2000);
Lcd_Cmd(_LCD_CLEAR); // limpiar display

Lcd_Out(1,1,txt1); // escribir texto en la primera línea


Lcd_Out(2,5,txt2); // escribir texto en la segunda línea

Delay_ms(2000);
Laboratorio de microprocesadores I Docente: Ing. José Arturo Marín Thames

// Moving text
for(i=0; i<4; i++) { // Mover el texto a la derecha 4 posiciones
Lcd_Cmd(_LCD_SHIFT_RIGHT);
Move_Delay();
}

while(1) {
for(i=0; i<8; i++) { // Mover texto a la izquierda 7 veces
Lcd_Cmd(_LCD_SHIFT_LEFT);
Move_Delay();
}

for(i=0; i<8; i++) { // Mover texto a la derecha 7 veces


Lcd_Cmd(_LCD_SHIFT_RIGHT);
Move_Delay();
}
}
}

El esquemático para la prueba del programa es el siguiente:

3.2 Probar el siguiente código que maneja la pantalla LCD y un teclado conectados al
PIC18.
// conexiones LCD
sbit LCD_RS at LATB4_bit;
sbit LCD_EN at LATB5_bit;
sbit LCD_D4 at LATB0_bit;
sbit LCD_D5 at LATB1_bit;
sbit LCD_D6 at LATB2_bit;
sbit LCD_D7 at LATB3_bit;
Laboratorio de microprocesadores I Docente: Ing. José Arturo Marín Thames

sbit LCD_RS_Direction at TRISB4_bit;


sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB0_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D7_Direction at TRISB3_bit;

unsigned short tecla;


char tecla_str[4]; //código tecla como código ASCII
char keypadPort at PORTD; //puerto de conexiones al teclado matricial

void main(){
ADCON1 =15;
CMCON =7;
INTCON =0;
Keypad_Init();
Lcd_Init();
Lcd_Cmd(_LCD_CLEAR);
Lcd_Cmd(_LCD_CURSOR_OFF);
Lcd_Out(1,1,"Tecla:");
bucle:
tecla=0;
while (tecla==0)
{
tecla=Keypad_Key_Click();
}
ByteToStr(tecla,tecla_str);
Lcd_Out(1,7,tecla_str);
goto bucle;

}
Laboratorio de microprocesadores I Docente: Ing. José Arturo Marín Thames

4. Trabajo de laboratorio

Primera firma: Realizar un programa que reciba dos valores positivos (menores a 256)
por el teclado y luego muestre en el LCD el resultado de las siguientes operaciones
seleccionadas por dos teclas:
1. Promedio de los dos números (n1+n2)/2.
2. Diferencia de ambos números (n1 – n2)
Segunda firma: Realizar un programa para que el PIC18 funcione como una calculadora.
Las teclas A, B, C y D serán asignadas a las operaciones + - x /.

También podría gustarte