TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: ALSAMA en 14 de Julio de 2005, 19:27:00
-
NECESITO UNA INTERRUPCION POR TIEMPO, PERO AL UTILIZAR EL TIMER0, SE RETRASA DESPUES DE CIERTO TIEMPO.
POR EJEMPLO SI MIDO LAPSOS DE 10 SEGUNDOS PARA ACTIVAR UN LED, AL COMPARAR EL TIEMPO CON OTRO RELOG VEO QUE SI INICIA EN 00:00, LO LOGICO ES QUE CAMBIE EL ESTADO EN 10, 20 ,30 Y ASI SUCESIVAMENTE HASTA LLEGAR A 60 SEGUNDOS PERO PASADOS ALGUNOS MINUTOS, EL CAMBIO LO REALIZA EN 11, 21,31 Y SE SIGUE CORRIENDO A MEDIDA QUE TRANSCURRE EL TIEMPO.
COMO PUEDO SOLUCIONAR ESTO, EN RESUMIDAS CUENTAS LO QUE NECESITO ES QUE LA INTERRUPCION FUNCIONE COMO UN CRONOMETRO MAS QUE COMO RELOG.
ESTOY USANDO UN CRISTAL DE 4MHZ, PRESCALAR 1:16 Y EL TIMER0 LO CARGO CON 6 , TAMBIEN USO UN REGISTRO AUXILIAR PARA GENERAR LA BASE DE TIEMPO DE UN SEGUNDO.
GRACIAS POR LA AYUDA
-
Lo primero es que con el timer trabajando a 4 mhz no vas a poder obtener un segundo exacto con el metodo tradicional pero hay un metodo que se llama metodo del año bisiesto y esta bien detallado en el subforo de C este usa un cristal de 4 mhz y es de precision, te recomiendo que lo busques. hasta pronto