Está en la página 1de 14

TECLADO MATRICIAL

(Leonidas Pelaez Tapia)


Muchos proyectos de electrnica digital requieren de un teclado matricial para la
introduccin de datos de una manera menos costosa, sencilla y confiable.
La decodificacin de un teclado matricial se puede realizar de distintas formas en este
pequeo tutorial los realizaremos de tres maneras la primera usando solo circuitos
integrados ttl y la segunda forma usando el popular decodificador de teclado 74C922.

PRIMERA FORMA
La primera forma es ptima para un teclado matricial de 16 teclas pero tambin sirve
para un teclado de 12 y 20 teclas siempre y cuando los valores numricos de las teclas
estn ordenados como se muestra en la siguiente figura:

Para codificar un teclado matricial de 16 teclas solo se requiere de un contador en anillo


(para ir testeando el teclado) de 4 bits y dos codificadores (4 - 2) y un registro de 4 bits
para almacenar el dgito tecleado y uno de 8 bits para almacenar 2 dgitos.
Para el contador en anillo de cuatro bits (en el que 3 bits estn siempre a nivel alto y uno
a nivel bajo) usamos un contador asncrono de 2 bits, es a partir de este contador que
confeccionamos una tabla de verdad para obtener 4 salidas que corresponden a los 4 bits
de nuestro contador en anillo.

TABLA DE VERDAD
Q1 Q0 Y0 Y1 Y2 Y3
0

Por MK obtenemos:
Y0 = Q0.Q1

Y1 = Q0.Q1

Y2 = Q0.Q1

Y3 = Q0.Q1

Obtenido ya estas ecuaciones pasamos a implementar el circuito a partir del contador


asncrono de 2 bits.

Como podemos observar es muy sencilla su implementacin y solo vamos a usar 2


circuitos integrados para este parte, un Flip Flop JK 74LS112 y un NAD 74LS00.
A continuacin explicamos como conectamos este contador en anillo a nuestro teclado.

Para esto consideramos a la parte baja (rojo) del teclado como entradas y a la parte alta
(azul) como salidas, tanto las salidas como las entradas sern conectados a un
codificador (4-2) obteniendo as un nmero binario de dos bits a la salida de este
codificador, para luego unir estos nmeros binarios y obtener finalmente el tan deseado
numero binario de 4 bits que ser el valor de la tecla presionada, si no se entendi nada
no hay problema a continuacin muestro una imagen que vale por todas las palabras
escritas.

Espero que con esta imagen quede un poco mas claro lo que estamos haciendo, si
presionamos la tecla E por ejemplo obtenemos en las salidas del codificador de la parte
alta 11 y en el codificador de la parte baja 10 y si formamos un nmero binario de
cuatro bits con estos obtenemos 1110 = 14 que es lo correcto, bueno ahora solo falta
conectar el tan mentado codificador (4-2) y lo haremos as.

Hecho esto confeccionamos una tabla de verdad para hallar las ecuaciones de A0 y A1
que sern iguales tanto para el codificador de la parte alta y la parte baja.

Y3 Y2 Y1 Y0 A1 A0
1

Por MK obtenemos:

Una vez hecho esto implementamos el circuito para A0 y A1 y lo conectamos a nuestro


teclado.

antes de eso conectamos a las 4 salidas del teclado resistencias de pull-up para que as
las 4 cuatro salidas estn siempre a nivel alto y solo uno se ponga a nivel bajo cuando se
presione un a tecla adems de eso conectamos estas salidas a una compuerta and de 4
entradas para que si presionamos una tecla una de las salidas se ponga a nivel bajo

deteniendo de esta manera al clock y as poder visualizar en el display el valor de la


tecla presionada durante todo el tiempo que se mantenga presionada dicha tecla pero
luego de soltar dicha tecla el valor del nmero codificado se pierde para evitar esto
almacenamos este valor en un registro yo prefiero usar el 74LS 273 y lo
implementamos como en la figura siguiente:

En el grfico anterior podemos observar que la salida de la compuerta and de 4 entradas


adems de detener al clock tambin acta como reloj del registro 74ls273 el cual se
activa por flanco de bajada ya que de no ser as tendramos que usar un inversor.
Ahora si lo que queremos es nmeros de 2 o mas dgitos solo conectamos en cascada
ms regis

Adems de eso usamos el Master Clear del 74LS273 para limpiar el registro y codificar
otro par de dgitos.

SEGUNDA FORMA
La segunda forma es similar a la anterior solo que esta forma es mas
compleja de dise{ar e implementar esto se debe a que los valores numericos de las teclas no esta
n ordenadas como podria ser en la primera forma.

De acuerdo a los valores que asuman las variables se obtendra el valor de la tecla
presionada ,para esto confeccionamos una tabla de verdad y para evitar realizar MK
manuales nos apoyamos en un software potente BOOLE-DEUSTO de uso libre .

Y7 Y6 Y5 Y4 Y3 Y2 Y1 Q3 Q2 Q1 Q0
1

PARA Q3 TENEMOS:

Q3= (~Y6*Y1)

PARA Q2 TENEMOS :

Q2= (Y4*~Y1)+(~Y5)

PARA Q1 TENEMOS :

Q1 = (Y6*~Y3)+(~Y4*Y1)+(~Y6*~Y1)

PARA Q0 TENEMOS :

Q0 = (Y5*Y2)+(~Y5*~Y2)

IMPLEMENTACION DEL DECODIFICADOR DE TECLADO TELEFONICO

TERCERA FORMA
La tercera forma es la mas facil ,pero para ello uno tiene
que contar con el decodificador de teclado matricial como es el 74C922 o el 74C923 de
no ser asi uno tiene que adecuarse a una de las formas anteriores o en todo caso disear
su propio decodificador de teclado .
Para nuestro proyecto usamos el decodificador de teclado 74C922 que se encontro en
placas electronicas desmanteladas esto contribuyo en un ahorro sobre todo de materiales
y espacio .

A continuacin muestro unas cuantas fotos de algunos proyectos que realice usando esta
tercera forma.

Preguntas o sugerencias me lo pueden enviar a este correo:

leonidas.2014@gmail.com
Hasta el prximo tutorial.