TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: adolfor20 en 04 de Noviembre de 2004, 13:43:00
-
Hola. Les agradecería si alguien me pudiera indicar como habilitar la pata 3 del Puerto B para I/O en un PIC16F877. Lo he programado con: __CONFIG _LVP_OFF como indica el datasheet, pero no logro deshabilitar el "Low Voltage Programing". Hay que hacer algo más? Gracias.
-
Es correcto lo que haces, pero como lo compruebas? lo tienes como entrada o como salida? has activado el Pull UP? ya diras algo ok?
-
Gracias por tu interés. Tengo configurado todo el puerto B como salida. Y lo quiero usar para encender leds y ver el resultado de las operaciones que haga el programa. Actualmente todos los leds menos el del RB3 funcionan bien. La conexión es la siguiente: Pata - Led - resistencia - Masa.
-
Asegurate que has puesto:
;BANK1 !!!!
BSF STATUS,RP0
BCF STATUS,RP1
MOVLW 0X00
MOVWF TRISB
BCF STATUS,RP0
BCF STATUS,RP1
;BANK0!!!
BCF OPTION_REG,7
Cofiguración puerto B salida con pull ups
Ya te contaras
![Rebotado Rebotado]()
![Rebotado Rebotado]()
-
Hola!
Si vas a trabajar solo con los leds en el puerto B, no es necesario que hablilites los pull ups internos del puerto B. Para eso estan las resistencias limitadoras con valor entre 470ohms y 1K.
Te conviene trabajar colocando el anodo de los leds a VCC y el catodo conectado a los pines via las resistencias limitadoras.
VCC--------|>|-------///////------------| pin del PIC
led 470ohm
De este modo la que alimenta a los leds es la fuente y no el PIC, lo que si tenes que trabajar con logica invertida (para encender el led tenes que poner el pin a nivel bajo).
PD: el puerto sigue siendo salida, por mas que la corriente fluya hacia el PIC.
-
Gracias a ambos por sus respuestas!
Lo de seleccionar el Banco 1 para configurar el TRISB lo había hecho. Lo de las Pull Ups no lo había puesto porque en el datasheet decía lo siguiente:
"The weak pull-up is automatically turned off when the port pin is configured as an output"
Cuando llegue a casa voy a probar de invertir el Led y usar lógica invertida. Ahora que lo pienso, tenés razón, el Led como lo tengo ahora está impidiendo el paso de corriente al pin y este queda como si estuviera al aire (sin nivel bajo ni alto).
Muchas gracias, mañana les cuento.
-
Hola!
A ver, creo que hay alguna confusion: Asi como los tenes a los leds tambien deberian de andar. Dandolos vuelta y usando logica invertida no va andar si no los pones conectados a VCC, ahora vos los tenes conectados a GND.
Fijate:
asi los tenes vos:
GND--------|<|-----------///////-----------| pin del PIC(configurado como salida) |
Para encender los 8 leds tenes que hacer asi:
movlw 0xff
movwf PORTB
Para apagarlos:
movlw 0x00
movwf PORTB
yo te aconsejo:
VCC--------|>|-----------///////-----------| pin del PIC(configurado como salida) |
Para encender los 8 leds tenes que hacer asi:
movlw 0x00 esta es la logica invertida(poner a cero los pines para encender
movwf PORTB el o los leds
Para apagarlos:
movlw 0xff coloco un nivel alto para apagar los leds
movwf PORTB
La razon: es para que no cargues al PIC haciendo que alimente a los leds!
anteriormente debes configurar el PORTB como salida como lo puso Tonio (menos la parte de los Pullups)
Espero te quede mas claro el tema.
PD: si configuras el PUERTO B como salida, siempre tienen algun nivel logico los pines (1=VCC o 0=GND), nunca estan flotando como decis, salvo que sea un pin con colector abierto (como el PA4 del 16F84, que si necesita que le coloques una resistencia externa conectada a VCC como pullup).
-
Perdonen que me meta... queria preguntarles, si me permiten, lo siguiente... PARA QUE SON LAS RESISTENCIAS PULLUP DE LOS PICS... perdonen esta preguntonta, es que no me queda claro por mas que lea lo que lea
... actua como proteccion???... porque casi nunca es necesario activarlas??... Gracias y perdones!. Saludos
-
Las resistencias Pull Up son resistencias conectadas internamente entre los pines de PIC y la Vcc, estas resistencias son bastante debiles (250 µA), y tienen como funcion principal prefijar un estado logico alto en el pin, todas se activan a la vez en el puerto y solo funcionan cuando el pin esta funcionando como entrada al chip.
-
Ah.. eso quiere decir que no se activan por codigo, sino que se activan automaticamente al habilitar los pines como entradas... Bien!, Gracias por la respuesta, una duda menos!
-
Escrito originalmente por T0ni0
;BANK1 !!!!
BSF STATUS,RP0
BCF STATUS,RP1
MOVLW 0X00
MOVWF TRISB
BCF STATUS,RP0
BCF STATUS,RP1
;BANK0!!!
BCF OPTION_REG,7
Cofiguración puerto B salida con pull ups
Asà se activan las pull up, ah!! y teneis razón para salida no sirven de nada, no se que le debe pasar al chico por que de las dos maneras tendrÃa que funcionar. Si la salida es para LED la mayarÃa de los PIC ya bienen preparados para que puedan alimentarlos, incluso las placas de evaluación lo conectan el pin a resistencia y luego LED a masa del portb y no hay problema.
-
No, las resistencias Pull Up DEBEN habilitarse mediante un bit especial, en el caso del PIC16F84 se encuentra en option<7> (/RBPU), se habilita con 0 (en este caso).
El poner el puerto como entrada NO necesariamente habilita las Pull Ups, si deseas usarlas debes asegurarte de activarlas mediante software.
-
Nose si será esto lo que necesitas, pero en el Icprog desabilitas el cuadro de LVT (en bits de configuracion) y yata, el pin te queda como I/O.
Saludos.
-
Gracias por sus mensajes! Les paso un mensaje que me envió Daniel Alvarez de la lista "Microcontroladores PIC" de "todopic.com.ar":
"lo que pasa es que tu quemador de pics esta habilitando el lvp, te aconsejo que cambies de software como el icprog, el cual es muy facil de configurar desde su ventana, y no tienes que escribir la palabra de configuracion en el codigo ensamblador."
El único problema es que yo tengo un quemador que no es de marca y funciona con el puerto paralelo. Pero en este momento estaba modificando un programa cargador para poder cargar los programas directo al micro, utilizando un programa propio en la PC, un cable serial, y la UART del micro. Por lo que cuando logre hacerlo andar, voy a probar de cargar la palabra de configuración desde el propio micro. Espero que entonces funcione el RB3.
Saludos !