Autor Tema: ayuda con el ds1307  (Leído 1808 veces)

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

Desconectado picwilliam

  • PIC10
  • *
  • Mensajes: 8
ayuda con el ds1307
« en: 26 de Noviembre de 2005, 16:11:00 »
Buenas como estan estoy haciendo un proyecyo y nesecito programar un ds1307 con el pic18F452, no he podido programarlo bien, entonces necesito ayuda. Necesito un favor, voy a escribir un rutinita para escribir en el ds1307, lo miren y me digan donde me estoy equivocando listo?. Hay va

TRISCbits.TRISC3=0;//SCL
TRISCbits.TRISC4=0;//SDA
SSPSTAT=0X80//Habilitar modo estandard de velocidad
SSPCON1=0X28// habilitar pines y escoger modo maestro
//rutina a escribir//
SSPCON2bits.SEN=1;//inicializa condicion de star
while(SSPCON2bits.SEN==1)
{//espera hasta ke aya el cambio
}
PIR1bits.SSPIF=0;//poner cero la bandara porke hibo interrpcion
SSPBUF=0XD0;// dato a decirle al ds que se le va a escribir
while(SSPCON2bits.BF==1)
{//Mientras ke este en 1 bf es porke el pic esta sacando los pulso por la pata sda
}
TRISCbits.TRISC4=1// Nose si esto paso sea necesario, es para preguntar por ack
SSPCON2bits.RCEN=1//tampoco nose si este paso sirva
while(SSPCON2bits.ACKSTAT==1)
{//Espera por elñ ack ke manda el esclavo
}
PIR1bits.SSPIF=0;
TRISCbits.TRISC4=0//nose si es necesario este paso
SSPBUF=0;//Pimera direccion del ds en el ke se va escribir
while(SSPCON2bits.BF==1)
{//Mientras ke este en 1 bf es porke el pic esta sacando los pulso por la pata sda
}
TRISCbits.TRISC4=1// Nose si esto paso sea necesario, es para preguntar por ack
while(SSPCON2bits.ACKSTAT==1)
{//Espera por elñ ack ke manda el esclavo
}
TRISCbits.TRISC4=0//nose si es necesario este paso
PIR1bits.SSPIF=0;
SSPBUF=0X84//Dato y habilitador para el ds1307
while(SSPCON2bits.BF==1)
{//Mientras ke este en 1 bf es porke el pic esta sacando los pulso por la pata sda
}
TRISCbits.TRISC4=1// Nose si esto paso sea necesario, es para preguntar por ack
while(SSPCON2bits.ACKSTAT==1)
{//Espera por elñ ack ke manda el esclavo
}
TRISCbits.TRISC4=0
PIR1bits.SSPIF=0;
SSPCON2bits.PEN=1// Condicion para el stop
While(SSPCON2bits.PEN=1)
{//ESPERA por el cambio de 0 a 1 para el stop
}



si saben en ke estoy equivocandome por sabor diganme, o si me falta algo, yo se ke me estoy equivocando en algo, si saben diganme, ke este bien. muchas gracias chao

Desconectado patolinec

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 206
RE: ayuda con el ds1307
« Respuesta #1 en: 27 de Noviembre de 2005, 08:22:00 »
Mira yo te sugiero que mejor no programes eso en ensamblador, porque simplemente tienes que manejar el I2C interno del micro y eso es un poco largo, mejor prueba a utilizar algun compilador de basic o de c, que es mus mas sencillo y rapido suerte
Casi me maté pero ahora estoy de nuevo vivo

Desconectado poi5on

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 127
RE: ayuda con el ds1307
« Respuesta #2 en: 27 de Noviembre de 2005, 10:32:00 »
Hola a todos,
Ese lenguaje es C? yo no creo que sea ensamblador patolinec, te recominedo que lo programes en PIC Basic, sino puedes yo te puedo suministrar los codigos necesarios para utilizar el DS1307 pero en ensamblador.

Saludos

Desconectado vszener

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2395
RE: ayuda con el ds1307
« Respuesta #3 en: 27 de Noviembre de 2005, 10:58:00 »
¿para que compilador es? Giño
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
RE: ayuda con el ds1307
« Respuesta #4 en: 28 de Noviembre de 2005, 04:42:00 »
Escrito originalmente por vszener
¿para que compilador es? Giño


Es código del C18 del Microchip.


- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)