Microcontroladores

Páginas: 4 (1000 palabras) Publicado: 4 de enero de 2013
Aprovecharemos esta interrupción para detectar cuando se ha presionado una tecla de un Teclado Matricial. Un teclado matricial es un simple arreglo de botones conectados en filas y columnas, de modoque se pueden leer varios botones con el mínimo número de pines requeridos. Un teclado matricial 4×3 solamente ocupa 4 líneas de un puerto para las filas y otras 3 líneas para las columnas, de estemodo se pueden leer 12 teclas utilizando solamente 7 líneas de un microcontrolador.
Para detectar la tecla presionada se utilizara el siguiente hardware:

Configuraremos RB0 a RB3 como salida y lascolocaremos a nivel bajo. RB4 y RB7 configuradas como entradas, y en estado normal (sin presión de teclas) estarán a nivel alto. Al presionar una tecla se conecta una fila con una columna, se produceun cambio de nivel en alguna de las columnas (De nivel alto a bajo), y se genera la interrupción. Para detectar que tecla se ha presionado, se colocan RB0 a RB3 a nivel alto, y se pasan a nivel bajode a una por vez, detectando si se produce algún cambio en las columnas.

Se utiliza una variable que se incrementa con la cuenta de las teclas revisadas, de este modo al detectar una pulsación elvalor de la cuenta será el valor de la tecla presionada. Si al final no se presionó ninguna tecla la variable se pone a cero y la cuenta vuelve a comenzar.

En nuestro ejemplo representaremos latecla presionada en forma binaria con leds conectados al puerto A.
Diagrama de Flujo:

1. list p=16F84A
2. #include P16F84A.inc
3. __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON &_XT_OSC
4. ;**** Definicion de variables ****
5. NTecla equ 0x0C ; Seleccionamos posición en la memoria RAM (GPR) para guardar
6. W_Temp equ 0x0D ; Registro para guardar temporalmente W.-7. STATUS_Temp equ 0x0E ; Registro para guardar temporalmete STATUS
8.
9.
10.
11. ;**** Inicio del Micro ****
12. Reset
13. org 0x00 ; Aquí comienza el micro.-...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Microcontroladores
  • Microcontroladores
  • Microcontroladores
  • microcontroladores
  • Microcontroladores
  • Microcontroladores
  • Microcontroladores
  • Microcontroladores

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS