	
	;This program will blink a LED connected to pin 7  27-12-2005 




	list	p=12F629
	radix	dec
	include	"p12f629.inc"

	__CONFIG	_MCLRE_OFF & _CP_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT  ;Internal osc.

	
				; globals
aaaa	equ 	20h	;this is the first available file
bbbb	equ 	21h
ccc		equ 	22h
ddd		equ 	23h
eee		equ 	24h
fff		equ		25h

fileA		equ	26h
fileB		equ	27h	
filec		equ	28h	

status		equ	03h
option_reg	equ 81h

				; bits on GPIO
				
pin7	equ	0	;GP0  output to LED
pin6	equ	1	;GP1
pin5	equ	2	;GP2
pin4	equ	3	;GP3 
pin3	equ	4	;GP4 
pin2	equ	5	;GP5


				;bits
				
rp0		equ	5	
		


Start	org		0x00	;program starts at location 000
		nop
		nop
		nop
		nop				;NOPs to get past reset vector address
		nop
		nop

		
SetUp	bsf		STATUS, rp0 	;Bank 1	
		movlw	b'10000110'		;Turn off T0CKI, prescale for TMR0 = 1:128
		movwf	OPTION_REG
		movlw	b'00110111'		;Set GP0 (pin 7) as output
		tris	05h		
		bcf		status, rp0		;bank 0
		clrf 	GPIO       		;Clear GPIO of junk	
		goto	LED	
	

	
	
	;Delay 1 sec

Del		movlw 	40h
		movwf 	fileC	
DelX	decfsz 	fileA,1		; ,1 denotes the result of the decrement 
		goto 	DelX	
		decfsz 	fileB,1		;     is placed in the file	
		goto 	DelX
		decfsz 	fileC,1
		goto 	DelX
		retlw 	00
		
		
		
LED	bsf 	GPIO,pin7		;turn on LED
	call 	Del	
	bcf 	GPIO,pin7		;turn off LED
	call 	Del
	goto 	LED 
		
	

		;OSCCAL calibration value

	org		0x3ff
	movlw	0x20
		

	end
		

	
	