TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: pajaro en 18 de Septiembre de 2008, 20:03:43
-
hola amigos
Quiero hacer un programita con el PIC16F877A y el RTC DS1307.
Esto consiste en algo parecido a la agenda de los móviles de ultima generación, que me deje ponerle una hora y una fecha y que cuando llegue el momento me avise. Con un máximo de 20.
No se muy bien como empezar, desconozco si el DS1307 lleva su propio calendario incorporado.
Yo había pensado hacer en PSI una función que me pida la fecha y la hora y que me la guarde en una posición de memoria, pero después ¿como me las ingenio?, se supone que el pic para mostrar la hora en el LCD tiene que leer el RTC cada segundo o cada medio segundo verdad, con esto sucedería parecido tendría que hacer una comparación entre la hora y fecha actuales y la marcada para que avise.¿esto se haría con un timer, verdad?
Alguien me sugiere algo?
Un saludo
-
Hola, lo primero que tendrias que hacer es leer la datasheets del reloj real ds1307, yo en lo particular tengo un codigo hecho para algo muy parecido pero en proton ya que no manero el compilador que usted mensiona.
Luego le recomiendo que se familiarice con el protocolo i2c ya que el ds1307 opera via comunicacion i2c y lo demas es hacer las rutinas para el el reloj de tiempo real hago lo que usted le ordene y muestre su mensaje en la lcd.
Saludos y cualquier otra informacion mas detallada solo informeme y con gusto se la hago llegar.
Atten.
Alexander Santana.
Barcelona-Venezuela
-
ese PSI es un compilador? el primer paso es definir tu entorno de trabajo, es decir el compilador, para tal tarea te recomiendo uno en lenguaje de alto nivel como el basic. me parece interesante tu proyecto a ver que decides. :-/ saludos.
-
hola amigos ¿como estamos?
Pues si he elegido el Pic Simulator Ide, el lenguaje es en basic, el pic es el 16F877A y el RTC DS1307 se comunica mediante
el I2c la verdad el PSI usa una funcion para leer y otra para escribir:
I2CRead sda, scl, cmdi2c_r, addr, sec
I2CWrite sda, scl, cmdi2c_w, addr, escribe
para hacer que lo muestre en el LCD ¿tendre que hacerlo con un timer verdad?y que lo muestre cada medio segundo.
un saludo
-
ah plop que descuido el mio PSI ..... :mrgreen: bueno yo uso un poco el proton, mmm ahi es un poco diferente las instrucciones, sobre el DS1307 este chip posee un pin que puedes habilitarlo que te envia un puklso segun una frecuencia que tu mismo puedes seleccionar al momento de configurarlo, este pulso puede llegar a ser hasta de 1Hz de tal manera que podrias conectarlo a tu pin RB0 y generarle una interrupcion para luego levantar un codigo que escriba en el LCD cada vez q detectes este pulso y tener la apriencia de un reloj en tiempo real. saludos. :-/
-
El uso del oscilador interno del RTC esta bien, pero tiene el problema que cuando se queda trabajando con solo la batería de litio, hay que desconectarlo antes ya que acorta mucho la vida útil de la pila.
PD. Tienes muchos ejemplos en el foro para el PSI para conseguir timer o bases de tiempos en tus programas para poder realizar tareas de forma periódica.
-
Hola amigos
He empezado leerme el data del PIC16F877A en la sección de timer,
para saber como configurar el timer como contador o como temporizador y mas cosas
sobre el esto.
-------------------------------
hola
El DS1307 se puede leer cada medio segundo, es decir que nos muestre la hora y los segundos, ¿esto se haria con una interrución?, o con un contador, si es por contador tendremos que hacer que cada vez que el timer llegue a medio segundo nos muestre en pantalla la hora de esa forma no la actualiza, y reinicie el contador.¿Eso es correcto?
Pero como se hace para que a su vez en el display se muestre otra cosa, o el pic este a nuestra disposion,?
un saludo