UNIVERSIDAD POLITECNICA SALESIANA

SISTEMAS MICROPROCESADOS I

FECHA: 11/12/2014

TECLADO MATRICIAL
EXPLORACION SIMULTÁNEA
INFORME
Christian Carrión
ccarrionc@est.ups.edu.ec

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

f3.h> #fuses XT. if(input(PIN_B2)==0) c3=1. while (true) { c1=0.c3=0.c> void main() { port_b_pullups(true).c. MATERIALES Y EQUIPO. 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. //*************PRIMER PASO******************** set_tris_B(0x0F). lcd_init().1). lcd_gotoxy(5. output_low(PIN_B7). Realizar las conexiones del módulo LCD. lcd_gotoxy(4. lcd_putc("TECLA: ").f3=0. DESARROLLO Y PROCEDMIENTO CODIGO #include <16F877A. lcd_gotoxy(12. FIGURA 3. 3.2).         int c1. NOWDT. 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 <lcd. 4.. delay_ms(50).f4. char tecla.2). if(input(PIN_B1)==0) c2=1. 5. del teclado matricial y el PIC según sea conveniente. if(input(PIN_B0)==0) c1=1.c3.[2] Utilizar en la programación las funciones disponibles en el driver lcd. Protoboard.f2=0.Estructura Interna del Teclado Matricial.f2. Fuente de Alimentación LCD LM016L Teclado Matricial 4x3 PIC 16f877A Crystal Capacitor Resistencias 330. 2 . output_low(PIN_B6).c2.f1. NOPROTECT. output_low(PIN_B5). output_low(PIN_B4).f4=0.c2=0.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.f1=0. lcd_putc("TECLADO 4X3 \n"). output_B(0xF0).

en lugar de los 12 pines que se requerirían para la conexión de 12 teclas independientes. 5. if (f3 && c2 ) tecla='8'. } } 7. if (f3 && c3 ) tecla='9'. output_low(PIN_B2).."%c". if (f4 && c3 ) tecla='#'.RECOMENDACIONES. if (f3 && c1 ) tecla='7'. las filas están desconectadas de las columnas. output_low(PIN_B0). output_low(PIN_B1). if (f1 && c3 ) tecla='3'. if(input(PIN_B7)==0) f4=1. printf(lcd_putc. Si no hay ninguna tecla presionada.D) y columnas (1.B. // leo las filas if(input(PIN_B5)==0) f2=1. 3 .CONCLUSIONES...Simulación Implementando el metodo de // *********comparaciones para el desplieque de cada letra****************** if (f1 && c1 ) tecla='1'.UNIVERSIDAD POLITECNICA SALESIANA SISTEMAS MICROPROCESADOS I FECHA: 11/12/2014 set_tris_B(0xF0). delay_ms(50). tecla). 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. cuando se presiona una tecla. 6. // pausa para intercambiar el funcionamiento de los puertos Figura 4.2. if (f2 && c3 ) tecla='6'. if(input(PIN_B4)==0) f1=1. Las 12 teclas necesitan sólo 7 pines del microcontrolador. con la intención de reducir el número de pines necesarios para su conexión. Realizar las simulaciones necesarias antes de comenzar a armar en el protoboard considerando las resistencias necesarias para la implementación de la armada. if(input(PIN_B6)==0) f3=1. El teclado matricial 4x3 está constituido por una matriz de pulsadores dispuestos en filas (A.C. al presionar la tecla “7” se conectan la fila C y la columna 1.3). if (f4 && c1 ) tecla='*'. por ejemplo. if (f1 && c2 ) tecla='2'. if (f2 && c2 ) tecla='5'. ANALISIS Y RESULTADOS if (f2 && c1 ) tecla='4'. -Su funcionamiento es muy sencillo. if (f4 && c2 ) tecla='0'. se conectan internamente la fila y columna correspondientes. exploración simultanea.

html /teclado-matricial-4x4.circuitoselectronicos.UNIVERSIDAD POLITECNICA SALESIANA SISTEMAS MICROPROCESADOS I FECHA: 11/12/2014 REFERENCIAS.html.org/2011/03 [1] http://www. [2]http://www. 4 .circuitoselectronicos.org/2011/03/tecladomatricial-4x4.