Como evitar pulsos en las salidas del pic al conectarlo de nuevo?

Hola, estoy comenzando a programar y tengo un problema con mi pic, algunas veces, cuando lo vuelvo a conectar al protoboard, o simplemente vuelvo a alimentar el circuito, algunos LED's se encienden sin yo haber presionado algun interruptor. Espero que me puedan ayudar, ya que es lo unico que me falta resolver de esta practica. Gracias.
 
probaste con programar una rutina para que al inicializarse el PIC, "resetee" las salidas? O las ponga en el estado que necesites?
 
Yo tuve un problema similar hace tiempo, mi error fue no haber conectado el reset y dejar ese pin si conectar.

Conecta el reset como indica la hoja de datos. Creo que te va a funcionar.
 
Muchas gracias capistran, pero no me refiero a un reset manual, mas bien es la rutina que menciona ru klo para resetear las salidas a 0, pero no se que debo ponerle al programa, he buscado en la información que tengo pero no encuentro como, por favor si me pueden decir esa rutina o decirme donde puedo encontrar la información para saber lo que debo agregar al programar se los agradeceria mucho.
 
Es el 16f84. El programa es:


LIST P= 16F84
RADIX HEX
PDel0 EQU 0x10
PDel1 EQU 0x11
;**********************************
org 0
bsf 0x03, 5
movlw 0x00
movwf 0x06
bcf 0x03, 5
;**********************************
inicio movlw 0x01
movwf 0x06
call PDelay
movlw 0x03
movwf 0x06
call PDelay
movlw 0x07
movwf 0x06
call PDelay
movlw 0x0E
movwf 0x06
call PDelay
movlw 0x1C
movwf 0x06
call PDelay
movlw 0x38
movwf 0x06
call PDelay
movlw 0x70
movwf 0x06
call PDelay
movlw 0xE0
movwf 0x06
call PDelay
movlw 0x1C0
movwf 0x06
call PDelay
movlw 0x180
movwf 0x06
call PDelay
movlw 0x100
movwf 0x06
call PDelay
movlw 0xA5
movwf 0x06
call PDelay
movlw 0x5A
movwf 0x06
call PDelay
movlw 0xA5
movwf 0x06
call PDelay
movlw 0x5A
movwf 0x06
call PDelay
movlw 0x81
movwf 0x06
call PDelay
movlw 0x42
movwf 0x06
call PDelay
movlw 0x24
movwf 0x06
call PDelay
movlw 0x18
movwf 0x06
call PDelay
movlw 0x24
movwf 0x06
call PDelay
movlw 0x42
movwf 0x06
call PDelay
movlw 0x81
movwf 0x06
call PDelay
GOTO inicio
;*************Tiempo de 500ms*************
PDelay movlw .1
movwf PDel0
PLoop1 movlw .1
movwf PDel1
PLoop2 Clrwdt
Clrwdt
decfsz PDel1, 1
goto PLoop2
decfsz PDel0, 1
goto PLoop1
return
END
 
ya tengo tu respuesta
al inicio del programa antes de todo borra las salidas despues que vuelvas al banco 0

................
bcf 0x03, 5
clrf PortB
clrf PortB

a mi me pasaba eso y lo solucione de esa forma
si te funciona ya sabes comentalo :D
 
Jaja eso es lo que buscaba. Sabis que era facil pero no sabia como hacerle. Muchas gracias, en cuanto lo haya probado (que estoy seguro que funciona) posteo como me fue.
Gracias por su ayuda.
 
Atrás
Arriba