Se genera un retardo de 4 microsegundos llamando a la subrutina y regresando (call y return) la llamada y el regreso generan 2 ciclos maquina cada uno Se genera un retardo de 5 microsegundos agregando la instruccin nop, y se toma la subrutina de 4 microsegundos Se cargan distintos valores al registro de trabajo (w) para generar los siguientes retardos: 500 micros (w=164) 200 micros (w= 64) 100 micros (w=31) 50 micros (w= 14) 20 micros (w= 5) Retardos de 4 microsegundos hasta 500 microsegundos
R_ContA=0 R_ContA - 1 Se carga el valor de W a R_Conta FIN SI NO Retardos de 1 milisegundo a 200 milisegundos
INICIO
SE DECLARAN LAS VARIABLES R_ContA R_ContB R_Contc
Se carga W dependiendo la subrutina a utilizar Retardo_200ms (w= 200) Retardo_100ms (w= 100) Retardo_50ms (w=50) Retardo_20ms (w= 20) Retardo_10ms (w=10) Retardo_5ms (w=5) Retardo_2ms (w=2) Retardo_1ms (w=1)
Se carga el valor de W a R_ContB
Se carga w con un valor decimal 249 y se enva al R_ContA (con esto se crea un retardo de 1 ms) decrementa R_contA R_ContA - 1 R_ContA=0 Decrementa R_ContB R_ContB=0 Fin NO SI SI NO Retardos de 0.5 segundos hasta 20 segundos
INICIO
SE DECLARAN LAS VARIABLES R_ContA R_ContB R_Contc
Se carga W dependiendo la subrutina a utilizar Retardo_20s (w= 200) Retardo_10s (w= 100) Retardo_5s (w=50) Retardo_2s (w= 20) Retardo_1 (w=10) Retardo_500 ms (w=5)
Se carga el valor de W a R_ContC
Se carga w con un valor decimal 100 y se enva al R_ContB (con esto se creara un retadordo de 0.1 segundo) Cargar w con un valor decimal 249 y se enva a R_ContA (Crea un retardo de 1 milisegundo) R_ContA=0 Decrementa R_ContB R_ContB - 1 NO SI Decrementar R_ContA R_ContA - 1 R_ContB=0 X