Codigo:
tengo una resistencia de 1 ohm a +5 y el interruptor a masa
Supongo que te has confundido y la resistencia es de 1000 ohmios por lo menos. Si es de 1 ohm, la alimentación caerá bruscamente al pulsar el interruptor y saltará el BROWN OUT RESET del PIC, y se researá. Te aconsejo que utilices en la directiva config el siguiente formato:
Codigo:
_CP_ALL EQU H"0FCF"
_CP_HALF EQU H"1FDF"
_CP_UPPER_256 EQU H"2FEF"
_CP_OFF EQU H"3FFF"
_DEBUG_ON EQU H"37FF"
_DEBUG_OFF EQU H"3FFF"
_WRT_ENABLE_ON EQU H"3FFF"
_WRT_ENABLE_OFF EQU H"3DFF"
_CPD_ON EQU H"3EFF"
_CPD_OFF EQU H"3FFF"
_LVP_ON EQU H"3FFF"
_LVP_OFF EQU H"3F7F"
_BODEN_ON EQU H"3FFF"
_BODEN_OFF EQU H"3FBF"
_PWRTE_OFF EQU H"3FFF"
_PWRTE_ON EQU H"3FF7"
_WDT_ON EQU H"3FFF"
_WDT_OFF EQU H"3FFB"
_LP_OSC EQU H"3FFC"
_XT_OSC EQU H"3FFD"
_HS_OSC EQU H"3FFE"
_RC_OSC EQU H"3FFF"
__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC & _BODEN_OFF & _LVP_OFF
A mi me aclara bastante mejor que fusibles tengo activados y cuales no. Importantísimo desactivar el Low Voltage Programming (LVP_OFF). Más de un dolor de cabeza me ha dado, y algún que otro led se ha resistido cuando no lo he configurado
Otra cosa que es recomendable que hagas es desactivar el conversor analógico-digital. No sé porqué los PIC lo traen activado por defecto:
Codigo:
bsf STATUS,RP0
movlw b"00000111"
movwf ADCON1 ;CAD desactivado
bcf STATUS,RP0
También me ha causado dolores de cabeza el conversor. Puede que al estar activado "despierte al PIC del modo sleep y lo resetee y apage de nuevo el LED.
Si con estas modificaciones sigue sin funcionar, cambia la orden SLEEP por un fin goto fin. El PIC se queda en ese bucle infinito, pero sin apagarse el oscilador.
Si te sigue sin funcionar, empiezate a mosquear y prueba otro PIN de entrada.