list      p=16f630            ; list directive to define processor
	#include <p16f630.inc>        ; processor specific variable definitions
	errorlevel  -302              ; suppress message 302 from list file
	__CONFIG   _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT  
   cblock	0x20			
      Delay
Delay1		;delay subroutine
      TEMP
      endc

;*************************** DEFINE STATEMENTS ********************************

	org     0x000			; processor reset vector
	goto	Initialize
	org	0x005			; Start of Programm Memory Vector
Initialize
	bsf     STATUS,RP0		; Bank 1 
	movwf   OSCCAL			; update register with factory cal 
					;  value 
	movlw	B'00000000'		; Set as outputs 
	movwf	TRISA			
	movlw	B'00000000'		; Set all I/O pins as outpute
	movwf	TRISC
	movlw	B'10000001'		; Weak pullups: disabled
	movwf	OPTION_REG		; TMR0 prescaler: 1:64 (TMR0 will 
	clrf	INTCON			; disable all interrupts, clear all 
	bcf     STATUS,RP0		; Bank 0
clrf	PORTA	
	clrf	PORTC		; clear all outputs
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
				

					MOVLW	D'05
					MOVWF	TEMP
	SYS_4_1	
					MOVLW	B'00010001' ;;;>>>>>>>>>>>>>
					MOVWF	PORTC
CALL DELAY
					MOVLW	B'00010010'
					MOVWF	PORTC
CALL DELAY
					MOVLW	B'00010100' 
					MOVWF	PORTC
CALL DELAY
					MOVLW	B'00011000'
					MOVWF	PORTC
CALL DELAY
					DECFSZ	TEMP,1
					GOTO	SYS_4_1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
					MOVLW	D'05
					MOVWF	TEMP
	SYS_4_2	
					MOVLW	B'00101000' ;;;>>>>>>>>>>>>>
					MOVWF	PORTC
CALL DELAY
					MOVLW	B'00100100'
					MOVWF	PORTC
CALL DELAY
					MOVLW	B'00100010' 
					MOVWF	PORTC
CALL DELAY
					MOVLW	B'00100001'
					MOVWF	PORTC
CALL DELAY
					DECFSZ	TEMP,1
					GOTO	SYS_4_2

	movlw	.500
		movwf	Delay     
DELAY
	decfsz	Delay,f
	goto	DELAY
	decfsz	Delay1,f
	goto	DELAY




      RETURN

     END
