electronica
Este retardo consiste en mantener “ocupado” el PIC por medio de un ciclo durante un determinado tiempo. Una de las técnicas que más se usa es la implementación de contadoresdecrementales, de modo que cuando este llega a cero el ciclo se termina y con ello damos fin al retardo.
La idea principal es tener una variable a la cual se le asignara un número, esta sedecrementará e inmediatamente se verificara si es cero (condición). De no ser cumplida la condición retornara al decremento y evaluara hasta ser cierta la condición, cuando suceda lo último continuaraejecutándose el programa. El siguiente diagrama representa el algoritmo:
Figura 1. Diagrama de retardo por Software
Para lograr esto usando ensamblador haremos uso de las instrucciones:
Ahorabien, ya tenemos generado el retardo, pero ¿Por cuánto tiempo? Para calcular el retardo que nos genera el código anterior calcularemos el tiempo que tardan las instrucciones.
Primero tenemos 2s por lasinstrucciones movlw y movwf. El contador tendrá un tiempo proporcional al número que se le asigne a la CONTA, primero lo calcularemos para un solo ciclo; se tienen 1s por la instrucción decfsz y 2spara goto por lo que se tiene un total de 3s para el par.
Si se le asigna un número “n” a CONTA, entonces:
De modo que el retardo total es de:
Hay ocasiones en que la ecuación anterior no nosda el número exacto de retardo que necesitamos en este caso podemos hacer uso de la instrucción NOP la cual nos proporciona un clico sin hacer nada más que consumir el tiempo, es decir, nosproporciona “muerto”.
Los contadores también pueden anidarse para facilitarnos así el generar el tiempo que requerimos, a dicha técnica se le conoce como bucles anidados. En otras palabras se trata de...
Regístrate para leer el documento completo.