Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Pic Retardos Por Software
Pic Retardos Por Software
EJEMPLO:
Deseamos hacer un retardo de 100uS, entonces usamos el
mismo cdigo:
EJEMPLO 2:
Deseamos hacer un retardo de 100uS, para esto ahora
hacemos un pequeo cambio al cdigo en ensamblador del
retardo:
Retardo =
4uS x n
Despejamos n y tenemos:
Bucles anidados
Como hemos visto el retardo mximo que se puede generar
de las formas enunciadas anteriormente son apenas mayores
a 1mS. Para generar retardos mucho mayores necesitamos
usar BUCLES ANIDADOS. Estos bucles anidados consisten
generar un Retardo base que se repetir n veces, el retardo
Retardo = n x 4uS
Utilizando dos bucles anidados la frmula del retardo sera la
siguiente:
Retardo = m x (n x 4uS)
Muy simple verdad. Veamos como se traduce a ensamblador:
EJEMPLO:
Realizar un retardo de 10mS. Recuerde que para un retardo de
1 mS usbamos un retardo simple de un bucle y la variable
CONTA_1 le asignbamos 250:
Retardo interno= 4uS x 250 = 1000uS = 1mS
Usaremos este retardo como retardo base y lo repetiremos 10
veces para hacer un retardo final de 10ms:
Retardo = m x (4uS * 250) =10x (1mS) = 10mS Es
decir, m = 10 y n = 250, con eso logramos el retardo de 10mS
EJERCICIO:
Genere el cdigo para hacer un retardo de 1 segundo.
Solucin: 1 segundo = 1000 mS, notamos de inmediato que
ser necesario un tercer bucle ya que el numero 1000 no
podr ser cargado al CONTA_2 ya que supera el mximo de
255. As que nuestra formula con un tercer bucle seria as:
Las
subrutinas
son
TRUCOS
Existe un truco muy til llamado multiplicacin de retardos
base. Este truco consiste en usar uno o unos pocos retardos
base y solo invocarlos y multiplicarlos por X para tener tantos
retardos como queramos. As se puede hacer un retardo base
de 1ms y generar cuando queramos retardos desde 1ms hasta
255ms sin necesidad de hacer 255 retardos diferentes. La
formula que usaramos seria la siguiente: