Este es uno mas, de mis aportes para ustedes.
Ver programa adjunto
Estare colocando las mejoras, la idea es construir un reloj calendario. Que puedas usar dentro de tu programa principal.
(Cada instrucción se ejecuta en 1 microsegundo, debido a que usamos un cristal de 4MHz)
Este es un software, que emite una base de tiempo en segundos, con el cual podrías construir hasta un reloj calendario completo, que te permitirá elegir el tiempo en que el micro controlador debe ejecutar un evento de entrada o salida, sin que te perturbe el flujo del programa principal, ni que se aumente o disminuya el tiempo de salida en segundos, ya que el tiempo aumenta linealmente, debido a que se usa la interrupción por tmr0.
Con la variable ajuste puedes ajustar el segundo, por ensayo. Es decir si aumentas ajuste a 100 el segundo será mas largo. El segundo mas aproximado al real, lo calcule con la variable de ajuste1 puesta en 85 y la de ajuste2 a 23
512 x 85 x 23 = 1000960, el resultado es en microsegundos = 1seg aproximadamente.
512 micro seg. es el tiempo que tarda el programa en entrar al entorno de interrupción por tmr0, este es el tiempo para el pre escalado puesto en 2.
Una vez que se cuentan 85 (512), se deben contar 23 {85 (512)} para que empiece la cuenta de los segundos.
Para mas detalles, o entrenamiento privado, contáctame por mariohm3@ hotmail.com
Totalmente gratuito, el entrenamiento básico vía correo y con video tutórales; que te guiaran, a comprender mejor.