este es un pequño ejemplo de hacer parpadear un led con un retardo de 1 seg pero no comete su objetivo el led se vuelve intermitente y quisiera saber que estoy haciendo mal, ahora que configuracion debo hacer en el epicwin para poder utilizar un cristal de 20Mhz
List P=16F877A
Include "P16F877A.INC"
PDel0 EQU 0x20
PDel1 EQU 0x21
PDel2 EQU 0x22
#Define BANCO_H bsf STATUS,RP1
#Define BANCO_L bcf STATUS,RP1
#Define BANCO1 bsf STATUS,RP0
#Define BANCO0 bcf STATUS,RP0
#Define BAUD D'100' ; Baud Rate Deseada en kbps
#Define FOSC D'4000' ; Frecuencia del oscillator en kHz
__config (_CP_OFF & _DEBUG_OFF & _WRT_ENABLE_OFF & _CPD_OFF & _LVP_OFF & _BODEN_ON & _PWRTE_ON & _WDT_OFF & _XT_OSC)
no se que significa esto alguien puede ayudarme?????????
org 0
goto INICIO
;************************************************************************************************
; PROGRAMA PRINCIPAL
;************************************************************************************************
INICIO BANCO_L
BANCO1
MOVLW B'00000111'
MOVWF ADCON1 ;SELECIONO LA OPCION DE E/S DIGITALES
CLRF TRISA ;PORTA SON SALIDAS
BANCO0
CLRF PORTA
BUCLE BSF PORTA,0
CALL DEMORA
BCF PORTA,0
CALL DEMORA
GOTO BUCLE
DEMORA movlw .14 ; 1 set numero de repeticion ©
movwf PDel0 ; 1 |
PLoop0 movlw .72 ; 1 set numero de repeticion (
movwf PDel1 ; 1 |
PLoop1 movlw .247 ; 1 set numero de repeticion (A)
movwf PDel2 ; 1 |
PLoop2 clrwdt ; 1 clear watchdog
decfsz PDel2, 1 ; 1 + (1) es el tiempo 0 ? (A)
goto PLoop2 ; 2 no, loop
decfsz PDel1, 1 ; 1 + (1) es el tiempo 0 ? (
goto PLoop1 ; 2 no, loop
decfsz PDel0, 1 ; 1 + (1) es el tiempo 0 ? ©
goto PLoop0 ; 2 no, loop
PDelL1 goto PDelL2 ; 2 ciclos delay
PDelL2 clrwdt ; 1 ciclo delay
return ; 2+2 Fin.
END