Download - Lazos de Tiempo HC08
![Page 1: Lazos de Tiempo HC08](https://reader035.vdocumento.com/reader035/viewer/2022072117/55cf8eef550346703b9722de/html5/thumbnails/1.jpg)
Diseño de Lazos de Retardo de Tiempo
� Un Lazo de Retardo de Tiempo es un programa que efectúa como objetivo, la generación de un intervalo o retardo de tiempo, y son ampliamente utilizados como parte fundamental de los programas de entrada/salida.
![Page 2: Lazos de Tiempo HC08](https://reader035.vdocumento.com/reader035/viewer/2022072117/55cf8eef550346703b9722de/html5/thumbnails/2.jpg)
Lazos Pasivos Inicio
Programa
Retardo
Continua Programa
Este tipo de lazos se utilizan en aplicaciones donde no es necesario que el microcontrolador atienda algún otro evento durante el retardo de tiempo.
![Page 3: Lazos de Tiempo HC08](https://reader035.vdocumento.com/reader035/viewer/2022072117/55cf8eef550346703b9722de/html5/thumbnails/3.jpg)
Lazos Activos Inicio
Programa
Continua Programa
Cont -1 Cont
Programa
= 0 Lazo de Retardo
de Tiempo
Evento que requiere
atención en intervalos
de tiempo menor
al retardo tiempo
![Page 4: Lazos de Tiempo HC08](https://reader035.vdocumento.com/reader035/viewer/2022072117/55cf8eef550346703b9722de/html5/thumbnails/4.jpg)
Diseño de Lazos de Retardo de Tiempo
� El retardo de tiempo o intervalo se logra aprovechando el tiempo que transcurre durante la ejecución de una instrucción, ejecutándola en forma repetitiva, tantas veces como sea necesario hasta obtener el retardo deseado.
![Page 5: Lazos de Tiempo HC08](https://reader035.vdocumento.com/reader035/viewer/2022072117/55cf8eef550346703b9722de/html5/thumbnails/5.jpg)
Diseño de Lazos de Retardo de Tiempo
� El tiempo de ejecución de una instrucción, se obtiene, multiplicando el número de ciclos de máquina empleados para su ejecución por la duración del ciclo máquina.
![Page 6: Lazos de Tiempo HC08](https://reader035.vdocumento.com/reader035/viewer/2022072117/55cf8eef550346703b9722de/html5/thumbnails/6.jpg)
Diseño de Lazos de Retardo de Tiempo
![Page 7: Lazos de Tiempo HC08](https://reader035.vdocumento.com/reader035/viewer/2022072117/55cf8eef550346703b9722de/html5/thumbnails/7.jpg)
Diseño de Lazos de Retardo de Tiempo
![Page 8: Lazos de Tiempo HC08](https://reader035.vdocumento.com/reader035/viewer/2022072117/55cf8eef550346703b9722de/html5/thumbnails/8.jpg)
Diseño de Lazos de Retardo de Tiempo
ȝ P U
Lazo dex bne lazo
09 26 fd
MEMORIA
0800 0801
CRISTAL 16 Mhz
Oscilador Divisor / 2
Frec. de Trabajo 8Mhz
1 ciclo maq. 0.125 µseg
![Page 9: Lazos de Tiempo HC08](https://reader035.vdocumento.com/reader035/viewer/2022072117/55cf8eef550346703b9722de/html5/thumbnails/9.jpg)
Diseño de Lazos Retardo de Tiempo
Instrucción Ciclos Maquina Tiempo de Ejecución
DEX 1 0.125 µseg
BNE 3 0.375 µseg
Tiempo de Ejecución de la Instrucción DEX
Tiempo de Ejecución de la Instrucción BNEX
![Page 10: Lazos de Tiempo HC08](https://reader035.vdocumento.com/reader035/viewer/2022072117/55cf8eef550346703b9722de/html5/thumbnails/10.jpg)
Ejemplo:
Delay
Ix #$N
Ix – 1 Ix
BNE
RTS V F
Retardo de Tiempo basado en el Registro Índice
Instrucción Ciclos Maq.
A (LDX) 2
B (DEX) 1
C (BNE) 3
D (RTS) 5
Formula para cálculo de Tiempo:
T= (A + D + (B + C) X N) C.M. (0.125 µseg/ 1 C.M.)
![Page 11: Lazos de Tiempo HC08](https://reader035.vdocumento.com/reader035/viewer/2022072117/55cf8eef550346703b9722de/html5/thumbnails/11.jpg)
Cálculo de la duración 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.
![Page 12: Lazos de Tiempo HC08](https://reader035.vdocumento.com/reader035/viewer/2022072117/55cf8eef550346703b9722de/html5/thumbnails/12.jpg)
Cálculo 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
![Page 13: Lazos de Tiempo HC08](https://reader035.vdocumento.com/reader035/viewer/2022072117/55cf8eef550346703b9722de/html5/thumbnails/13.jpg)
Ejemplo: Retardo de Tiempo de 1 segundo aprox.
Retardo1
Iy #1000
Iy – 1 Iy
BNE
RTS V F
delay La Rutina Delay dura 1 msegundo
![Page 14: Lazos de Tiempo HC08](https://reader035.vdocumento.com/reader035/viewer/2022072117/55cf8eef550346703b9722de/html5/thumbnails/14.jpg)
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
![Page 15: Lazos de Tiempo HC08](https://reader035.vdocumento.com/reader035/viewer/2022072117/55cf8eef550346703b9722de/html5/thumbnails/15.jpg)
Org $0800
$ff (0002)
$00 (0000)
Ejemplo:
Inicio
(0000) + 1 (0000)
Retardo1
Programa que activa un contador binario en el Puerto A, con retardo de un 1seg. Aprox.
Lazo Jsr Retardo1
Mov $ff,$0002 Clr $0000
Inc $0000 Bra lazo