Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
- Subrutinas
5.1.- Introduccin.
5.2.- Subrutinas de retardo.
5.1.- Introduccin
Una
subrutina
o
subprograma es una parte
de programa que realiza
una accin concreta y se
repite a menudo, para
ahorrar memoria y esfuerzo
y para hacer el programa
mas comprensible.
Una subrutina se debe
ejecutar
siempre
llamndola
con
la
instruccin CALL y al final
de dicha subrutina debe
haber siempre un RETURN.
El
esquema
siguiente
muestra como funcionan
las subrutinas:
CALL SUBR
..
..
..
CALL SUBR
.
.
SUBR
.
.
RETURN
5.2.Subrutinas
retardo
de
Ejemplos
1.- Calcular la duracin de 1 ciclo
maquina para un PIC 16F84A que
utiliza un cristal de cuarzo de 4MHz
Solucin:
4
4
T cm
1cm 1seg
f
4 MHz
2cm 2 seg
1500cm 1.5mseg
En total=1 mseg
;aporta 2 cm
T 5 4K ;
TIEMPO 5
K
4
4 seg
123.75 124
T 5 4 K 501seg
..
Call sg0.2
..
..
;aporta 2cm
sg0.2
movlw d200; aporta 1cm.Este es el valor de M
movwf contB ;aporta 1cm
ciclo1
movlw d255;aportaMx1cm.Este es K
movwf contA;aporta Mx1cm
ciclo2
nop
;aporta(KxMx1)cm
decfsz contA,F;(K-1)xMx1cm(cuando no salta)+
;Mx2(al saltar)
goto ciclo2
;(K-1)xMx2cm
decfsz contB,F;(M-1)x1 (cuando no salta)+2cm(al saltar)
goto ciclo1
;(M-1)x2cm
return
Total: 0.204806 seg
TAREAS
Investigar la funcin de las
siguientes instrucciones:
Carga
Bit
Clrw
Addlw
Movf f,d k
Addwf
f,d
Decf
f,d
Incf
f,d
Sublw k
Subwf
f,d
Logicas
Salto
Especia
les
Andlw k
Andwf
f,d
Comf
f,d
Iorlw k
Iorwf
f,d
Decfsz
f,d
Incfsz
f,d
Nop
Sleep
clrwdt