Professional Documents
Culture Documents
SISTEMAS MICROPROCESADOS
1. TEMA: MANEJO DE TECLADO MATRICIAL CON DECODIFICADOR 2. OBJETIVOS 2.1 OBJETIVO GENERAL:
Realizar una aplicacin con el teclado matricial de 4 x 4 usando decodificador mmc74922
3. Descripcin
Utilizando un teclado y el decodificador de teclado, (el decodificador de tecla lanza una seal cuando una tecla se presiona, esa seal voy a enviar a la interrupcin externa 1 ,2 o 3, una vez que recibo la seal externa). Leer el puerto para ver que tecla se presiono.
4. MARCO TERICO
Los teclados matriciales son ensamblado en una matriz que pueden ser de 4x3 o 4x4, (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 conexin entre filas y columnas.
Cuando se oprime una tecla se hace conexin 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 relacin: TECLA=4xRi +Cj Donde: Tecla=la tecla oprimida en binario Ri=numero de rengln escaneado. Cj=numero de columna donde se encontr la tecla.
El decodificador mostrado tiene 8 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 cdigo de 4 bits de la tecla (con 16 teclas, los cdigos estn entre 0000 y1111 en binario) aparecer en las 4 lneas de salida y la lnea de dato disponible (DA) se pone en BAJO. Si se conecta a una lnea de interrupcin el microprocesador ser interrumpido cuando se oprima alguna tecla. La Rutina de Servicio de la Interrupcin, entonces lee los 4 bits y procesa el dato. El chip del decodificador se encarga de eliminar el rebote de las teclas, lo que libera al programador de esta responsabilidad, esto es una ventaja al usar un chip decodificador.
INTERRUPCIONES:
Las interrupciones son desviaciones del flujo de control del programa originadas ascronamente por diversos sucesos que no se hallan bajo la supervisin de las instrucciones. Dichos sucesos pueden ser externos al sistema, como la generacin de un flanco o nivel activo en un pin del micro controlador, o bien internos, como el desbordamiento de un contador. El comportamiento del micro controlador ante la interrupcin es similar al de la instruccin CALL de llamada a subrutina. En ambos casos se detiene la ejecucin del programa en curso, se salva la direccin actual del PC en la Pila y se carga el PC con una direccin, que en el caso de CALL viene acompaando a la propia instruccin, y en el caso de una interrupcin es una direccin reservada de la memoria de cdigo, llamada Vector de interrupcin
Tipos de interrupciones. o Interrupcin externa en el pin PD2/INT0, PD3/INT1, PB2/INT2 o Cambio de nivel (estado) en los 4 puertos del micro controlador. o Finalizacin del temporizador/contador TMR0, TMR1 y TMR2 o Finalizacin de la conversin A/D. o Envi o recepcin de datos a travs del puerto serial. o Realizacin de PWM. Vectores de interrupciones. Cada interrupcin est identificada por un vector de interrupcin, que es una direccin particular en la memoria flash todos los vectores estn ubicados en posiciones consecutivas de la memoria flash y forman la denominada tabla de vectores de interrupcin. El reset no es una interrupcin, pero su direccin 0x00 tambin se conoce
como vector de reset, por defecto la tabla de vectores de interrupcin estn ubicadas en las primeras posiciones de la memoria como est representada en la figura.
Para entender cmo funciona el mecanismo de las interrupciones en bajo nivel, el contador de programa es un registro que dirige cada una de las instrucciones que ejecuta el CPU. Al dispararse la interrupcin, el hardware guardara en la pila el valor actual del contador de programa y lo actualizara con el valor del vector de interrupcin respectivo. De modo que el CPU pasa a ejecutar el cdigo que se encuentra a partir de esa direccin. Al final del cdigo de la interrupcin debe haber una instruccin de retorno que restaure el contador de programa con el valor que se haba guardado en la pila. Si se llegara a producir el evento excepcional en que se disparen dos o ms interrupciones al mismo tiempo se ejecutaran la interrupcin en orden de prioridad. Tiene mayor prioridad la interrupcin cuyo vector se ubique ms 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 CONEXIN.
6. ALGORITMO. 1. 2. 3. 4. 5. Configurar el vector de interrupcin INT2 Configurar la interrupcin en modo 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 cdigo del programa. - La conexin perfecta del teclado con el decodificador fue esencial para evitar errores luego. - La configuracin del INT2 fue crucial para que el uC logre trabajar. TEMA: MANEJO DE TECLADO MATRICIAL SIN DECODIFICADOR 1. OBJETIVOS 1.1 OBJETIVO GENERAL:
Manejar el teclado matricial sin el uso del decodificador.
2. ESQUEMA DE CONEXIN.
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 utilizacin del decodificador se tuvo que realizar un procedimiento complejo para descifrar la tecla que se oprimi. Una conexin adecuada fue til para la creacin del algoritmo.
5. BIBLIOGRAFA
Collaguazo, Gerardo, Sistemas Basados En Microprocesadores Tutorial avr, Biblioteca personal. Percy Julio Chambi Pacco, Programacin AVR, teclado matricial 4x4.