Autor Tema: ayuda con el ds1307  (Leído 1583 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, 01:16: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 esclavo
SSPCON2=0;
//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 picwilliam

  • PIC10
  • *
  • Mensajes: 8
RE: ayuda con el ds1307
« Respuesta #1 en: 26 de Noviembre de 2005, 01:22:00 »
oe se me olvido me falto cargar el sspadd es:

SSPADD=9// Para 4Mhz


 

anything