;Anthony Rodgers ;Oct 5th, 05 ;BlnkDem - flash an LED list p=16F630 ; list directive to define processor #include ; processor specific variable definitions __CONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT VARIABLES UDATA_SHR delayA RES 1 delayB RES 1 ;********************************************************************** RESET_VECTOR CODE 0x000 ; processor reset vector goto main ; go to beginning of program ; these first 4 instructions are not required if the internal oscillator is not used PROGRAM CODE main call 0x3FF ; retrieve factory calibration value bsf STATUS,RP0 ; set file register bank to 1 movwf OSCCAL ; update register with factory cal value movlw 0x00 movwf TRISC bcf STATUS,RP0 ; set file register bank to 0 loop clrf PORTC call delay movlw 0xFF movwf PORTC call delay goto loop ;------------------------------------------------------------------- ;Delay Routine delay movlw 0xFF movwf delayA loopA decfsz delayA, f goto loopA return ;------------------------------------------------------------------- END ; directive 'end of program'