UNIVERSIDAD TÉCNICA DEL NORTE FICA
“SISTEMAS MICROPROCESADOS” MICROPROCESADOS”
Ing. Gerardo Collaguazo. Integrantes: -
Tabita Quilumbaquin Edwin Ruiz
Fecha: 21 de junio de 2012
1. TEMA:“ MANEJO DE TECLADO TECLADO MATRICIAL MATRICIAL CON CON DECODIFICADOR” DECODIFICADOR” 2. OBJETIVOS 2.1 OBJETIVO GENERAL: Realizar una aplicación aplicación con el teclado matricial de 4 x 4 usando decodificador decodificador mmc74922
2.2 OBJETIVOS ESPECÍFICOS:
Conocer el funcionamiento del teclado matricial, matricial, así como su modo de trabajar con el decodificador mmc74922. Usar las interrupciones del micro controlador para conocer la posición de la tecla pulsada
3. Descripción Utilizando un teclado y el decodificador de teclado, (el decodificador decodificador de tecla lanza lanza una señal cuando una tecla se presiona, esa señal voy a enviar a la interrupción externa 1 ,2 o 3, una vez que recibo la señal externa). Leer el puerto para ver que tecla se presiono.
4. MARCO TEÓRICO
Los teclados matriciales son ensamblado en una matriz que pueden ser de 4x3 o 4x4, (con (con 16 tecla, configuradas en 4 filas y 4 columnas). Cuando no se ha oprimido ninguna tecla, es decir todas las teclas abiertas, no hay ninguna conexión entre filas y columnas.
Cuando se oprime una tecla se hace conexión entre la fila y la columna de la tecla.
COMO SABER SI UNA TECLA SE OPRIMIO?
Para conocer la tecla que se ha oprimido utilizamos la siguiente relación: TECLA=4xRi +Cj Donde: Tecla=la tecla oprimida en binario Ri=numero de renglón escaneado. Cj=numero de columna donde se encontró la tecla.
DECODIFICADOR DE TECLADO MATRICIAL Muchos teclados comerciales ya traen incluido su decodificador, que escanean el teclado y si, una tecla es presionada, regresa un número que identifica la tecla. Otra alternativa es adaptar al teclado matricial por separado un chip decodificador, para este propósito en la práctica se utilizara el decodificador MM74C922
El decodificador mostrado tiene 8 entradas; entradas; las 4 entradas “X” son conectadas a las 4 columnas del teclado y las 4 entradas “Y “son conectadas a los 4 renglones. Cuando se oprime una tecla el código de 4 bits de la tecla (con 16 teclas, los códigos están entre 0000 y1111 en binario) aparecerá en las 4 líneas de salida y la línea de dato disponible (DA) se pone en BAJO. Si se conecta a una línea de interrupción el microprocesador ser á interrumpido cuando se oprima alguna tecla. La Rutina de S ervicio de la Interrupción, entonces lee los 4 bits y procesa el dato. El chip del decodificador se encarga de e liminar el rebote de las teclas, lo que libera al programador de esta responsabilidad, esto es una ventaja al usar un chip decodificador.
CARACTERÍSTICAS DEL DECODIFICADOR DECODIFICADOR 74C922 •Transforma automáticamente automáticamente el código de la tecla presionada en un número de 4 bits (0000 1111). • El chip tiene 4 entradas para X1.X4 y 4 salidas Y1..Y4 que se conectan a las X1..X4 y Y1..Y4 del teclado matricial y 4 salidas de datos A, B, C, D que identifican la tecla presionada. • Tiene su propio circuito de detección, incluyendo resistencias de pull up para las filas. Pero necesita añadir un capacitor externo a la entrada OSC para la frecuencia fre cuencia de búsqueda o utilizar un reloj externo con este propósito.
INTERRUPCIONES: Las interrupciones son desviaciones del flujo de control del programa originadas asícronamente por diversos sucesos que no se hallan bajo la supervisión de las instrucciones. Dichos sucesos pueden ser externos al sistema, como co mo la generación de un flanco o nivel act ivo en un pin del micro controlador, o bien internos, como el desbordamiento de un contador. El comportamiento del micro controlador ante la interrupción es similar al de la instrucción CALL de llamada a subrutina. En ambos casos se detiene la eje cución del programa en curso, se salva la dirección actual del PC en la P ila y se carga el PC con una dirección, que en el caso de CALL viene acompañando a la propia instrucción, y en el caso de una interrupción es una dirección “reservada” de la memoria de código, llamada Vector de interrupción
Tipos de interrupciones. o Interrupción externa en el pin PD2/INT0, PD3/INT1, PB2/INT2 o Cambio de nivel (estado) en los 4 puertos del micro controlador. o Finalización del temporizador/contador TMR0, TMR1 y TMR2 o Finalización de la conversión A/D. o Envió o recepción de datos a través del puerto serial. o Realización de PWM.
Vectores de interrupciones. Cada interrupción está identificada por un vector de interrupción, que es una dirección particular en la memoria flash todos los vectores están ubicados en posiciones consecutivas de la memoria flash y forman la denominada tabla de vectores de interrupción. El reset no es una interrupción, pero su dirección 0x00 también se conoce
como vector de reset, por defecto la tabla de vectores de interrupción están ubicadas en las primeras posiciones de la memoria como está re presentada en la figura.
Para entender cómo funciona el mecanismo de las interrupciones en bajo nivel, el contador contador de programa es un registro que dirige cada una de las instrucciones que ejecuta e l CPU. Al dispararse la interrupción, el hardware guardara en la pila el valor actual del contador de programa y lo actualizara con el valor del vector de interrupción respectivo. De modo que el CPU pasa a ejecutar el código que se encuentra a partir de esa dirección. Al final del código de la interrupción debe haber una instrucción de retorno que restaure el contador de programa con el e l valor que se había guardado en la pila. Si se llegara a producir el e l evento excepcional en que se disparen dos o m ás interrupciones al mismo tiempo se ejecutaran la interrupción en orden de prioridad. Tiene mayor prioridad la interrupción cuyo vector se ubique ubique más bajo, es decir, entre todas la interrupciones la INT0 tiene siempre las de ganar.
- Lista de componentes: Micro controlador atmega 324p. Resistencias de 330 Oh Cables. Protobooar Teclado matricial 4x4 Fuente de 5 v Mmc 74hc922
5. ESQUEMA DE CONEXIÓN.
6. ALGORITMO. 1. 2. 3. 4. 5.
Configurar el vector de interrupción INT2 Configurar la interrupción interrupción en modo ascendente. ascendente. Verificar si se oprimió alguna tecla Descifrar que tecla se oprimió. Visualizar en un displays 7s
7. CONCLUSIONES. - Con la ayuda del decodificador se logro disminuir el código del programa. - La conexión perfecta del teclado con el decodificador fue esencial para -
evitar errores luego. La configuración del INT2 fue crucial para que el uC logre trabajar.
TEMA: “MANEJO DE TECLADO TECLADO MATRICIAL MATRICIAL SIN DECODIFICADOR” 1. OBJETIVOS 1.1 OBJETIVO GENERAL:
Manejar el teclado matricial sin el uso del decodificador.
1.2 OBJETIVOS ESPECÍFICOS:
Conocer el funcionamiento del teclado matricial, matricial, así como su modo de trabajar sin el decodificador mmc74922. Crear el algoritmo adecuado para la detección de la tecla exacta.
2. ESQUEMA DE CONEXIÓN.
3. ALGORITMO. 1. Configurar los 4 bits bajos del puerto B como salida y los 4 bits altos como entradas. 2. Realizar un desplazamiento de 1L en los 4 bits altos del puerto B 3. Verificar si se oprimió alguna tecla 4. Rastrear reglones para encontrar la columna de las teclas oprimidas 5. Descifrar que tecla se oprimió. 6. Visualizar en un displays 7s
4. CONCLUSIONES: - Sin la utilización del decodificador se tuvo que realizar un procedimiento complejo para descifrar la tecla que se oprimió.
-
Una conexión adecuada adecuada fue útil para la creación del algoritmo.
5. BIBLIOGRAFÍA Collaguazo, Gerardo, Sistemas Basados En Microprocesadores Tutorial avr, Biblioteca Biblioteca personal. personal. Percy Julio Chambi Pacco, Programación AVR, teclado matricial 4x4.