Últimos Tutoriales
Chat
Licencia
| Control de un teclado 4X4 con el codificador MM74C922 |
| Escrito por Biblioman | ||||||||||||||||||||||||||||||||||
|
Otra forma de controlar un teclado a través de un PIC es con la ayuda del codificador MM74C922. El datasheet del componente lo tenéis aquí. Con este dispositivo se puede controlar fácilmente y sin necesidad de ninguna librería un teclado 4X4, ampliable fácilmente a 2 teclados 4X4.
Básicamente el circuito consta de ocho entradas (x1 a x4, y1 a y4), donde conectaremos las cuatro filas y columnas del teclado. La salida en función de la tecla pulsada la tendremos en formato binario en las patillas A, B, C y D. Si miráis el esquema de bloques del componente, veréis que estas salidas van a través de unas básculas tipo D que hacen de memoria, con lo que el valor de la tecla pulsada se mantiene hasta que se pulsa otra y sobrescribe el antiguo valor. Además dispone de una salida (DA) que se pone a nivel alto cada vez que se pulsa una tecla (ideal para el empleo de interrupciones). Otra ventaja de este componente electrónico es que está modelado en Proteus, con lo que podemos simular su funcionamiento junto con un Microcontrolador. El ejemplo ya hecho del display quedaría de la siguiente manera:
El valor de la tecla pulsada lo leeremos a través de las patillas RB4-RB7 y la salida DA la conectaremos a la patilla RB0/INT, para emplear la interrupción por entrada de pulso externo. Si en vez de interrupciones utilizamos el sistema “polling”, es decir la comprobación constante del estado de las patillas (RB4-RB7) a través de un bucle infinito dentro de la función principal ó de otra cualquiera, con cuatro líneas serían suficientes para el control del teclado. El código fuente del microcontrolador sería el siguiente:
ComentarioEl código empleado ya está más que comentado de los ejemplos anteriores, por lo que creo que no es necesario volver comentarlo. Solo hacer una pequeña anotación al respecto: dependiendo de cómo se conecten las filas y columnas del teclado al codificador MM74C922 se tendrá una combinación de valores a la salida diferente, en función del código que queramos emplear en el teclado. Lo más fácil es que conectéis el teclado al codificador como queráis y simuléis el circuito en Proteus antes de conectar el microcontrolador y hagáis una tabla de verdad con los valores de la salida en función de la tecla pulsada. Para el ejemplo de figura la tabla sería la siguiente:
Ventajas y desventajas del uso de este componente para el control de tecladosBajo mi punto de vista, estas son las ventajas y desventajas de utilizar este componente para controlar la salida de un teclado junto a un microcontrolador: Desventajas:
Ventajas:
En fin un componente que no sustituye a la librería convencional, pero que en determinados circuitos será interesante tener en cuenta. El DNS del circuito lo tenéis aquí Como siempre espero vuestros comentarios al respecto en el foro. Un saludo |
||||||||||||||||||||||||||||||||||
| Última actualización el Miércoles, 25 de Noviembre de 2009 16:46 |

