You are on page 1of 15

Diseo de Lazos de Retardo de

Tiempo
Un Lazo de Retardo de Tiempo es un
programa que efecta como objetivo, la
generacin de un intervalo o retardo de
tiempo, y son ampliamente utilizados
como parte fundamental de los programas
de entrada/salida.

Lazos Pasivos
Inicio
Programa
Retardo
Continua
Programa

Este tipo de lazos se utilizan


en aplicaciones donde no es
necesario

que

microcontrolador

el
atienda

algn otro evento durante el


retardo de tiempo.

Lazos Activos
Evento que requiere

Inicio

atencin en intervalos

Programa

de tiempo menor

Programa
Cont -1

al retardo tiempo
Cont
Lazo de Retardo

=0
Continua
Programa

de Tiempo

Diseo de Lazos de Retardo de


Tiempo
El retardo de tiempo o intervalo se logra
aprovechando el tiempo que transcurre
durante la ejecucin de una instruccin,
ejecutndola en forma repetitiva, tantas
veces como sea necesario hasta obtener
el retardo deseado.

Diseo de Lazos de Retardo de


Tiempo
El tiempo de ejecucin de una instruccin,
se obtiene, multiplicando el nmero de
ciclos de mquina empleados para su
ejecucin por la duracin del ciclo
mquina.

Diseo de Lazos de Retardo de


Tiempo

Diseo de Lazos de Retardo de


Tiempo

Diseo de Lazos de Retardo de


Tiempo
CRISTAL
16 Mhz

PU
Oscilador

Divisor / 2

Frec. de Trabajo
8Mhz

MEMORIA
0800 09
0801 26 fd

1 ciclo maq. 0.125 seg

Lazo dex
bne lazo

Diseo de Lazos Retardo de


Tiempo

Tiempo de Ejecucin de la
Instruccin BNEX

Tiempo de Ejecucin de la
Instruccin DEX

Instruccin

Ciclos Maquina

Tiempo de
Ejecucin

DEX

0.125 seg

BNE

0.375 seg

Ejemplo:
Retardo de Tiempo basado en el Registro ndice
Delay
Ix

#$N

Ix 1

Ix

BNE
V

RTS

Instruccin

Ciclos
Maq.

A (LDX)

B (DEX)

C (BNE)

D (RTS)

Formula para clculo de Tiempo:


T= (A + D + (B + C) X N) C.M. (0.125 seg/ 1 C.M.)

Clculo de la duracin del Retardo de Tiempo


para un valor del Registro ndice X
de $ffff= 65535
T= (A + D + (B + C) X N) C.M. (0.125 seg/ 1 C.M.)
T= (2 + 5 + (1 + 3) X 65535) C.M.(0.125 seg/1 C.M.)
T= (262147)(0.125 seg)
T= 32768.375 seg
T= 33 mseg aprox.

Clculo del valor del Registro ndice X N para


un retardo de 1 mseg.
Formula:

T= (A + D + (B + C) X N) C.M. (0.125 seg/ 1 C.M.)


Despejando:

N= ((T/0.125 seg) - A - D)/(B+ C)


N= (1 mseg/0.125 seg -7) / 4
N= 1998
En Hexadecimal:

N= $7CE

Ejemplo:
Retardo de Tiempo de 1 segundo aprox.
Retardo1
Iy

#1000

La Rutina Delay dura


1 msegundo

delay
Iy 1

Iy

BNE
V

RTS

Ejemplo:
Programa que activa un contador binario en el
Puerto A, con retardo de un 1seg. Aprox.
Inicio
Programa PA como Salida
Inicializa Puerto A (Contador)
Retardo
Incrementa Puerto A

Ejemplo:
Programa que activa un contador binario en el
Puerto A, con retardo de un 1seg. Aprox.
Inicio
$ff

(0002)

$00

(0000)

Retardo1
(0000) + 1

(0000)

Lazo

Org

$0800

Mov
Clr
Jsr
Inc
Bra

$ff,$0002
$0000
Retardo1
$0000
lazo

You might also like