TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: gauchosuizo en 26 de Agosto de 2004, 09:04:00

Título: Problema con el puerto B
Publicado por: gauchosuizo en 26 de Agosto de 2004, 09:04:00
hola

Tengo un teclado conectado al puerto B4..7 y un lcd que usa el Puerto B0..3. Cuando compile el programa y mido la tension sobre el teclado, mido 0V. El teclado esta conectado con pull-up resistencias(a +5v) y cuando apreto una tecla, va a 0V. El puerto lo he configurado asi:
Codigo:
set_tris_b(0xF0); //set RB4...RB7 as input


Me parece que por alguna razon no e configura bien.

Título: RE: Problema con el puerto B
Publicado por: Modulay en 26 de Agosto de 2004, 09:11:00
Desactiva las pull-ups del puerto B y vuelve a probar a ver que tal:
port_b_pullups(FALSE);
Título: RE: Problema con el puerto B
Publicado por: gauchosuizo en 26 de Agosto de 2004, 09:36:00
hola

encontre el problema. Resulta que la subrutina del LCD me configuraba el puerto B como salida
Pero ahora tengo otro efecto extraño: cuando dejo la tecla mas de 1..2 segundos apretada, se queda la tension a 0V. Sera por las resistencias? Puse de 10K

Gracias
Título: RE: Problema con el puerto B
Publicado por: Modulay en 26 de Agosto de 2004, 09:46:00
Pero no dijiste que los pulsadores te llevaban las entradas del puerto a masa,y que cuando no hay teclas pulsadas las pull-up te mantienen las entradas a 1?
Es al reves?
Título: RE: Problema con el puerto B
Publicado por: gauchosuizo en 26 de Agosto de 2004, 09:51:00
hola

las resistencias estan conectadas a +5V(pull-up), quiere decir que el puerto tiene +5V mientras no se aprete ninguna tecla. Si apreto una tecla y mido la tension tengo 0V. Si la apreto mas de 1..2 segundos o un par de veces seguidas, la tension que va al puerto queda a 0V. Sera que las resistencias son muy grandes?(10K)
Título: RE: Problema con el puerto B
Publicado por: Modulay en 26 de Agosto de 2004, 10:01:00
Se queda fija a 0V después de soltar el pulsador?
Que cosa mas rara
Has quitado el lcd de ese puerto ¿no?
El valor de las resistencias está bien,pero por probar prueba con 1K
Título: RE: Problema con el puerto B
Publicado por: cucaracha en 26 de Agosto de 2004, 10:07:00
raro, raro, raro..
Mira coloca al principio del programa, donde defines la velocidad del cristal y eso...:
#use fast_io(B)
aunque creo que no es necesario, pero prueba...
El valor de las R son correctos. Haz lo que te indica modulay, quita el lcd o cámbialo de puerto y prueba. Quizás el problema esté en el código, ya que la cosa es rarita.

saludos!!
Título: RE: Problema con el puerto B
Publicado por: Modulay en 26 de Agosto de 2004, 10:10:00
Pues si,puede ser que en alguna parte del código estés reconfigurando el trisb y es el pic el que impone la tensión en el puerto
Título: RE: Problema con el puerto B
Publicado por: T0ni0 en 26 de Agosto de 2004, 10:33:00
Holas, a mi me pasaba algo parecido pero usando Fast_io y enable Pullups lo quite todo y asunto resuelto haber como va
Título: RE: Problema con el puerto B
Publicado por: gauchosuizo en 26 de Agosto de 2004, 13:08:00
hola

mañana voy a probar desactivando la rutina del LCD. El problema tiene que estar ahi. Lo demas esta en orden.
Gracias por la vuestra ayuda.