Autor Tema: Ne me llega a funcionar el ds1307  (Leído 2174 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado Vayadespiste

  • PIC12
  • **
  • Mensajes: 53
Ne me llega a funcionar el ds1307
« en: 30 de Enero de 2007, 11:40:03 »
Hola ya se que me dirán que busque en el foro, pero les garantizo que he realizado varias búsquedas y no llego a encontrar lo que necesito.
Estoy con un ds1307 (son pruebas solo) y no hay forma que me funcione, estoy usando las mismas rutinas que uso normalmente para una eeprom 24c16 (probada físicamente no en simuladores) que me funciona correctamente tanto en escritura como en lectura todo con un pic 18f252. La información que encuentro en el foro casi toda se refiera al compilador de ccs que parece que lleva incorporadas las librerías de control, etc yo uso ensamblador y no llego a encontrar la secuencia correcta de funcionamiento.
Así pues la pregunta sería
¿Donde puedo encontrar información en ensamblador sobre este tema?
¿alguno puede mandarme la secuencia de lectura por ejemplo?
Me explico:
Mandar start
Mandar dirección D0
Mandar dirección lectura
recoger dato
¿me dejo algo?, ¿puedo acceder solo a los segundos?
Muchas gracias y un saludo
« Última modificación: 30 de Enero de 2007, 11:43:40 por Vayadespiste »

Desconectado Astaroth_25

  • PIC12
  • **
  • Mensajes: 52
Re: Ne me llega a funcionar el ds1307
« Respuesta #1 en: 30 de Enero de 2007, 12:46:29 »
Hola ya se que me dirán que busque en el foro, pero les garantizo que he realizado varias búsquedas y no llego a encontrar lo que necesito.
Estoy con un ds1307 (son pruebas solo) y no hay forma que me funcione, estoy usando las mismas rutinas que uso normalmente para una eeprom 24c16 (probada físicamente no en simuladores) que me funciona correctamente tanto en escritura como en lectura todo con un pic 18f252. La información que encuentro en el foro casi toda se refiera al compilador de ccs que parece que lleva incorporadas las librerías de control, etc yo uso ensamblador y no llego a encontrar la secuencia correcta de funcionamiento.
Así pues la pregunta sería
¿Donde puedo encontrar información en ensamblador sobre este tema?
¿alguno puede mandarme la secuencia de lectura por ejemplo?
Me explico:
Mandar start
Mandar dirección D0
Mandar dirección lectura
recoger dato
¿me dejo algo?, ¿puedo acceder solo a los segundos?
Muchas gracias y un saludo

Creo q seria algo asi:

Mandar start
Mandar dirección D0      ;orden de escritura  (para iniciar el puntero del RTC)
Mandar dirección lectura
Mandar  STOP

Mandar Start
Mandar direccion D1     ;orden de lectura (Para inicar la lectura del RTC)
recoger dato
Mandar ACK o NACK    ; Dependiendo si se quiere seguir recibien datos (ACK) o no (NACK)
Mantar Stop

Qtal... despues de recoger el dato tienes q enviar un  acuse de recepcion ACK y en caso de de no recibir ningun otro dato tendras q enviar un NACK. y un bit de STOP...

saludos
« Última modificación: 30 de Enero de 2007, 13:07:42 por Astaroth_25 »
HEAVY - METAL ..por siempre  Ψ Ω Ψ

Desconectado Vayadespiste

  • PIC12
  • **
  • Mensajes: 53
Re: Ne me llega a funcionar el ds1307
« Respuesta #2 en: 30 de Enero de 2007, 14:00:08 »
Muchas gracias Astaroth_25, tomo buena nota y tan pronto pueda lo intento otra vez (soy muy lento).
Seguiré esa secuencia, lo dicho muchas gracias y un saludo.

Rodri.

Desconectado dhmejia

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 260
Re: Ne me llega a funcionar el ds1307
« Respuesta #3 en: 30 de Enero de 2007, 14:45:39 »
Hace mucho trabaje con el DS1307 en ensamblador, después de mucho buscar encontré el código que utilizé, le borre todo lo que no tenía que ver con el ds1307 para no enredar mas la cosa.

Espero que te sirva

Saludos,
Pereira - Colombia

Desconectado tithanae

  • PIC16
  • ***
  • Mensajes: 109
Re: Ne me llega a funcionar el ds1307
« Respuesta #4 en: 30 de Enero de 2007, 16:07:06 »
mira aveses no es el sotware es el hardware a mi me paso algo asi te digo como me funciono:
lo importante es poner a a gnd la entrada de la pila si no la utilizas luego el cristal parece que es medio  sencible  eso del cristal ya que en el datasheets tiene una recomendacion para hacer su placa parece que  cuando tu proto esta medio sucio no funciona bien el cristal incluso algunos por ahi te dicen  ponerlo lo mas cerca de sus pines y que le cortes la patas al cristal para que estas sean lo mas cortas posibles yo me canse de eso e hice un placa con las recomendaciones del datasheet y listo.

Desconectado Vayadespiste

  • PIC12
  • **
  • Mensajes: 53
Re: Ne me llega a funcionar el ds1307
« Respuesta #5 en: 30 de Enero de 2007, 16:51:28 »
Gracias a ambos, dhmejia he dado un vistazo por encima al código puesto por ti y mas o menos eso es lo que buscaba solo que tendré que primero hacer funcionar tu programa para ver como funciona y adaptarlo a mi uso, pues me he fijado que define SDA Y SCL en el puerto b y yo uso el MSSP del pic que está en el puerto C, tithanae llevas algo de razon he visto ese consejo que dan en la hoja de datos del 1307 pero yo ahora mismo lo tengo montado todo sobre una protoboard y de aislar el cristal con ese trozo de CI (supongo que para evitar ruidos) no es posible de momento, de todas formas y a los Tres: "Mucha gracias por vuestra ayuda", he avanzado mucho mas con solo las ideas que me aportais y es que llevaba un tiempo enganchado si nada.

Un Saludo.

Desconectado Vayadespiste

  • PIC12
  • **
  • Mensajes: 53
Re: Ne me llega a funcionar el ds1307
« Respuesta #6 en: 01 de Febrero de 2007, 12:02:42 »
Sr Astaroth_25  he seguido la secuencia que me puso aqui y empieza a leer datos, en concreto 80:??, ya es algo y esoty muy contento, por lomenos voy avanzando algo.
El RTC no le he inicializado, simplemente he conectado a tensión y he realizado la secuencia de lectura, supongo que hay que inicializarlo y colocarle valores correctos para que empiece a dar valores buenos, yo pensaba que nada mas tener tensión empezaba a contar.

Bueno pues lo dicho gracias por la ayuda y un saludo

Desconectado dhmejia

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 260
Re: Ne me llega a funcionar el ds1307
« Respuesta #7 en: 01 de Febrero de 2007, 14:46:57 »
Te recomiendo este link: http://www.todopic.com.ar/foros/index.php?topic=13282.0, ahi hay mucha información que deberías leer antes de continuar con el proyecto, esta en lenguaje C pero se explica muy bien el funcionamiento de este integrado.

Con respecto a tu duda, efectivamente se debe inicializar el DS1307, el bit 7 del registro de segundos (dirección 0x00h) debe fijarse en un valor (0 o 1, no recuerdo bien pero en el link esta explicado).
Pereira - Colombia

Desconectado Vayadespiste

  • PIC12
  • **
  • Mensajes: 53
Re: Ne me llega a funcionar el ds1307
« Respuesta #8 en: 01 de Febrero de 2007, 15:00:58 »
Gracias dhmejia, ya seguí ese enlace pero como tu bien comentas está todo en "C" y claro yo solo estoy liado con ensamblador, y cuando veo algo de código "C" ya me marea, por ejemplo tenía llamadas a rutinas (I2C_WRITE) que aunque no las he seguido (casi que no puedo en ese lenguaje) deben llevar ya los ack incorporados a esa llamada, cosa que con la secuencia del Sr. Astaroth_25 y pegando las viejas rutinas que tenía he conseguido que funcione (jejeje bueno no tanto). Voy como ya he comentado voy muy despacio y una vez que ya me lee ahora vamos por la segunda parte y sería que lo haga bien, he mirado en la datasheet y es tal y como dices tu dhmejia hay que poner a 0 el bit7 del registro 00, bueno será otro día pues me acabo de dar cuenta de otro problema y es que me gustaría hacer una interrupción para realizar el setup del reloj pero claro tengo en uso todo el puertob y voy a ver si encuentro (primero en este foro claro) rutinas para escribir en el LCD con 4 pines del puerto b que creo que se puede así dejar libre el portb0.

Gracias dhmejia por su tiempo y un saludo.

Rodri.
« Última modificación: 01 de Febrero de 2007, 15:05:15 por Vayadespiste »