Teclado matricial y despliegue de datos en LCD
Un teclado matricial, independientemente del número de teclas, se divide en filas y en columnas. Cuando una tecla específica se presiona, se une la columna con la fila respectiva en una coordenada única. El teclado más común es el de 4 x 4 (16 teclas) con 8 pines base: 4 para las columnas y 4 para las filas.
El circuito que controlador de teclado matricial se divide en dos partes: el circuito de escaneo, que permite
identificar qué tecla se presionó y el circuito del encoder, cuya función es codificar el valor binario de una tecla
hacia una conversión particular (por ejemplo, un display a 7 segmentos). El algoritmo de escaneo más simple es
utilizar un contador de anillo con un demultiplexor que “barre” cada una de las columnas (o filas) en un tiempo.
El valor binario correspondiente a una tecla presionada se almacena en un registro de datos con salida hacia el
módulo del encoder.
A continuación se anexa un diagrama simple que implementa el circuito de escaneo para un teclado matricial
de 4 x 4, implementado en un FPGA a través de ISE de Xilinx. Nótese en la conexión final de la macro generada
(segundo esquemático) que las filas son conectadas a resistencias de Pull Down disponibles en la Symbols
Toolbox (valor “0” fijo) para evitar el corto circuito al conectar la fila con la columna.
Una vez generada la macro, realiza las conexiones indicadas por el esquemático final. Las salidas
TECLA3..TECLA0 deben entrar a un bloque decodificador que escriba en alguno de los displays de la tarjeta
desarrollo el dígito presionado. TECLA_PRESIONADA debe asignarse a un pin externo cualquiera, ya que sirve
como salida de reloj de propósito general. Es necesario adecuar la asignación de pines, a la tarjeta que se esté
utilizando en el curso.
El siguiente esquemático muestra la conexión final. Una vez inicializada la memoria es posible pasar al modo de
escritura. Obsérvese que la macro del teclado adiciona el anti rebotes. La señal de reloj de la LCD es la misma
que la del anti rebotes (aproximadamente 15 Hz) y la frecuencia del trabajo del teclado es de 500 Hz.
Comentarios
Publicar un comentario