Está en la página 1de 10

Retardos

Los retardos pueden implementarse de varias formas:

Mediante el empleo de retardos causados por el consumo de tiempo de las instrucciones. Mediante decremento de registros en lazo simple. Mediante decremento de registros en lazos anidados. Mediante el uso de temporizadores e interrupciones.
Entonces es necesario conocer el ciclo de instruccin de los PIC.

Ciclo de Instruccin de los PIC

Ciclo de Instruccin (CI=4Tosc) Tosc=1/Fosc


Como ya se ha dicho debido a la tubera y al solapamiento de la fase de ejecucin de una instruccin con la fase de bsqueda de la siguiente, la mayora de las instrucciones de los PIC demoran un ciclo de instruccin (4Tosc). La excepcin son las instrucciones de salto o ramificacin, donde al no poder solapar su ejecucin con la bsqueda de la siguiente, son necesarios dos ciclos de instruccin (8Tosc).

Ciclo de Instruccin de los PIC


El ciclo de instruccin demora cuatro perodos de reloj que de acuerdo al grfico anterior siendo Q1=Q2=Q3=Q4 se obtiene: CI=Ciclo de Instruccin=4Q=4Tosc Donde: Tosc = 1/Fosc , EJEMPLOS: Fosc es frecuencia del cristal

PARA Fosc= 4 MHz: CI =4Q= 4Tosc = 4(1/4MHz) = 1 seg Para Fosc = 20 MHz CI = 4Q=4Tosc = 4x 1/20MHz = 0.2 useg = 200 ns

Uso de retardos causados por instrucciones


La forma ms sencilla de producir pequeos retardos es mediante el empleo de la demora de cada instruccin, cuyo tiempo depende del reloj con el que se trabaje: Recuerde que las instrucciones simples demoran un ciclo de instruccin y las dobles (de salto o llamado a subrutinas) demoran dos. El ciclo de instruccin depende de la velocidad del reloj empleado:

Ciclo de instruccin=4/fosc= 4Tosc


EJEMPLOS SEGN EL RELOJ UTILIZADO Para 20Mhz el ciclo de trabajo es de 0.2us Para 10Mhz el ciclo de trabajo es de 0.4us Para 4Mhz el ciclo de trabajo es de 1.0us
DEMORA DE ALGUNAS INSTRUCCIONES NOP demora 1 ciclo de instruccin CLRF demora 1 ciclo de instruccin CALL demora 2 ciclos de instruccin DECFSZ demora 1 2 ciclo de instruccin GOTO demora 2 ciclos de instruccin BSF demora 1 ciclo de instruccin MOVWF demora 1 ciclo de instruccin RETURN demora 2 ciclos de instruccin

Retardos mediante decremento de de registros


Otra forma de causar retardos es decrementando registros creados en la memoria de datos, los mismos que pueden anidarse para producir un mayor retardo. Si se emplea un solo registro el mximo retardo que podr causar ocurre cuando se lo inicializa con 0xFF (255). Cuando se usan retardos anidados se pueden construir retardos mayores.

RETARDO

N1

DATO1

N2

DATO2

N3

DATO3

N3

N3-1

NO NO

N3=0?

NO

N2

N2-1

N2= 0?

SI

N1

N1-1

N1=0?

SI

SALIR

EJERCICIOS PIC- Ensamblador: EJEMPLO DELAYS. VER SIMULACION EN PROTEUS

Retardos Mediante el uso de temporizadores e interrupciones

Es una de las formas ms empleadas para producir retardos de precisin.


Este tema se lo estudiar cuando se estudien los temporizadores y las interrupciones.

También podría gustarte