; list directive to define processor list p=12f629 ; processor specific variable definitions #include __CONFIG _CP_OFF & _MCLRE_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT & _BODEN_OFF & _CPD_OFF &_PWRTE_OFF #DEFINE LED GPIO,0 #DEFINE LED_IO TRISIO,0 CNT0 EQU 20H CNT1 EQU 21H CNT2 EQU 22H ;--------------------------------- ORG 0000H MOVLW 07H MOVWF CMCON ; TURN-OFF analog comparator BSF STATUS,RP0 ; select bank 1 CALL 3FFH ; Load cal value MOVWF OSCCAL BCF LED_IO ; set as output BCF STATUS,RP0 ; select bank 0 LOOP: BSF LED CALL DELAY BCF LED CALL DELAY GOTO LOOP ;--------------------------------- ; DELAY 0.5 SECONDS ROUTINE ;--------------------------------- DELAY: MOVLW 03H MOVWF CNT0 MOVLW 18H MOVWF CNT1 MOVLW 02H MOVWF CNT2 Delay_0 DECFSZ CNT0, f GOTO $+2 DECFSZ CNT1, f GOTO $+2 DECFSZ CNT2, f GOTO Delay_0 ;6 cycles GOTO $+1 ;delay 2 cycles GOTO $+1 ;delay 2 cycles GOTO $+1 ;delay 2 cycles ;4 cycles (including call) RETURN END