TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Trino en 17 de Octubre de 2007, 13:26:28
-
Hola a todos gracias por vuestro tiempo en leer este anuncio.
Tengo un problema el cual no se por donde empezar a solucionarlo, estoy programando un PIC de la serie 18, y en un momento concreto del programa e de asignar 4 pines del puerto B como entrada para ello uso:
movlw b'00011110'
movwf TRISB
y en el momento que se ejecutan estas dos instrucciones los pines que he asignado como unos me generan tensión en vez de detectarla.
Si alguien sabe a que se debe le agradecería muchísimo que me lo explicase.
Gracias a todos.
Saludos
-
¿Tienes activadas las pull-ups internas del PORTB?
Si es así te generarán tensión, VCC, y detectarán el cambio de estado cuando exteriormente los conectes a GND.
De un 18F4550:
Each of the PORTB pins has a weak internal pull-up. A
single control bit can turn on all the pull-ups. This is
performed by clearing bit RBPU (INTCON2<7>). The
weak pull-up is automatically turned off when the port
pin is configured as an output. The pull-ups are
disabled on a Power-on Reset.
Para desactivar todas las pull-ups del PORTB usa
bsf INTCON2,RBPU (RBPU en el INTCON2 del 4550 es el bit 7)
-
Las instrucciones que uso para asignar al RB1 RB2 RB3 RB4 como entradas son:
movlw b'00011110'
movwf TRISB,0
Si que comprobe que lo que leía realmente era la señal del PIC ya que lo desconecté esas entradas por lo que el PIC está con RB1 RB2 RB3 RB4 generando tensión ya que lo estoy comprobando con un multímetro.
Los pull-up los tengo desactivados.
La instrucciónes que he usado para ello son:
MOVLW B'1000000'
MOVWF INTCON2,0
-
¿Que PIC usas?
-
Gracias a todos ya me funciona.
Cuando he vuelto a reconfigurar el TRISB como salidas he vuelto a desactivar las resistencias de pull-up y ya funciona.
Muchas gracias otra vez a todos que sois los mejores
-
Gracias a todos ya me funciona.
Cuando he vuelto a reconfigurar el TRISB como salidas he vuelto a desactivar las resistencias de pull-up y ya funciona.
Muchas gracias otra vez a todos que sois los mejores
Ohhhhh :oops:
Ja, ja, ja :D :D :D