Autor Tema: Reloj con TMR0  (Leído 6044 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado CDT_Gonzalo

  • PIC12
  • **
  • Mensajes: 93
Reloj con TMR0
« 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

Desconectado Meybel

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 60
RE: Reloj con TMR0
« Respuesta #1 en: 11 de Abril de 2004, 05:54:00 »
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.

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4154
RE: Reloj con TMR0
« Respuesta #2 en: 11 de Abril de 2004, 10:59:00 »
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
Todos los días se aprende algo nuevo.

Desconectado CDT_Gonzalo

  • PIC12
  • **
  • Mensajes: 93
RE: Reloj con TMR0
« Respuesta #3 en: 11 de Abril de 2004, 13:16:00 »
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!

Desconectado CDT_Gonzalo

  • PIC12
  • **
  • Mensajes: 93
RE: Reloj con TMR0
« Respuesta #4 en: 11 de Abril de 2004, 13:25:00 »
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

Desconectado Meybel

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 60
RE: Reloj con TMR0
« Respuesta #5 en: 11 de Abril de 2004, 14:31:00 »
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.

Desconectado CDT_Gonzalo

  • PIC12
  • **
  • Mensajes: 93
RE: Reloj con TMR0
« Respuesta #6 en: 11 de Abril de 2004, 17:16:00 »
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!

Desconectado Chile_irc

  • PIC12
  • **
  • Mensajes: 66
RE: Reloj con TMR0
« Respuesta #7 en: 29 de Junio de 2004, 07:32:00 »
AMi tambien me gustaria ver el esquema de ese reloj

Saludos


mi correo

chile_irc @hotmail.com

Desconectado Micom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 783
RE: Reloj con TMR0
« Respuesta #8 en: 29 de Junio de 2004, 23:48:00 »
Seria muy bueno ver ese relojito para ver como les quedo si tienes a bien mandarmelo    abelrodas@yahoo.es   de antemano gracias                  
El programador GTP USB PLUS es un super programador
GRACIAS dobles amigo SISPIC

Tan solo queda seguir sobreviviendo

Desconectado satelite_ruso

  • PIC10
  • *
  • Mensajes: 5
RE: Reloj con TMR0
« Respuesta #9 en: 20 de Febrero de 2006, 19:35:00 »
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 Muchas risas

¿Alguien que lo tenga me lo puede mandar como adjunto en un mensaje privado? O al siguiente correo: sunday_in_tokio@hotmail.com

Desconectado triplegota

  • PIC10
  • *
  • Mensajes: 14
RE: Reloj con TMR0
« Respuesta #10 en: 23 de Marzo de 2006, 04:45:00 »
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 respuestasRebotado

Desconectado vszener

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2395
RE: Reloj con TMR0
« Respuesta #11 en: 24 de Marzo de 2006, 06:55:00 »
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!!!Giño
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado trifis

  • PIC10
  • *
  • Mensajes: 4
Re: Reloj con TMR0
« Respuesta #12 en: 03 de Diciembre de 2007, 10:02:10 »
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


 

anything