Resumen:
El presente informe da a conocer el uso adecuado de el TMR0 y uso adecuado de interrupciones para
crear retardos y que estos sean usados como pausa para la secuencia de encedido y apagado de leds.
ndice
Objetivos:..................................................................................................................... 2
Enunciado.................................................................................................................... 2
Desarrollo..................................................................................................................... 2
Organigrama de trabajo............................................................................................... 3
Montaje y puesta a punto de la aplicacin......................................................................3
Cdigo Fuente:.......................................................................................................... 4
Simulacin:................................................................................................................ 6
Implementacin:......................................................................................................... 7
Conclusiones:............................................................................................................... 8
Recomendaciones:........................................................................................................ 8
Bibliografa:.................................................................................................................. 8
Objetivos:
Realizar la respectiva programacin para la secuencia de luces marcadas en el enunciado del problema.
Implementar el circuito para verificar en hardware el funcionamiento del mismo.
Enunciado
Disear un programa que controle ocho diodos LED conectados a la salida, de forma que se activen
secuencialmente uno detrs de otro durante un intervalo de 0,1 seg controlado por el TMR0.
Se supone el WDT activado.
Utilcese un cristal de 4MHz para que cada instruccin dure 1seg.
Desarrollo
Se selecciona un prescaler para el TMR0 de 256 y se carga el temporizador con el nmero d61 para
que cuente 195 veces de forma que 256 195 = 49920. La temporizacin obtenida de esta manera es de
49,9ms. Como esto no es suficiente, se repite dos veces con lo que el tiempo ser 99,9ms. La activacin
secuencial de las salidas se realiza mediante la instruccin de rotacin de derecha a izquierda del valor
binario inicial 00000001. Teniendo en cuenta que el circuito de vigilancia est activado, es preciso hacer
un refresco del mismo (instruccin clrwdt) cada menos de 18ms de funcionamiento del microcontrolador
para evitar que se resetee.
Organigrama de trabajo
El organigrama de trabajo quedara segn lo visto.
Fig1. Flujograma
Montaje y puesta a punto de la aplicacin
El esquema electrnico de la aplicacin es el que sigue:
;esperar retardo
;esperar retardo
;esperar retardo
;esperar retardo
;esperar retardo
;esperar retardo
;esperar retardo
;esperar retardo
goto luces
Retardo:
For I = 1 To 20 ' Repetimos la interrupcin 20 veces para obtener un retardo de 1 segundo.
Call Retardo1
Next I
Return
Retardo1: ' Retardo de 50 ms ' TMR0 se desborda cada 50 ms. Para calcular este valo' Utilizamos la
formula Tiempo = 4 x Periodo x Valor a cargar en TMR0 x Valor del Divisor
El clculo del dato a cargar en TMR0 es:
' TMR0 = 256 - (0.050/0.000256) = 60,68 = 61 TMR0 = 61 ' Cargamos el dato en TMR0
Espera:
If TOIF = 1 Then Reseteo ' pregunta si TOIF es igual a 1, es decir, pregunta si TMR0 se desbordo.
GoTo Espera ' Salta a la etiqueta Espera.
Reseteo:
TOIF = 0 ' Inicializa la bandera TOIF
Return
Resume
End
Simulacin:
Bibliografa:
Tocci, R. J., Widmer Neal S., Moss Gregory L., Sistemas digitales, Principios y
aplicaciones, 10 Edicin, Ed. Pearson, 2007.
Lpez Guilln, Elena Marrn Romera, Marta Bravo Muoz, Ignacio, Fundamentos
de electrnica, (2a.Edicion.), Servicio de Publicaciones. Universidad de Alcal, 2009.