Está en la página 1de 2

SUBRUTINA DE RETARDO

EMPEZAR

Cargar REG1 con VALOR 1

TRES

Cargar REG2 con VALOR 2

DOS Delay movlw 0x50 ;1CM


movwf reg1 ;1CM
Cargar REG3 con VALOR 3
tres movlw 0x40 ;1CM
c
UNO movwf reg2 ;1CM
dos movlw 0x30 ;1CM
DEC REG3 B
movwf reg3 ;1CM
NO uno decfsz reg3,f ;1CM A
Es REG3=0
goto uno ;2CM
SI
decfsz reg2,f ; 1CM
DEC REG2
goto dos ; 2CM
NO decfsz reg1,f ; 1CM
Es REG2=0
goto tres ; 2CM
SI
return ; 2CM
DEC REG1

NO
Es REG1=0

SI

TERMINAR
EJEMPLO DE CÁLCULOS DE TIEMPOS DE EJECUCIÓN.
CASO 1
V.REG1=0x30=48
V.REG22=0x40=64
V.REG33=0x10=16

A=3CM*V.REG1
A=3CM*48
A=144CM

B=(A+5CM)*V.REG2
B=149CM*64
B=9536CM

C=(B+5CM)*V.REG3
C=9541CM*16
C=152656CM
NoTotCM=C+4CM
=152660CM

CASO 2.

V.REG1=0x50=80
V.REG22=0x40=64
V.REG3=0x30=48

A=3CM*V.REG1
A=144CM*48

B=(A+5CM)*V.REG2
B=149CM*64
B=9536CM

C=(B+5CM)*V.REG3
C=9541CM*80
C=763280CM

NoTotCM=C+4CM
=763284CM

Fosc=1MHz
T.CM=4uS
TejecSub=NoCM*T.CM=152660*4uS
Teje->0,15Seg
TejecSub=NoCM*T.CM=763284*4uS
Teje->0,76Seg