cblock
d1
d2
d3
endc

;---------------------------------------------
Retardo_5ms
			;4993 cycles
	movlw	0xE6
	movwf	d1
	movlw	0x04
	movwf	d2
Retardo_5ms_0
	decfsz	d1, f
	goto	$+2
	decfsz	d2, f
	goto	Retardo_5ms_0
			;3 cycles
	goto	$+1
	nop
		;4 cycles (including call)
	return
;----------------------------------------------

Retardo_20ms
			;19993 cycles
	movlw	0x9E
	movwf	d1
	movlw	0x10
	movwf	d2
Retardo_20ms_0
	decfsz	d1, f
	goto	$+2
	decfsz	d2, f
	goto	Retardo_20ms_0
			;3 cycles
	goto	$+1
	nop
			;4 cycles (including call)
	return
;---------------------------------------------------
Retardo_200micros
			;196 cycles
	movlw	0x41
	movwf	d1
Retardo_200us_0
	decfsz	d1, f
	goto	Retardo_200us_0
			;4 cycles (including call)
	return
;----------------------------------------------------
Retardo_50micros
			;46 cycles
	movlw	0x0F
	movwf	d1
Retardo_50us_0
	decfsz	d1, f
	goto	Retardo_50us_0
			;4 cycles (including call)
	return
;----------------------------------------------------
Retardo_2ms
			;1993 cycles
	movlw	0x8E
	movwf	d1
	movlw	0x02
	movwf	d2
Retardo_2ms_0
	decfsz	d1, f
	goto	$+2
	decfsz	d2, f
	goto	Retardo_2ms_0

			;3 cycles
	goto	$+1
	nop

			;4 cycles (including call)
	return
;----------------------------------------------------
Retardo_20micros
			;16 cycles
	movlw	0x05
	movwf	d1
Retardo_20micros_0
	decfsz	d1, f
	goto	Retardo_20micros_0
			;4 cycles (including call)
	return

;------------------------------------------------------
Retardo_1s
			;999990 cycles
	movlw	0x07
	movwf	d1
	movlw	0x2F
	movwf	d2
	movlw	0x03
	movwf	d3
Retardo_1s_0
	decfsz	d1, f
	goto	$+2
	decfsz	d2, f
	goto	$+2
	decfsz	d3, f
	goto	Retardo_1s_0
			;6 cycles
	goto	$+1
	goto	$+1
	goto	$+1
			;4 cycles (including call)
	return



