TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: CDT_Gonzalo en 11 de Abril de 2004, 03:00:00
-
Hola!
Estoy tratando de hacer un reloj utilizando TMR0...recien estoy incursionando en el tema por lo tanto tengo algunas cuantas dudas..
entre ellas...que es un prescaler 
luego estuve leyendo sobre el tema de las interrupciones...básicamente lo que encontré es que seteando GIE en el registro INTCON activo las interrupciones (que si no me equivoco, desde reset viene clear), y que tengo que activar el TMR0 seteando INTCON<2>, y a su vez, que OPTION_REG<5> define si es un contador (aumenta segun cambia el estado de RA4) o un Timer, que aumenta por cada ciclo del oscilador..
esta es la info que tengo hasta ahora, alguien me podria dar una mano para seguir avanzando?
muchas gracias de antemano 

suerte
Gonzalo
-
A veces es necesario controlar tiempos largos y aumentar la duración de los impulsos que incrementan el TMR0. Para cubrir esta necesidad se dispone de un circuito programable llamado Divisor de Frecuencia o Prescaler que divide la frecuencia utilizada por diversos rangos para poder conseguir temporizaciones más largas.
-
Hola Gonzalo:
Como dice Meybel la mayoría de las veces se necesita controlar largos periodos de tiempos y para ellos se emplean los divisores de frecuencia o predivisores.
No dices que micro vas a utilizar,si es el 16F84 el TMR0 se puede porgramar con un predivisor de 1:256 y dependiendo de la frecuencia a la que funcione el micro asi obtendras el retarno, que siempre va a ser corto, dado que es un contador de 8 bits.
Existen otros micros 16F87x, que llevan otros registros que pueden contar más tiempo al ser de 16bits como ELTMR1 en micro 16F87x, ademas de llevar un predivisor y tambien un postdivisor.
Si lo que deseas es hacer un reloj, tendrás que utilizar además otros registros auxiliares que avancen la cuenta cada vez que se sobrepase el tiempo del TMR0, TMR1 o TMR2 segun el micro que utilizes.
Cuando quieras utilizar el conteo atraves de impulsos externos al micro atraves del Pin RA4(
hasta ahora todo lo dicho valia cuando utilizas el oscilador interno del micro)
debes de programar correctamente el tegistro INTCON y si ademas por otra parte necesitas en algun caso utilizar RA4 como salida no te olvides de poner una resistencia de pull-up sino no te funcionará.
Saludos Fermín
-
muchas gracias por sus respuestas, creo que de a poco le voy agarrando la mano

el micro que estoy usando es el 16F628..tengo entendido que el TMR1 es un timer de 16bits, igualmente con las rutinas que usé no pude hacerlo funcionar (probé con el TMR0), luego voy a buscar un ejemplo
mi idea es utilizar el timer interno (uso un cristal de 4Mhz), alguien tiene la formula para obtener, segun el prescaler utilizado, la canditad de uS que tarda en llenar el buffer?
nuevamente muchas gracias, me sirvio mucho lo que dijeron hasta ahora 
saludos!
-
Escrito originalmente por Fer_TACA
Hola Gonzalo:
Como dice Meybel la mayoría de las veces se necesita controlar largos periodos de tiempos y para ellos se emplean los divisores de frecuencia o predivisores.
No dices que micro vas a utilizar,si es el 16F84 el TMR0 se puede porgramar con un predivisor de 1:256 y dependiendo de la frecuencia a la que funcione el micro asi obtendras el retarno, que siempre va a ser corto, dado que es un contador de 8 bits.
Existen otros micros 16F87x, que llevan otros registros que pueden contar más tiempo al ser de 16bits como ELTMR1 en micro 16F87x, ademas de llevar un predivisor y tambien un postdivisor.
Si lo que deseas es hacer un reloj, tendrás que utilizar además otros registros auxiliares que avancen la cuenta cada vez que se sobrepase el tiempo del TMR0, TMR1 o TMR2 segun el micro que utilizes.
Cuando quieras utilizar el conteo atraves de impulsos externos al micro atraves del Pin RA4(
hasta ahora todo lo dicho valia cuando utilizas el oscilador interno del micro)
debes de programar correctamente el tegistro INTCON y si ademas por otra parte necesitas en algun caso utilizar RA4 como salida no te olvides de poner una resistencia de pull-up sino no te funcionará.
Saludos Fermín
exacto, eso es lo que tenía pensado..en cada interrupcion que tenga por TMRx, sumar una variable para segundos, comparar por resta si es igual a 61 y si es asi sumar 1 minuto y restar un segundo, y lo mismo con los minutos y horas...lo que tenia ganas de hacer es un pequeño dispositivo para, por medio de un relé, programar la hora de encendido y apagado del riego de mi casa, ya que el que tenia dejo de funcionar, y sale como $120
suerte! y thx again
-
Me acaban de pasar el diseño de un reloj completo por interrupciones, pero es para el PIC16F84, si te interesa te lo puedo pasar.
-
Escrito originalmente por Meybel
Me acaban de pasar el diseño de un reloj completo por interrupciones, pero es para el PIC16F84, si te interesa te lo puedo pasar.
me vendria muy bien 
si no te molesta, mandamelo a gonzalolarralde@yahoo.com.ar
muchas gracias!
-
AMi tambien me gustaria ver el esquema de ese reloj
Saludos
mi correo
chile_irc @hotmail.com
-
Seria muy bueno ver ese relojito para ver como les quedo si tienes a bien mandarmelo abelrodas@yahoo.es de antemano gracias


-
Sé que este tema no se ha actualizado hace bastante tiempo. Soy nueva en el foro, y me gustaría mucho ver el esquema de ese reloj, ya que me sería de mucha ayuda para una práctica que tengo que hacer.
Muchas gracias 
¿Alguien que lo tenga me lo puede mandar como adjunto en un mensaje privado? O al siguiente correo: sunday_in_tokio@hotmail.com
-
Hola, estoy trabajando en este mismo asunto, si alguien pudiera postear el codigo para ese reloj lo agradeceria. Si no mi correo es este triplegota@hotmail.com.
Agradeceria vuestras respuestas
-
Holaa!!!hay realizado un proyecto de un reloj digital en display"s de 7seg en el subforo de c, concretamente en el post de Ejemplitos en c para 16F648A, es el numero 50...
Suerte!!!
-
Hola, estoy haciendo un proyecto sobre un reloj y presentarlo en LCD, alguien tendria el codigo y m lo podria pasar?Muchisimas gracias, ya tengo montado el esquema y estoy empezando con el programa en si, si alguien me lo pasa se lo agradeceria, un abrazo.
Luixi_tlt@hotmail.com