Está en la página 1de 23

************************* Librería movwf r1 ;4 ciclos (incluyendo

"RETARDOS_8MHZ.INC"******************* call)
Retardo_10micros_0
***********
return
decfsz r1, f
;
goto Retardo_10micros_0
; Librería de retardos para oscilador de 8
;---------------------------------------------------------------
MHz.
--------------------------
; ;4 ciclos (incluyendo Formatted: English (United States)
call)
; Web: http://electronica-pic.blogspot.com
; Retardo = 4e-06 segundos
return
;
; Frecuencia reloj = 8 MHz
;**************************************
*************************************** ;---------------------------------------------------------------
******* ------------------------- ; Retardo actual = 4e-06 segundos = 8 ciclos

; Error = 0 %
; Retardo = 1e-05 segundos ; Retardo = 5e-06 segundos.
; Clock frequency = 8 MHz ; Frecuencia reloj = 8 MHz Retardo_4micros

;4 ciclos
; Retardo actual = 1e-05 segundos = 20 ciclos ; Retardo actual = 5e-06 segundos = 10 ciclos goto $+1
; Error = 0 % ; Error = 0 % goto $+1

cblock Retardo_5micros ;4 ciclos (incluyendo


call)
r1 ;6 ciclos
return
endc goto $+1

goto $+1
;---------------------------------------------------------------
Retardo_10micros goto $+1
--------------------------
;16 ciclos

movlw 0x05
; Retardo = 0.0005 segundos ;3 ciclos Retardo_200micros_0

; Frecuencia reloj = 8 MHz goto $+1 decfsz r4, f

nop goto Retardo_200micros_0

; Retardo actual = 0.0005 segundos = 1000


ciclos
;4 ciclos (incluyendo ;2 ciclos
; Error = 0 % call)
goto $+1
return

cblock
;4 ciclos (including call)
r2 ;---------------------------------------------------------------
return
--------------------------
r3

endc
;---------------------------------------------------------------
; Retardo = 0.0002 segundos
--------------------------
; Frecuancia reloj = 8 MHz
Retardo_500micros

;993 ciclos ; Retardo = 0.0001 segundos


; Retardo actual = 0.0002 segundos = 400 ciclos
movlw 0xC6 ; Frecuencia reloj = 8 MHz
; Error = 0 %
movwf r2

movlw 0x01 ; retardo actual = 0.0001 segundos = 200 ciclos


cblock
movwf r3 ; Error = 0 %
r4
Retardo_500micros_0
endc
decfsz r2, f cblock

goto $+2 r5
Retardo_200micros
decfsz r3, f endc
;394 ciclos
goto Retardo_500micros_0
movlw 0x83
Retardo_100micros
movwf r4
;196 ciclos ;94 ciclos endc

movlw 0x41 movlw 0x1F

movwf r5 movwf r6 Retardo_20micros

Retardo_100micros_0 Retardo_50micros_0 ;34 ciclos

decfsz r5, f decfsz r6, f movlw 0x0B

goto Retardo_100micros_0 goto Retardo_50micros_0 movwf r7

Retardo_20micros_0

;4 ciclos (incluyendo ;2 ciclos decfsz r7, f


call)
goto $+1 goto Retardo_20micros_0
return

;4 ciclos (incluyendo ;2 ciclos


;--------------------------------------------------------------- call)
goto $+1
--------------------------
return

;4 ciclos (incluyendo
; Retardo = 5e-05 segundos
;--------------------------------------------------------------- call)
; Frecuencia reloj = 8 MHz --------------------------
return

; Retardo actual = 5e-05 segundos = 100 ciclos ; Retardo = 2e-05 segundos


;---------------------------------------------------------------
; Error = 0 % ; Frecuencia reloj = 8 MHz --------------------------

cblock ; Retardo actual = 2e-05 segundos = 40 ciclos ; Retardo = 0.2 segundos

r6 ; Error = 0 % ; Frecuancia reloj = 8 MHz

endc

cblock ; Retardo actual = 0.2 segundos = 400000 ciclos

Retardo_50micros r7 ; Error = 0 %
goto $+1 movlw 0x9D

cblock goto $+1 movwf r12

r8 Retardo_100ms_0

r9 ;4 ciclos (incluyendo decfsz r11, f


call)
r10 goto $+2
return
endc decfsz r12, f

goto Retardo_100ms_0
;---------------------------------------------------------------
Retardo_200ms
--------------------------
;399992 ciclos ;3 ciclos

movlw 0x35 goto $+1


; Retardo = 0.1 segundos
movwf r8 nop
; Frecuencia reloj = 8 MHz
movlw 0xE0

movwf r9 ;4 ciclos (incluyendo


; Retardo actual = 0.1 segundos = 200000 ciclos
call)
movlw 0x01
; Error = 0 %
return
movwf r10

Retardo_200ms_0
cblock
;---------------------------------------------------------------
decfsz r8, f
r11 --------------------------
goto $+2
r12
decfsz r9, f
endc ; Retardo = 0.05 segundos
goto $+2
; Frecuencia reloj = 8 MHz
decfsz r10, f
Retardo_100ms
goto Retardo_200ms_0
;199993 ciclos ; Retardo actual = 0.05 segundos = 100000
ciclos
movlw 0x3E
;4 ciclos ; Error = 0 %
movwf r11
return goto $+2

cblock decfsz r16, f

r13 ;--------------------------------------------------------------- goto Retardo_20ms_0


--------------------------
r14

endc ;3 ciclos
; Retardo = 0.02 segundos
goto $+1
; Frecuencia reloj = 8 MHz
Retardo_50ms nop

;99993 ciclos
; Retardo actual = 0.02 segundos = 40000 ciclos
movlw 0x1E ;4 ciclos (incluyendo
; Error = 0 % call)
movwf r13
return
movlw 0x4F
cblock
movwf r14
r15 ;---------------------------------------------------------------
Retardo_50ms_0
--------------------------
r16
decfsz r13, f
endc
goto $+2
; Retardo = 0.01 segundos
decfsz r14, f
; Frecuencia reloj = 8 MHz
Retardo_20ms
goto Retardo_50ms_0
;39993 ciclos
; Retardo actual = 0.01 segundos = 20000 ciclos
movlw 0x3E
;3 ciclos
; Error = 0 %
movwf r15
goto $+1
movlw 0x20
nop
cblock
movwf r16
r17
Retardo_20ms_0
;4 ciclos (incluyendo
r18
call) decfsz r15, f
endc
; Frecuencia reloj = 8 MHz goto $+1

Retardo_10ms nop

;19993 ciclos ; Retardo actual = 0.005 segundos = 10000


ciclos
movlw 0x9E ;4 ciclos (incluyendo
; Error = 0 % call)
movwf r17
return
movlw 0x10
cblock
movwf r18
r19 ;---------------------------------------------------------------
Retardo_10ms_0
--------------------------
r20
decfsz r17, f
endc
goto $+2
; Retardo = 0.002 segundos
decfsz r18, f
; Frecuencia reloj = 8 MHz
Retardo_5ms
goto Retardo_10ms_0
;9993 ciclos
; Retardo actual = 0.002 segundos = 4000 ciclos
movlw 0xCE
;3 ciclos
; Error = 0 %
movwf r19
goto $+1
movlw 0x08
nop
cblock
movwf r20
r21
Retardo_5ms_0
;4 ciclos (incluyendo
r22
call) decfsz r19, f
endc
return goto $+2

decfsz r20, f
Retardo_2ms
;--------------------------------------------------------------- goto Retardo_5ms_0
-------------------------- ;3993 ciclos

movlw 0x1E
;3 ciclos
; Retardo = 0.005 segundos movwf r21
movlw 0x04 cblock Formatted: English (United States)

movwf r22 r23 ;---------------------------------------------------------------


--------------------------
Retardo_2ms_0 r24

decfsz r21, f endc


; Retardo = 20 segundos
goto $+2
; Frecuencia reloj = 8 MHz
decfsz r22, f Retardo_1ms

goto Retardo_2ms_0 ;1993 ciclos


; Retardo actual = 20 segundos = 40000000
movlw 0x8E
ciclos
;3 ciclos movwf r23
; Error = 0 %
goto $+1 movlw 0x02

nop movwf r24


cblock Formatted: English (United States)
Retardo_1ms_0
r25
;4 ciclos (incluyendo decfsz r23, f
r26
call)
goto $+2
r27
return
decfsz r24, f
endc
goto Retardo_1ms_0
;---------------------------------------------------------------
-------------------------- Retardo_20s
;3 ciclos
;39999993 ciclos
goto $+1
; Retardo = 0.001 segundos movlw 0x6C
nop
; Frecuencia reloj = 8 MHz movwf r25

movlw 0x32
;4 ciclos (incluyendo
; Retardo actual = 0.001 segundos = 2000 ciclos movwf r26
call)
; Error = 0 % movlw 0x58
return
movwf r27
Retardo_20s_0 goto $+1

decfsz r25, f cblock goto $+1

goto $+2 r28

decfsz r26, f r29 ;4 ciclos (incluyendo


call)
goto $+2 r30
return
decfsz r27, f endc

goto Retardo_20s_0
;---------------------------------------------------------------
Retardo_10s
--------------------------
;3 ciclos ;19999992 ciclos

goto $+1 movlw 0xB5


; Retardo = 5 segundos
nop movwf r28
; Frecuencia reloj = 8 MHz
movlw 0x99

;4 ciclos (incluyendo movwf r29 Formatted: English (United States)


; Retardo actual = 5 segundos = 10000000 ciclos
call)
movlw 0x2C
; Error = 0 %
return
movwf r30

Retardo_10s_0
cblock Formatted: English (United States)
;---------------------------------------------------------------
decfsz r28, f
-------------------------- r31
goto $+2
r32
decfsz r29, f
; Retardo = 10 segundos r33
goto $+2
; Frecuencia reloj = 8 MHz endc
decfsz r30, f

goto Retardo_10s_0
; Retardo actual = 10 segundos = 20000000 Retardo_5s
ciclos
;9999995 ciclos
; Error = 0 % ;4 ciclos
movlw 0x5A
movwf r31 goto Retardo_2s_0

movlw 0xCD ; Retardo actual = 2 segundos = 4000000 ciclos

movwf r32 ; Error = 0 % ;2 ciclos

movlw 0x16 goto $+1

movwf r33 cblock Formatted: English (United States)

Retardo_5s_0 r34 ;4 ciclos (incluyendo


call)
decfsz r31, f r35
return
goto $+2 r36

decfsz r32, f endc


;---------------------------------------------------------------
goto $+2
--------------------------
decfsz r33, f Retardo_2s

goto Retardo_5s_0 ;3999994 ciclos


; Retardo = 1 segundo
movlw 0x23
; Frecuencia reloj = 8 MHz
;1 ciclos movwf r34

nop movlw 0xB9


; Retardo actual = 1 segundo = 2000000 ciclos
movwf r35
; Error = 0 %
;4 ciclos (incluyendo movlw 0x09
call)
movwf r36
cblock
return
Retardo_2s_0
r37
decfsz r34, f
r38
;---------------------------------------------------------------
goto $+2
-------------------------- r39
decfsz r35, f
endc
goto $+2
; Retardo = 2 segundos
decfsz r36, f
; Frecuencia reloj = 8 MHz Retardo_1s
;1999996 ciclos ; Retardo actual = 0.5 segundos = 999990 ciclos

movlw 0x11 ; Error = 0 % ;6 ciclos

movwf r37 goto $+1

movlw 0x5D cblock goto $+1 Formatted: English (United States)

movwf r38 r40 goto $+1

movlw 0x05 r41 Formatted: English (United States)

movwf r39 r42 ;4 cicles (incluyendo


call)
Retardo_1s_0 endc
return
decfsz r37, f

goto $+2 Retardo_500ms


;---------------------------------------------------------------
decfsz r38, f ;999990 ciclos
--------------------------
goto $+2 movlw 0x07

decfsz r39, f movwf r40


; Retardo = 60 segundos
goto Retardo_1s_0 movlw 0x2F
; Frecuencia reloj = 8 MHz
movwf r41

;4 ciclos (incluyendo movlw 0x03


; Retardo actual = 30 segundos = 59999994
call)
movwf r42 ciclos
return
Retardo_500ms_0 ; Error = 0 %

decfsz r40, f
;---------------------------------------------------------------
goto $+2 cblock Formatted: English (United States)
--------------------------
decfsz r41, f r43

goto $+2 r44


; Retardo = 0.5 segundos
decfsz r42, f r45
; Frecuencia reloj = 8 MHz
goto Retardo_500ms_0 endc
;--------------------------------------------------------------- movlw 0x01
--------------------------
Retardo_30s movwf r49

;59999994 ciclos Retardo_60s_0


; Retardo = 60 segundos
movlw 0x23 decfsz r46, f
; Frecuencia reloj = 8 MHz
movwf r43 goto $+2

movlw 0xCB decfsz r47, f


; Retardo actual = 60 segundos = 999990 ciclos
movwf r44 goto $+2
; Error = 0 % Formatted: English (United States)
movlw 0x83 decfsz r48, f

movwf r45 goto $+2


cblock
Retardo_30s_0 decfsz r49, f
r46
decfsz r43, f goto Retardo_60s_0
r47
goto $+2
r48
decfsz r44, f ;1 ciclo
r49
goto $+2 nop
endc
decfsz r45, f

goto Retardo_30s_0 ;4 ciclos (incluyendo


Retardo_60s call)

;119999995 ciclos return


;2 ciclos
movlw 0x54
goto $+1
movwf r46 ;--------------------------------------------------------------- Formatted: English (United States)
--------------------------
movlw 0x74
;4 ciclos (incluyendo
;
call) movwf r47
; Librería de retardos para oscilador de 8
return movlw 0xCC
MHz.
movwf r48
; Formatted: English (United States)
; Web: http://electronica-pic.blogspot.com goto $+1

; Retardo_10micros goto $+1

;************************************** ;16 ciclos


***************************************
movlw 0x05 ;4 ciclos (incluyendo
*************************************
call)
Librería movwf r1
"RETARDOS_8MHZ.INC"******************* return
*********** Retardo_10micros_0

; decfsz r1, f
;---------------------------------------------------------------
; Librería de retardos para oscilador de 8 goto Retardo_10micros_0
--------------------------
MHz.

; ;4 ciclos (incluyendo
; Retardo = 4e-06 segundos
; Web: http://electronica-pic.blogspot.com call)
; Frecuencia reloj = 8 MHz
; return

;**************************************
*************************************** ; Retardo actual = 4e-06 segundos = 8 ciclos
;---------------------------------------------------------------
******* ------------------------- ; Error = 0 %

; Retardo = 1e-05 segundos ; Retardo = 5e-06 segundos. Retardo_4micros


; Clock frequency = 8 MHz ; Frecuencia reloj = 8 MHz ;4 ciclos

goto $+1
; Retardo actual = 1e-05 segundos = 20 ciclos ; Retardo actual = 5e-06 segundos = 10 ciclos goto $+1
; Error = 0 % ; Error = 0 %

;4 ciclos (incluyendo
cblock call)
Retardo_5micros
r1 return
;6 ciclos
endc goto $+1
;--------------------------------------------------------------- goto Retardo_500micros_0 movlw 0x83
--------------------------
movwf r4

;3 ciclos Retardo_200micros_0
; Retardo = 0.0005 segundos
goto $+1 decfsz r4, f
; Frecuencia reloj = 8 MHz
nop goto Retardo_200micros_0

; Retardo actual = 0.0005 segundos = 1000


;4 ciclos (incluyendo ;2 ciclos
ciclos
call)
goto $+1
; Error = 0 %
return

;4 ciclos (including call)


cblock
;---------------------------------------------------------------
return
r2 --------------------------

r3
;---------------------------------------------------------------
endc ; Retardo = 0.0002 segundos
--------------------------
; Frecuancia reloj = 8 MHz

Retardo_500micros
; Retardo = 0.0001 segundos
;993 ciclos ; Retardo actual = 0.0002 segundos = 400 ciclos
; Frecuencia reloj = 8 MHz
movlw 0xC6 ; Error = 0 %

movwf r2
; retardo actual = 0.0001 segundos = 200 ciclos
movlw 0x01 cblock
; Error = 0 %
movwf r3 r4

Retardo_500micros_0 endc
cblock
decfsz r2, f
r5
goto $+2 Retardo_200micros
endc
decfsz r3, f ;394 ciclos
cblock

Retardo_100micros Retardo_50micros r7

;196 ciclos ;94 ciclos endc

movlw 0x41 movlw 0x1F

movwf r5 movwf r6 Retardo_20micros

Retardo_100micros_0 Retardo_50micros_0 ;34 ciclos

decfsz r5, f decfsz r6, f movlw 0x0B

goto Retardo_100micros_0 goto Retardo_50micros_0 movwf r7

Retardo_20micros_0

;4 ciclos (incluyendo ;2 ciclos decfsz r7, f


call)
goto $+1 goto Retardo_20micros_0
return

;4 ciclos (incluyendo ;2 ciclos


;--------------------------------------------------------------- call)
goto $+1
--------------------------
return

;4 ciclos (incluyendo
; Retardo = 5e-05 segundos
;--------------------------------------------------------------- call)
; Frecuencia reloj = 8 MHz --------------------------
return

; Retardo actual = 5e-05 segundos = 100 ciclos ; Retardo = 2e-05 segundos


;---------------------------------------------------------------
; Error = 0 % ; Frecuencia reloj = 8 MHz --------------------------

cblock ; Retardo actual = 2e-05 segundos = 40 ciclos ; Retardo = 0.2 segundos

r6 ; Error = 0 % ; Frecuancia reloj = 8 MHz

endc
; Retardo actual = 0.2 segundos = 400000 ciclos movlw 0x3E

; Error = 0 % ;4 ciclos movwf r11

goto $+1 movlw 0x9D

cblock goto $+1 movwf r12

r8 Retardo_100ms_0

r9 ;4 ciclos (incluyendo decfsz r11, f


call)
r10 goto $+2
return
endc decfsz r12, f

goto Retardo_100ms_0
;---------------------------------------------------------------
Retardo_200ms
--------------------------
;399992 ciclos ;3 ciclos

movlw 0x35 goto $+1


; Retardo = 0.1 segundos
movwf r8 nop
; Frecuencia reloj = 8 MHz
movlw 0xE0

movwf r9 ;4 ciclos (incluyendo


; Retardo actual = 0.1 segundos = 200000 ciclos
call)
movlw 0x01
; Error = 0 %
return
movwf r10

Retardo_200ms_0
cblock
;---------------------------------------------------------------
decfsz r8, f
r11 --------------------------
goto $+2
r12
decfsz r9, f
endc ; Retardo = 0.05 segundos
goto $+2
; Frecuencia reloj = 8 MHz
decfsz r10, f
Retardo_100ms
goto Retardo_200ms_0
;199993 ciclos
; Retardo actual = 0.05 segundos = 100000 Retardo_20ms_0
ciclos
;4 ciclos (incluyendo decfsz r15, f
; Error = 0 % call)
goto $+2
return
decfsz r16, f
cblock
goto Retardo_20ms_0
r13 ;---------------------------------------------------------------
--------------------------
r14
;3 ciclos
endc
goto $+1
; Retardo = 0.02 segundos
nop
; Frecuencia reloj = 8 MHz
Retardo_50ms

;99993 ciclos
;4 ciclos (incluyendo
; Retardo actual = 0.02 segundos = 40000 ciclos
movlw 0x1E call)
; Error = 0 %
movwf r13 return

movlw 0x4F
cblock
movwf r14 ;---------------------------------------------------------------
r15 --------------------------
Retardo_50ms_0
r16
decfsz r13, f
endc ; Retardo = 0.01 segundos
goto $+2
; Frecuencia reloj = 8 MHz
decfsz r14, f
Retardo_20ms
goto Retardo_50ms_0
;39993 ciclos ; Retardo actual = 0.01 segundos = 20000 ciclos

movlw 0x3E ; Error = 0 %


;3 ciclos
movwf r15
goto $+1
movlw 0x20 cblock
nop
movwf r16 r17
r18

endc ; Retardo = 0.005 segundos ;3 ciclos

; Frecuencia reloj = 8 MHz goto $+1

Retardo_10ms nop

;19993 ciclos ; Retardo actual = 0.005 segundos = 10000


ciclos
movlw 0x9E ;4 ciclos (incluyendo
; Error = 0 % call)
movwf r17
return
movlw 0x10
cblock
movwf r18
r19 ;---------------------------------------------------------------
Retardo_10ms_0
--------------------------
r20
decfsz r17, f
endc
goto $+2
; Retardo = 0.002 segundos
decfsz r18, f
; Frecuencia reloj = 8 MHz
Retardo_5ms
goto Retardo_10ms_0
;9993 ciclos
; Retardo actual = 0.002 segundos = 4000 ciclos
movlw 0xCE
;3 ciclos
; Error = 0 %
movwf r19
goto $+1
movlw 0x08
nop
cblock
movwf r20
r21
Retardo_5ms_0
;4 ciclos (incluyendo
r22
call) decfsz r19, f
endc
return goto $+2

decfsz r20, f
Retardo_2ms
;--------------------------------------------------------------- goto Retardo_5ms_0
-------------------------- ;3993 ciclos
movlw 0x1E ; Error = 0 % ;4 ciclos (incluyendo
call)
movwf r21
return
movlw 0x04 cblock

movwf r22 r23


;---------------------------------------------------------------
Retardo_2ms_0 r24
--------------------------
decfsz r21, f endc

goto $+2
; Retardo = 20 segundos
decfsz r22, f Retardo_1ms
; Frecuencia reloj = 8 MHz
goto Retardo_2ms_0 ;1993 ciclos

movlw 0x8E
; Retardo actual = 20 segundos = 40000000
;3 ciclos movwf r23 ciclos

goto $+1 movlw 0x02 ; Error = 0 %

nop movwf r24

Retardo_1ms_0 cblock

;4 ciclos (incluyendo decfsz r23, f r25


call)
goto $+2 r26
return
decfsz r24, f r27

goto Retardo_1ms_0 endc


;---------------------------------------------------------------
--------------------------
;3 ciclos Retardo_20s

goto $+1 ;39999993 ciclos


; Retardo = 0.001 segundos
nop movlw 0x6C
; Frecuencia reloj = 8 MHz
movwf r25

movlw 0x32
; Retardo actual = 0.001 segundos = 2000 ciclos
movwf r26 ; Retardo actual = 10 segundos = 20000000 goto Retardo_10s_0
ciclos
movlw 0x58
; Error = 0 %
movwf r27 ;4 ciclos

Retardo_20s_0 goto $+1


cblock
decfsz r25, f goto $+1
r28
goto $+2
r29
decfsz r26, f ;4 ciclos (incluyendo
r30 call)
goto $+2
endc return
decfsz r27, f

goto Retardo_20s_0
Retardo_10s ;---------------------------------------------------------------
--------------------------
;19999992 ciclos
;3 ciclos
movlw 0xB5
goto $+1
; Retardo = 5 segundos
movwf r28
nop
; Frecuencia reloj = 8 MHz
movlw 0x99

movwf r29
;4 ciclos (incluyendo
; Retardo actual = 5 segundos = 10000000 ciclos
call) movlw 0x2C
; Error = 0 %
return movwf r30

Retardo_10s_0
cblock
;--------------------------------------------------------------- decfsz r28, f
-------------------------- r31
goto $+2
r32
decfsz r29, f
; Retardo = 10 segundos r33
goto $+2
; Frecuencia reloj = 8 MHz endc
decfsz r30, f
Retardo_5s decfsz r35, f

;9999995 ciclos ; Retardo = 2 segundos goto $+2

movlw 0x5A ; Frecuencia reloj = 8 MHz decfsz r36, f

movwf r31 goto Retardo_2s_0

movlw 0xCD ; Retardo actual = 2 segundos = 4000000 ciclos

movwf r32 ; Error = 0 % ;2 ciclos

movlw 0x16 goto $+1

movwf r33 cblock

Retardo_5s_0 r34 ;4 ciclos (incluyendo


call)
decfsz r31, f r35
return
goto $+2 r36

decfsz r32, f endc


;---------------------------------------------------------------
goto $+2
--------------------------
decfsz r33, f Retardo_2s

goto Retardo_5s_0 ;3999994 ciclos


; Retardo = 1 segundo
movlw 0x23
; Frecuencia reloj = 8 MHz
;1 ciclos movwf r34

nop movlw 0xB9


; Retardo actual = 1 segundo = 2000000 ciclos
movwf r35
; Error = 0 %
;4 ciclos (incluyendo movlw 0x09
call)
movwf r36
cblock
return
Retardo_2s_0
r37
decfsz r34, f
r38
;---------------------------------------------------------------
goto $+2
-------------------------- r39
endc ; Retardo = 0.5 segundos goto $+2

; Frecuencia reloj = 8 MHz decfsz r42, f

Retardo_1s goto Retardo_500ms_0

;1999996 ciclos ; Retardo actual = 0.5 segundos = 999990 ciclos

movlw 0x11 ; Error = 0 % ;6 ciclos

movwf r37 goto $+1

movlw 0x5D cblock goto $+1

movwf r38 r40 goto $+1

movlw 0x05 r41

movwf r39 r42 ;4 cicles (incluyendo


call)
Retardo_1s_0 endc
return
decfsz r37, f

goto $+2 Retardo_500ms


;---------------------------------------------------------------
decfsz r38, f ;999990 ciclos
--------------------------
goto $+2 movlw 0x07

decfsz r39, f movwf r40


; Retardo = 60 segundos
goto Retardo_1s_0 movlw 0x2F
; Frecuencia reloj = 8 MHz
movwf r41

;4 ciclos (incluyendo movlw 0x03


; Retardo actual = 30 segundos = 59999994
call)
movwf r42 ciclos
return
Retardo_500ms_0 ; Error = 0 %

decfsz r40, f
;---------------------------------------------------------------
goto $+2 cblock
--------------------------
decfsz r41, f r43
r44 ;4 ciclos (incluyendo movwf r47
call)
r45 movlw 0xCC
return
endc movwf r48

movlw 0x01
;---------------------------------------------------------------
Retardo_30s movwf r49
--------------------------
;59999994 ciclos Retardo_60s_0

movlw 0x23 decfsz r46, f


; Retardo = 60 segundos
movwf r43 goto $+2
; Frecuencia reloj = 8 MHz
movlw 0xCB decfsz r47, f

movwf r44 goto $+2


; Retardo actual = 60 segundos = 999990 ciclos
movlw 0x83 decfsz r48, f
; Error = 0 %
movwf r45 goto $+2

Retardo_30s_0 decfsz r49, f


cblock
decfsz r43, f goto Retardo_60s_0
r46
goto $+2
r47
decfsz r44, f ;1 ciclo
r48
goto $+2 nop
r49
decfsz r45, f
endc
goto Retardo_30s_0 ;4 ciclos (incluyendo
call)
Retardo_60s
return
;2 ciclos
;119999995 ciclos
goto $+1
movlw 0x54
;---------------------------------------------------------------
movwf r46 --------------------------

movlw 0x74 ;
; Librería de retardos para oscilador de 8
MHz.

; Web: http://electronica-pic.blogspot.com

;**************************************
***************************************
************

También podría gustarte