;--------------Rutinas para generar retardos------------------------
;
;----- Generated by http://www.piclist.com/cgi-bin/delay.exe (December 7, 2005 version)----------

	cblock
	d1
	d2
	d3
	endc

; Delay = 5e-006 seconds
; Clock frequency = 4 MHz

; Actual delay = 5e-006 seconds = 5 cycles
; Error = 0 %

delay_5us
			;1 cycle
	nop

			;4 cycles (including call)
	return

; Delay = 0.0005 seconds
; Clock frequency = 4 MHz

; Actual delay = 0.0005 seconds = 500 cycles
; Error = 0 %

delay_500us
			;496 cycles
	movlw	0xA5
	movwf	d1
Delay_0
	decfsz	d1, f
	goto	Delay_0

			;4 cycles (including call)
	return

; Delay = 0.001 seconds
; Clock frequency = 4 MHz

; Actual delay = 0.001 seconds = 1000 cycles
; Error = 0 %


delay_1ms
			;993 cycles
	movlw	0xC6
	movwf	d1
	movlw	0x01
	movwf	d2
delay_1ms_0
	decfsz	d1, f
	goto	$+2
	decfsz	d2, f
	goto	delay_1ms_0

			;3 cycles
	goto	$+1
	nop

			;4 cycles (including call)
	return
	
; Delay = 0.005 seconds
; Clock frequency = 4 MHz

; Actual delay = 0.005 seconds = 5000 cycles
; Error = 0 %


delay_5ms
			;4993 cycles
	movlw	0xE6
	movwf	d1
	movlw	0x04
	movwf	d2
delay_5ms_0
	decfsz	d1, f
	goto	$+2
	decfsz	d2, f
	goto	delay_5ms_0

			;3 cycles
	goto	$+1
	nop

			;4 cycles (including call)
	return

; Delay = 0.01 seconds
; Clock frequency = 4 MHz

; Actual delay = 0.01 seconds = 10000 cycles
; Error = 0 %


delay_10ms
			;9993 cycles
	movlw	0xCE
	movwf	d1
	movlw	0x08
	movwf	d2
delay_10ms_0
	decfsz	d1, f
	goto	$+2
	decfsz	d2, f
	goto	delay_10ms_0

			;3 cycles
	goto	$+1
	nop

			;4 cycles (including call)
	return

; Delay = 0.05 seconds
; Clock frequency = 4 MHz

; Actual delay = 0.05 seconds = 50000 cycles
; Error = 0 %


delay_50ms
			;49993 cycles
	movlw	0x0E
	movwf	d1
	movlw	0x28
	movwf	d2
delay_50ms_0
	decfsz	d1, f
	goto	$+2
	decfsz	d2, f
	goto	delay_50ms_0

			;3 cycles
	goto	$+1
	nop

			;4 cycles (including call)
	return

; Delay = 0.1 seconds
; Clock frequency = 4 MHz

; Actual delay = 0.1 seconds = 100000 cycles
; Error = 0 %


delay_100ms
			;99993 cycles
	movlw	0x1E
	movwf	d1
	movlw	0x4F
	movwf	d2
delay_100ms_0
	decfsz	d1, f
	goto	$+2
	decfsz	d2, f
	goto	delay_100ms_0

			;3 cycles
	goto	$+1
	nop

			;4 cycles (including call)
	return

; Delay = 0.2 seconds
; Clock frequency = 4 MHz

; Actual delay = 0.2 seconds = 200000 cycles
; Error = 0 %


delay_200ms
			;199993 cycles
	movlw	0x3E
	movwf	d1
	movlw	0x9D
	movwf	d2
delay_200ms_0
	decfsz	d1, f
	goto	$+2
	decfsz	d2, f
	goto	delay_200ms_0

			;3 cycles
	goto	$+1
	nop

			;4 cycles (including call)
	return


; Delay = 0.5 seconds
; Clock frequency = 4 MHz

; Actual delay = 0.5 seconds = 500000 cycles
; Error = 0 %


delay_500ms
			;499994 cycles
	movlw	0x03
	movwf	d1
	movlw	0x18
	movwf	d2
	movlw	0x02
	movwf	d3
delay_500ms_0
	decfsz	d1, f
	goto	$+2
	decfsz	d2, f
	goto	$+2
	decfsz	d3, f
	goto	delay_500ms_0

			;2 cycles
	goto	$+1

			;4 cycles (including call)
	return


; Delay = 1 seconds
; Clock frequency = 4 MHz

; Actual delay = 1 seconds = 1000000 cycles
; Error = 0 %


delay_1s
			;999990 cycles
	movlw	0x07
	movwf	d1
	movlw	0x2F
	movwf	d2
	movlw	0x03
	movwf	d3
delay_1s_0
	decfsz	d1, f
	goto	$+2
	decfsz	d2, f
	goto	$+2
	decfsz	d3, f
	goto	delay_1s_0

			;6 cycles
	goto	$+1
	goto	$+1
	goto	$+1

			;4 cycles (including call)
	return

; Delay = 5 seconds
; Clock frequency = 4 MHz

; Actual delay = 5 seconds = 5000000 cycles
; Error = 0 %


delay_5s
			;4999993 cycles
	movlw	0x2C
	movwf	d1
	movlw	0xE7
	movwf	d2
	movlw	0x0B
	movwf	d3
delay_5s_0
	decfsz	d1, f
	goto	$+2
	decfsz	d2, f
	goto	$+2
	decfsz	d3, f
	goto	delay_5s_0

			;3 cycles
	goto	$+1
	nop

			;4 cycles (including call)
	return

; Delay = 10 seconds
; Clock frequency = 4 MHz

; Actual delay = 10 seconds = 10000000 cycles
; Error = 0 %

	

delay_10s
			;9999995 cycles
	movlw	0x5A
	movwf	d1
	movlw	0xCD
	movwf	d2
	movlw	0x16
	movwf	d3
delay_10s_0
	decfsz	d1, f
	goto	$+2
	decfsz	d2, f
	goto	$+2
	decfsz	d3, f
	goto	delay_10s_0

			;1 cycle
	nop

			;4 cycles (including call)
	return



