Hola a todos, tengo un problema con el pic16f887, hay cosas que no comprendo bien, por ejemplo como configurar correctamente los bits de configuración. Yo realice un programa de prueba, donde solo requiero encender y apagar un led, pero la verdad es que despues de programar el pic no realiza ninguna funcion. Les dejo el programa de prueba que realice para ver si tengo algun error de programacion o tal vez hay algo que no estoy configurando correctamente. He programado un pic12f629 y el 16f84A. Pero en este no encuentro el problema. Les agradezco su ayuda.
__CONFIG _CONFIG1, _CPD_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _INTOSCIO & _CP_OFF & _DEBUG_OFF
__CONFIG _CONFIG2, _WRT_OFF & _BOR_OFF
LIST P=16F887
INCLUDE "P16f887.INC"
CBLOCK 0X20
REGT1
REGT2
REGT3
REGT4
ENDC
ORG 0X20
BANKSEL PORTA ;
CLRF PORTA ;LIMPIA PORTA
BANKSEL ANSEL
CLRF ANSEL ;SELECCIONA COMO DIGITALES I/O
BCF STATUS,RP1 ;BANCO 1
BANKSEL TRISA
CLRF TRISA ;PUERTO A COMO SALIDA DE DATOS
BANKSEL PORTB ;
CLRF PORTB ;Init PORTB
BANKSEL TRISB ;
MOVLW B'00000000'
MOVWF TRISB
BANKSEL PORTC ;
CLRF PORTC ;Init PORTC
BANKSEL TRISC ;
MOVLW B'00000000'
MOVWF TRISC ;and set RC<7:
BANKSEL PORTD ;
CLRF PORTD ;Init PORTD
BANKSEL TRISD ;
MOVLW B'00000000'
MOVWF TRISD ;and set RD<7:4,1:0>
BANKSEL PORTE ;
CLRF PORTE ;Init PORTE
BANKSEL ANSEL ;
CLRF ANSEL ;digital I/O
BCF STATUS,RP1 ;Bank 1
BANKSEL TRISE ;
MOVLW B'00000000'
MOVWF TRISE
BANKSEL OSCCON
; BCF STATUS,RP0
; BCF STATUS,RP1
; BSF STATUS,RP0
MOVLW B'01100111'; SE SELECCIONA OSCILADOR INTERNO 4MHZ
MOVWF OSCCON
MOVLW B'00001111'
MOVWF OSCTUNE; CALIBRACION
BANKSEL PORTA ;
INICIO
MOVLW B'11111111'
MOVWF PORTA
MOVWF PORTB
MOVWF PORTC
MOVWF PORTD
MOVWF PORTE
CALL RET1S
MOVLW B'00000000'
MOVWF PORTA
MOVWF PORTB
MOVWF PORTC
MOVWF PORTD
MOVWF PORTE
CALL RET1S
GOTO INICIO
RET1S MOVLW 0X01
MOVWF REGT1
LOP4 MOVLW 0X1A
MOVWF REGT2
LOP3 MOVLW 0X5E
MOVWF REGT3
LOP2 MOVLW 0X6D
MOVWF REGT4
LOP1 DECFSZ REGT4
GOTO LOP1
DECFSZ REGT3
GOTO LOP2
DECFSZ REGT2
GOTO LOP3
DECFSZ REGT1
GOTO LOP4
RETURN
END