UNIVERSIDAD POLITECNICA SALESIANA
SISTEMAS MICROPROCESADOS I
FECHA: 11/12/2014
TECLADO MATRICIAL EXPLORACION SIMULTÁNEA INFORME Christian Carrión
[email protected]
dos puentes utilizando para ello alambre fino de cobre tipo telefónico. Seguidamente instale cada uno de los 12 pulsadores teniendo especial cuidado en la posición de los pulsadores. Ver FIG.1. [1]
RESUMEN: En este informe se hará el estudio del teclado matricial 4x3, implementando el método de exploración simultanea que son utilizados en el desarrollo de proyectos con microcontroladores PIC y que tienen su aplicación en el ingreso de datos de manera manual por parte del usuario.
KEY WORDS. - pic 16f877A, Teclado Matricial, LCD LM016L.
1. OBJETIVOS GENERAL: Programar el teclado matricial en exploración simultanea.
FIGURA 1.- Teclado Matricial 4x3.
ESPECIFICOS - Conocer el funcionamiento del teclado matricial 4x3. -Tener mayor entendimiento implementando la dinámica del teclado matricial para desarrollar programas más complejos o a la vez hacer más sencillo un programa.
2. MARCO TEORICO 2.1 TECLADO MATRICIAL Representa un dispositibo de entrada generalmente conectado hacia el microprocesador el cual permite intriducir unicamente señales de voltaje al momento de ser presionada una de la teclas y de esta manera ser procesado este valor (voltaje) para su respectiva aplicación.
FIGURA 2.- Esquema eléctrico Teclado Matricial 4x3.
El teclado matricial 4x 3 formado por 12 pulsadores SPDT está organizado en 4 Filas y 3 columnas. Ideal para ser utilizados en sistemas basados en microcontroladores.
2.2 ESTRUCTURA INTERNA Un teclado matricial está constituido por pulsadores normalmente abiertos formando un circuito, el cual se activa al momento de presionar
Para su ensamblaje instale y solde inicialmente los
1
UNIVERSIDAD POLITECNICA SALESIANA
SISTEMAS MICROPROCESADOS I
FECHA: 11/12/2014 cualquiera de las teclas enviando así una señal de voltaje que será procesada en el microprocesador o ya sea mediante un decodificador de teclados.[2]
Utilizar en la programación las funciones disponibles en el driver lcd.c.
5. DESARROLLO Y PROCEDMIENTO
CODIGO #include <16F877A.h> #fuses XT, NOWDT, NOPROTECT, NOLVP #use delay(clock=4M) #use fast_io(D) #use fast_io(B) #define LCD_ENABLE_PIN PIN_D0 #define LCD_RS_PIN PIN_D1 #define LCD_RW_PIN PIN_D2 #define LCD_DATA4 PIN_D4 #define LCD_DATA5 PIN_D5 #define LCD_DATA6 PIN_D6 #define LCD_DATA7 PIN_D7 #include
void main() { port_b_pullups(true); lcd_init(); lcd_gotoxy(4,1); lcd_putc("TECLADO 4X3 \n"); lcd_gotoxy(5,2); lcd_putc("TECLA: ");
FIGURA 3.- Estructura Interna del Teclado Matricial.
char tecla;
3. MATERIALES Y EQUIPO.
int c1,c2,c3,f1,f2,f3,f4; while (true) { c1=0,c2=0,c3=0,f1=0,f2=0,f3=0,f4=0;
Protoboard. Fuente de Alimentación LCD LM016L Teclado Matricial 4x3 PIC 16f877A Crystal Capacitor Resistencias 330.
lcd_gotoxy(12,2); //*************PRIMER PASO******************** set_tris_B(0x0F); output_B(0xF0); output_low(PIN_B4); output_low(PIN_B5); output_low(PIN_B6); output_low(PIN_B7);
4. PROBLEMA Realizar un programa que permita visualizar en la pantalla de un LCD de 2x16 las teclas presionadas de un teclado matricial de 3x4 mediante una exploración simultanea de filas y columnas. Realizar las conexiones del módulo LCD, del teclado matricial y el PIC según sea conveniente.
if(input(PIN_B0)==0) c1=1; if(input(PIN_B1)==0) c2=1; if(input(PIN_B2)==0) c3=1; delay_ms(50);
2
UNIVERSIDAD POLITECNICA SALESIANA
SISTEMAS MICROPROCESADOS I
FECHA: 11/12/2014
set_tris_B(0xF0); output_low(PIN_B0); output_low(PIN_B1); output_low(PIN_B2);
if(input(PIN_B4)==0) f1=1; // leo las filas if(input(PIN_B5)==0) f2=1; if(input(PIN_B6)==0) f3=1; if(input(PIN_B7)==0) f4=1; delay_ms(50); // pausa para intercambiar el funcionamiento de los puertos
Figura 4.- Simulación Implementando el metodo de
// *********comparaciones para el desplieque de cada letra****************** if (f1 && c1 ) tecla='1'; if (f1 && c2 ) tecla='2'; if (f1 && c3 ) tecla='3';
exploración simultanea.
5. ANALISIS Y RESULTADOS
if (f2 && c1 ) tecla='4'; if (f2 && c2 ) tecla='5'; if (f2 && c3 ) tecla='6';
Las pruebas se realizaron siguiendo una metodología que permitiera constatar de la forma más segura posible que los componentes que hacen parte del proyecto funcionen correctamente,
if (f3 && c1 ) tecla='7'; if (f3 && c2 ) tecla='8'; if (f3 && c3 ) tecla='9';
6.- CONCLUSIONES.
El teclado matricial 4x3 está constituido por una matriz de pulsadores dispuestos en filas (A,B,C,D) y columnas (1,2,3), con la intención de reducir el número de pines necesarios para su conexión. Las 12 teclas necesitan sólo 7 pines del microcontrolador, en lugar de los 12 pines que se requerirían para la conexión de 12 teclas independientes.
if (f4 && c1 ) tecla='*'; if (f4 && c2 ) tecla='0'; if (f4 && c3 ) tecla='#';
printf(lcd_putc,"%c", tecla); -Su funcionamiento es muy sencillo, cuando se presiona una tecla, se conectan internamente la fila y columna correspondientes; por ejemplo, al presionar la tecla “7” se conectan la fila C y la columna 1. Si no hay ninguna tecla presionada, las filas están desconectadas de las columnas.
} }
7.- RECOMENDACIONES. Realizar las simulaciones necesarias antes de comenzar a armar en el protoboard considerando las resistencias necesarias para la implementación de la armada.
3
UNIVERSIDAD POLITECNICA SALESIANA
SISTEMAS MICROPROCESADOS I
FECHA: 11/12/2014
REFERENCIAS.
[2]http://www.circuitoselectronicos.org/2011/03
[1] http://www.circuitoselectronicos.org/2011/03/tecladomatricial-4x4.html
/teclado-matricial-4x4.html.
4