Autor Tema: En cuanto al uso del teclado en puerto b  (Leído 2169 veces)

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

Desconectado Juan_PIC

  • PIC12
  • **
  • Mensajes: 84
En cuanto al uso del teclado en puerto b
« en: 23 de Enero de 2008, 20:24:14 »
Hola a todos. Estoy con un problema. Estoy intentando tomar los datos del un teclado de 3x4 en proteus. Las columnas (3) las pongo en los pines RB1, RB2 y RB3
y las filas (4) en los pines RB7:RB4, De manera que al pulsar una tecla, la informacion pase de los pines 1, 2 y 3 a los 4, 5, 6 y 7.
Tengo los pines 1 al 3 como salidas y se encuentran en 0, y los pines del 4 al 7 como entradas y con los pull-up internos.
Entre los pines 1, 2 y 3 y las columnas tengo puestas unas resistencias. El problema es que el circuito no funciona con dichas resistencias (no importa el valor). El circuito solo anda si conecto directamente los pines al teclado. Por que pasara esto? Yo quiero poner las resistencias para limitar la corriente, y porque en todos los ejemplos de matriz que vi, siempre ponen resistencias. Alguna sugerencia?
Cuando se ponen límites, la mente humana comienza a buscar maneras de romperlos.

Desconectado poseidon20

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 762
Re: En cuanto al uso del teclado en puerto b
« Respuesta #1 en: 23 de Enero de 2008, 20:27:54 »
mi estimado motordecontinua, ese programa lo estas simulando en el proteus? me gustaria saber si es asi para poder ayudarte mas efectivamente  :D

Desconectado Juan_PIC

  • PIC12
  • **
  • Mensajes: 84
Re: En cuanto al uso del teclado en puerto b
« Respuesta #2 en: 23 de Enero de 2008, 20:35:05 »
Asi es poseidon, aqui dejo el circuito y el codigo en ensamblador.

(Tiene rutinas en lcd que no vale la pena revisar, el problema es de hardware estimo yo o en todo caso alguna fallita en proteus)

http://rapidshare.com/files/86074460/Teclado.rar.html
Cuando se ponen límites, la mente humana comienza a buscar maneras de romperlos.

Desconectado poseidon20

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 762
Re: En cuanto al uso del teclado en puerto b
« Respuesta #3 en: 23 de Enero de 2008, 20:56:15 »
Bueno el teclado en la simulacion funciona tal como esta, pero en lo real le puedes poner esas resistencias cuando vas a usar ese mismo puerto para otros fines, yo tambien pase por ese problema del teclado y las resistencias, y parece que el proteus no se lleva bien con esa configuracion, con respecto a tu programa, no entiendo lo que tratas de hacer en el, por lo que e podido observar, es que estas tratando de sensar el valor de la tecla y  de acuerdo a eso poder verlo en el LCD, si es eso estas tratando mal el asunto, otra cosa que veo es que mientras esperas que se ´pulse una tecla estas constantemente limpiando la pantalla, es no es necesario ya qeu asi vas a acargar mas al simulador, te recomensaria que trataras de atender el teclado y el RB0 por interrupciones y cuando se produsca algo recien atienda ese evento, mientras espera podrias poner al pic a dormir. es una sugerencia.

Desconectado poseidon20

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 762
Re: En cuanto al uso del teclado en puerto b
« Respuesta #4 en: 23 de Enero de 2008, 21:03:31 »
despues de ver mas detenidamente tu programa, veo que no estas tratando adecuadamnete la interrupcion para el teclado, es decir pulse al tecla que pulse en el teclado el programa piensa que es interrupcion por RB0, te recomiendo que uses el buscador de este foro para que veas la aplicaciones que desarrollaron otros foreros, si no encuentras nada te puedo colocar un ejemplo de sensar el estado la tecla pulsada y visulizarlo en el LCD  :mrgreen:, de ahi tu lo adpatarias para tus necesidades

Desconectado Juan_PIC

  • PIC12
  • **
  • Mensajes: 84
Re: En cuanto al uso del teclado en puerto b
« Respuesta #5 en: 24 de Enero de 2008, 01:15:19 »
Poseidon, en realidad necesito estas dos interrupciones. Mi idea es hacer una cerradura electronica. La interrupcion por RB0 la utilizare para desplegar un mensaje en la pantalla mientras esta patilla se encuentre en 0.

Aqui hasta donde he llegado.  El problema es que por alguna razon en esta parte de la interrupcion cuando configuro el trisb y el portb, estos no toman los valores que yo quiero (segun veo en el visor de variables del proteus) y por lo tanto la lectura de los pines RB3:RB1 (LECTURA_31) es incorrecta.

SWAPF   PORTB,W
ANDLW   B'00001111'
MOVWF   LECTURA_74     
MOVLW   B'00001111'
MOVWF   TRISB
MOVLW   B'11110000'
MOVWF   PORTB
MOVF   PORTB,W
ANDLW   B'00001110'
MOVWF   LECTURA_31
RRF   LECTURA_31,F 


http://rapidshare.com/files/86125281/Cerradura2.asm.html
Cuando se ponen límites, la mente humana comienza a buscar maneras de romperlos.

Desconectado Juan_PIC

  • PIC12
  • **
  • Mensajes: 84
Re: En cuanto al uso del teclado en puerto b
« Respuesta #6 en: 24 de Enero de 2008, 02:31:19 »
Ya encontre el error.... No cambie al banco 1 para configurar el tris. Lo que hace el cansancio Dios! Muchas gracias poseidon!
Cuando se ponen límites, la mente humana comienza a buscar maneras de romperlos.

Desconectado poseidon20

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 762
Re: En cuanto al uso del teclado en puerto b
« Respuesta #7 en: 24 de Enero de 2008, 02:50:37 »
Para eso estamos amigo, y vamos, hechale ganas al proyecto, yo tabien padeci con algo parecido a lo tuyo solo que el mio aparte de eso tenia que comunicarse con la PC y un sistema que monitoreaba y hacia reportes de lo mismo, es decir nada facilito pero ya esta avanzando el proyecto.

Una cosa mas, te recomiendo que no estes duplicando temas ya que eso va en contra de las reglas de foro, ya que hicistes otro tema igual a este. No te decesperes en que te respondan, ya que muchos de aca trabajan y por eso no pueden responderte inmediatamente, ellos hacen un esfuerzo en dar un poco de su tiempo para poder mantener este foro.

Desconectado Juan_PIC

  • PIC12
  • **
  • Mensajes: 84
Re: En cuanto al uso del teclado en puerto b
« Respuesta #8 en: 24 de Enero de 2008, 02:58:41 »
Lo se, lo siento. En realidad abri dos temas porque supuse que eran dos problemas distintos. Igualmente el otro tema lo he eliminado ya. Gracias por avisar y por tu ayuda! Mucha suerte en tu proyecto.  :mrgreen:
Cuando se ponen límites, la mente humana comienza a buscar maneras de romperlos.