Gracias a todos, por las respuestas dadas, algo que no les he comentado es que me apresure a hacer la placa, y tengo todo los pines ocupados, ya que este reloj me sirve para hacer un sistema automatico de riego, todo es perfecto a excepción de, este problema, de manera que tengo que solucionarlo solamente con los timers, si tienen un ejemplo en la inicialización correcto del TMR1 sería de gran ayuda, ya que hasta ahora no puedo lograr que éste funcione.
Gracias
Hola, tengo un problema a realizar un reloj el cual me marca la hora, min en un pantalla lcd, éste se me retarda 1min mas o menos en un diá el cual no es conveniete, estoy ulitlizando el TMR0 con la siguiente inicializacion
//configuraci¢n de la Temporizacion 1 segundo
T0CS=0; //Pulsos de reloj interno Fosc/4 (Temporizador)
T0IE=1; //Incremento de TMR0 cada flanco ascendente
PSA=0; //El divisor de frecuencias se le asigna a TMR0
PS2=1; //Divisor de frecuencia 1:256 con PS2:PS1
PS1=1;
PS0=1;
GIE=1; //Permiso global de interrupci¢n activado
Timer=16; //inicializo el tiempo con valor de 16(Dec)
y en la interrupcion hago lo siguiente
if(T0IF)
{ // activacion de bandera de int.
TMR0 = 12; // cargo el tiempo 12
T0IF = 0; // Encero la badera de int.
if(Timer != 0) // si el tiempo es diferente de cero
Timer--; // Decremento timer
if(Timer == 0) // si el tiempo es 1s
{
Timer=16; //Cargo el valor de 16 Timer
Seg=Seg+1; //acumulo los segundos (sb)
if(Seg==60)
{
if(Menu==1)
{
VistaHora=1; //Actualiza hora cada Minuto
}
Seg=0; //encero acumulacion de segundo
Min=Min+1; //incremento minutos
if(Min==60)
{
Min=0;
Hora=Hora+1;
if(Hora==24)
{
Hora=0;
Dia=Dia+1;
DiaSemana=DiaSemana+1;
......................................
}
}
NO se cual es el problea de este retrasom, espero que me puedan ayudar con este problema gracias.
Att
Fdo