Autor Tema: Funcionamiento de un teclado matricial con el PIC16F84A  (Leído 5808 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Maria33

  • PIC12
  • **
  • Mensajes: 54
Funcionamiento de un teclado matricial con el PIC16F84A
« en: 24 de Enero de 2009, 09:26:17 »
Hola, estoy realizando un programa en ensamblador con el PIC16F84A y estoy usando un teclado matricial. Mi duda es la siguiente:

Si pulsamos 2 o más teclas a la vez ¿Qué ocurre?
Si soltamos uno de los 8 hilos del teclado ¿qué ocurre?

Otra duda que me surge es que yo estoy usando para la lectura del teclado, RB4:7 son entradas al PIC, y RB0:3 son salidas del PIC. ¿que pasaría si se suelta uno de los hilos del PORTB

Muchas gracias
« Última modificación: 24 de Enero de 2009, 09:41:35 por Maria33 »

Desconectado Vektor

  • PIC10
  • *
  • Mensajes: 6
Re: Funcionamiento de un teclado matricial con el PIC16F84A
« Respuesta #1 en: 24 de Enero de 2009, 11:09:18 »
Si pulsamos 2 o más teclas a la vez ¿Qué ocurre?
Depende de cómo hayas implementado el scanner del teclado en el Firmware y de cuáles sean esas dos teclas, el Firm puede detectar que son dos teclas en una sola lectura (sin están en la misma columna por ejemplo) o en dos lecturas (si están en columnas distintas).
Si soltamos uno de los 8 hilos del teclado ¿qué ocurre?
¿que pasaría si se suelta uno de los hilos del PORTB
Es la misma pregunta, y depende si esa línea que cortastes es entrada o salida, si es salida no vas a poder escanear esa fila/columna, y si es entrada te va a quedar una pata del PIC en el aire por donde va a entrar mucho ruido (al menos a mí me pasa ya que mi proyecto tiene una fuente switching de 33vcc y un módulo GSM).
Saludos!

Desconectado Maria33

  • PIC12
  • **
  • Mensajes: 54
Re: Funcionamiento de un teclado matricial con el PIC16F84A
« Respuesta #2 en: 24 de Enero de 2009, 11:28:38 »

el teclado se conectará de la siguiente manera:



           rb4            1    2      3     A

           rb5           4    5     6      B

           rb6           7    8     9     C

           rb7           *     0     #    D

                         rb0  rb1  rb2  rb3


De la respuesta que me has dicho antes, he entendido que si se pulsa  por ejemplo a la vez el 2 y el 5 , puede detectar que son dos teclas en una sola lectura y si por ejemplo se pulsara el 1 y el 2 detectaría que son de lecturas distintas.

¿es correcto?

Gracias


 

anything