Autor Tema: Reloj con DS1307, 18F452 y LCD 16x2 en assembler  (Leído 28792 veces)

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

Desconectado flacoclau

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1692
    • El Micro Reactor
Reloj con DS1307, 18F452 y LCD 16x2 en assembler
« en: 09 de Febrero de 2009, 01:34:05 »
 Hola a todos: Les dejo un pequeño proyecto de reloj con un DS1307 para 18F452 y salida en display 16x2, se pueden ajustar el día de la semana, el mes y cada uno de los dígitos mostrados mediante dos pulsadores, uno conectado al pin RB5, llamado MODO que se utiliza para acceder a cada una de las variables y el otro conectado a RB4 llamado MAS para modificar el valor de dicha variable seleccionada, dentro de ciertos límites posibles.

 La parte de comunicación I2C está basada en el trabajo que realizó el amigo BRUNOF y que generosamente publicó en este link: Ejemplo de utilizacion del Modulo I2C del 16F877a Aunque adaptado para el micro 18F452 y con algunas modificaciones, como por ejemplo el carecer del aviso de error en la comunicación I2C y utilizar el set de instrucciones extendido de la familia 18F entre otras cosas. Adjunto el programa completo en este post.

 La inspiración, análisis y también gran parte del diseño del modulo para el DS1307 provienen de este hilo: Real Time Clock o el DS1307 desatado obra del maestro REDPIC.

                             

 Pido disculpas por la calidad del video, en el cual no se aprecia mucho detalle, pero que intenta mostrar como voy modificando la fecha y la hora mediante los pulsadores
 Spielberg y Lucas pueden dormir tranquilos...  :)

                                                                         

El esquema es muy simple, aunque no he realizado el mismo en un PCB, simplemente he utilizado los módulos de mi placa de pruebas casera, la cual estoy publicando en un escueto y aún incompleto BLOG que iré actualizando en la medida que me lo permitan el tiempo, las ganas y mis habilidades.  :)

                                                   

 El programa Comienza inicializando puertos y variables como es normal, luego lee la memoria del DS1307 y verifica los bits de configuración del módulo y en caso de estar mal seteados los corrige para que empiece a funcionar el reloj, aparte de hacer pulsar todos los dígitos en el display para indicar que se debe ajustar la fecha y la hora. Una vez hecho esto, los números pasan a mostrarse en forma normal.
 Para elegir la variable a ajustar se debe pulsar el botón MODO. Para ajustar las variables se debe pulsar el botón MAS. Las variables ajustables son las siguientes: Día de la semana, mes, decena y unidad de fecha, de año, de hora, de minutos y de segundos.
 Se debe tener cuidado al poner los valores ya que el DS1307 no reconoce los errores y sus contadores pueden seguir hasta valores extraños.

Espero que les sea de utilidad y si alguien quiere modificar o mejorar el programa bienvenido sea, cualquier duda con respecto al programa la postean aquí y si la memoria me ayuda la despejamos.
Saludos!!!
Las personas con buena ortografía me atraen textualmente.

El Micro Reactor

Córdoba capital - Argentina.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
[*] Re: Reloj con DS1307, 18F452 y LCD 16x2 en assembler
« Respuesta #1 en: 09 de Febrero de 2009, 03:47:44 »
Felicidades, flaco, y gracias por compartirlo.

Desconectado flacoclau

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1692
    • El Micro Reactor
Re: Reloj con DS1307, 18F452 y LCD 16x2 en assembler
« Respuesta #2 en: 09 de Febrero de 2009, 22:45:58 »
Gracias Manolo, me costó bastante...
pero aquí está :-/ :-/ :-/ :-/
saludos!!!
Las personas con buena ortografía me atraen textualmente.

El Micro Reactor

Córdoba capital - Argentina.

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Reloj con DS1307, 18F452 y LCD 16x2 en assembler
« Respuesta #3 en: 13 de Febrero de 2009, 18:35:33 »
grande Claudio!! :-/ :-/ :-/

te quedó sabroso :D buenísmo Clau, para un 18 todo un lujito

gracias por compartirlo :-/
.

Desconectado cabulo

  • PIC10
  • *
  • Mensajes: 2
Re: Reloj con DS1307, 18F452 y LCD 16x2 en assembler
« Respuesta #4 en: 19 de Mayo de 2009, 14:17:03 »
muy interesante tu trabajo flacocau, te felicito....
lo he simulado en el proteus y el lcd no me funciona,
cualquier ayuda que me puedas ofrecer te lo agradeceria.
gracias de antemano

Desconectado flacoclau

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1692
    • El Micro Reactor
Re: Reloj con DS1307, 18F452 y LCD 16x2 en assembler
« Respuesta #5 en: 19 de Mayo de 2009, 14:27:07 »
Hola cabulo, sí, a veces el proteus tiene sus momentos, quizás variando la rutina del display funcione. es que este proyecto no le he simulado.
Las personas con buena ortografía me atraen textualmente.

El Micro Reactor

Córdoba capital - Argentina.

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Reloj con DS1307, 18F452 y LCD 16x2 en assembler
« Respuesta #6 en: 19 de Mayo de 2009, 14:47:47 »
El problema de Proteus es que no simula la condición de estado del Display, que se verifica por el pin 7 para saber si esta en condiciones de recibir datos.
No contesto mensajes privados, las consultas en el foro

Desconectado cabulo

  • PIC10
  • *
  • Mensajes: 2
Re: Reloj con DS1307, 18F452 y LCD 16x2 en assembler
« Respuesta #7 en: 19 de Mayo de 2009, 14:58:07 »
volviendo al tema flacoclau ,  varie un poco " inicializa_lcd "   agregandole unos retardos , podria ser la configuracion de "lcd_comando" la que no me despliega la informacion o modificar la sub rutina del display? gracias por ayudarme

Desconectado mwood

  • PIC10
  • *
  • Mensajes: 1
Re: Reloj con DS1307, 18F452 y LCD 16x2 en assembler
« Respuesta #8 en: 06 de Agosto de 2009, 21:06:19 »
Olá, eu nao sei se irão entender o meu portugues entao irei falar em ingles.

Hello all, and great work "flacoclau".... but 2 questions

1- the pic dont use a crystal to work?? if use what is the valor??

2- what is the valor of the crystal for the ds1307?? need to put ceramic cap. too??

well anyway great work.. i loved !!!

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Reloj con DS1307, 18F452 y LCD 16x2 en assembler
« Respuesta #9 en: 06 de Agosto de 2009, 21:32:24 »
Hi mwood!! The pic have an internal oscilator, so its not necesary an external one. The ds1307 needs a 32.768kHz crystal. Its not necesary to use ceramic capacitors, but i think it would be better to use them.
Cheers!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Reloj con DS1307, 18F452 y LCD 16x2 en assembler
« Respuesta #10 en: 06 de Agosto de 2009, 23:03:27 »
uff no había visto este hilo!!!

vaya mis felicitaciones Claudio  :)

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado flacoclau

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1692
    • El Micro Reactor
Re: Reloj con DS1307, 18F452 y LCD 16x2 en assembler
« Respuesta #11 en: 06 de Agosto de 2009, 23:46:27 »
Gracias Rodrigo y Pedro por las felicitaciones  :-/

Hi mwood!! The pic have an internal oscilator, so its not necesary an external one.

Hello Mwood and Gera: I don´t remember that  :mrgreen: , but i thing in this time i have used a 4Mhz Xtal.

The ds1307 needs a 32.768kHz crystal. Its not necesary to use ceramic capacitors.

That´s right!!

but i think it would be better to use them.

Perdón Gera que te corrija...  :mrgreen:

I don´t thing so.
From the datasheet: X1, X2 - Connections for a standard 32.768 kHz quartz crystal. The internal oscillator circuitry is
designed for operation with a crystal having a specified load capacitance (CL) of 12.5 pF.
The 32768 KHz crystal has his own capacitance (12.5 pF)

Las personas con buena ortografía me atraen textualmente.

El Micro Reactor

Córdoba capital - Argentina.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Reloj con DS1307, 18F452 y LCD 16x2 en assembler
« Respuesta #12 en: 07 de Agosto de 2009, 00:22:45 »
Perdón Gera que te corrija...  :mrgreen:

I don´t thing so.
From the datasheet: X1, X2 - Connections for a standard 32.768 kHz quartz crystal. The internal oscillator circuitry is
designed for operation with a crystal having a specified load capacitance (CL) of 12.5 pF.
The 32768 KHz crystal has his own capacitance (12.5 pF)

No te perdono, te agradezco q me corrijas :D
Por cierto, felicitaciones por el proyecto!!! Quedo genial!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Reloj con DS1307, 18F452 y LCD 16x2 en assembler
« Respuesta #13 en: 07 de Agosto de 2009, 02:43:47 »
Changos!!!!! no basta con el anillo de GND para que el cristal este estable?  :( A mi me ha funcionado asi sin condensadores ... pero creo que es por el hecho de que el ambiente en el que trabaja es de poco ruido electrico...

Me fie de esto:


O es que el cristal posee la carga de capacitancia de 12.5pF?

Saludos
El papel lo aguanta todo

Desconectado flacoclau

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1692
    • El Micro Reactor
Re: Reloj con DS1307, 18F452 y LCD 16x2 en assembler
« Respuesta #14 en: 07 de Agosto de 2009, 18:45:54 »
Changos!!!!! no basta con el anillo de GND para que el cristal este estable?  :( A mi me ha funcionado asi sin condensadores ... pero creo que es por el hecho de que el ambiente en el que trabaja es de poco ruido electrico...

O es que el cristal posee la carga de capacitancia de 12.5pF?

Saludos
Te lo digo en español  :) el circuito no necesita capacitores adicionales, el mismo cristal estándar posee una capacidad inherente a su encapsulado.
Las personas con buena ortografía me atraen textualmente.

El Micro Reactor

Córdoba capital - Argentina.


 

anything