Informe de Teclado Matricial

10
UNIVERSIDAD TÉCNICA DEL NORTE FICA “SISTEMAS MICROPROCESADOS” Ing. Gerardo Collaguazo. Integrantes: - Tabita Quilumbaquin - Edwin Ruiz

Transcript of Informe de Teclado Matricial

Page 1: Informe de Teclado Matricial

UNIVERSIDAD TÉCNICA DEL NORTE

FICA

“SISTEMAS MICROPROCESADOS”

Ing. Gerardo Collaguazo.

Integrantes:

- Tabita Quilumbaquin- Edwin Ruiz

Fecha: 21 de junio de 2012

Page 2: Informe de Teclado Matricial

1. TEMA:“ MANEJO DE TECLADO MATRICIAL CON DECODIFICADOR”

2. OBJETIVOS

2.1 OBJETIVO GENERAL:

Realizar una aplicación con el teclado matricial de 4 x 4 usando decodificador mmc74922

2.2 OBJETIVOS ESPECÍFICOS:

Conocer el funcionamiento del teclado 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 de tecla 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 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?

Page 3: Informe de Teclado Matricial

Para conocer la tecla que se ha oprimido utilizamos la siguiente relación:TECLA=4xRi +CjDonde:Tecla=la tecla oprimida en binarioRi=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; 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 Servicio de la Interrupción, 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.

Page 4: Informe de Teclado Matricial

CARACTERÍSTICAS DEL DECODIFICADOR 74C922

•Transforma 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 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 la generación 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 interrupción es similar al de la instrucción CALL de llamada a subrutina. En ambos casos se detiene la ejecución del programa en curso, se salva la dirección actual del PC en la Pila 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/INT2o Cambio de nivel (estado) en los 4 puertos del micro controlador.o Finalización del temporizador/contador TMR0, TMR1 y TMR2o 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

Page 5: Informe de Teclado Matricial

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á representada en la figura.

Para entender cómo 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 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 valor que se había guardado en la pila.Si se llegara a producir el 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 más bajo, es decir, entre todas la interrupciones la INT0 tiene siempre las de ganar.

Page 6: Informe de Teclado Matricial

- Lista de componentes:

Micro controlador atmega 324p.Resistencias de 330 OhCables.ProtobooarTeclado matricial 4x4Fuente de 5 vMmc 74hc922

5. ESQUEMA DE CONEXIÓN.

6. ALGORITMO.

1. Configurar el vector de interrupción INT22. Configurar la interrupción en modo ascendente.3. Verificar si se oprimió alguna tecla4. Descifrar que tecla se oprimió. 5. Visualizar en un displays 7s

Page 7: Informe de Teclado Matricial

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 MATRICIAL SIN DECODIFICADOR”

1. OBJETIVOS1.1 OBJETIVO GENERAL:

Manejar el teclado matricial sin el uso del decodificador.

1.2 OBJETIVOS ESPECÍFICOS:

Conocer el funcionamiento del teclado 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.

Page 8: Informe de Teclado Matricial

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 B3. Verificar si se oprimió alguna tecla4. Rastrear reglones para encontrar la columna de las teclas oprimidas5. 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 fue útil para la creación del algoritmo.

5. BIBLIOGRAFÍACollaguazo, Gerardo, Sistemas Basados En MicroprocesadoresTutorial avr, Biblioteca personal.Percy Julio Chambi Pacco, Programación AVR, teclado matricial 4x4.