Autor Tema: 8051 CON MEMORIA SERIAL EEPROM 93CL66  (Leído 2779 veces)

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

Desconectado ferraza

  • PIC10
  • *
  • Mensajes: 3
8051 CON MEMORIA SERIAL EEPROM 93CL66
« en: 17 de Agosto de 2005, 07:37:00 »
NECESITO POR FAVOR URGENTE INFORMACION SOBRE COMO MANEJAR MEMORIA SERIAL EXTERNA CON EL 8051 O 8052, BAJE INFO DE ATMEL PERO NO PUEDO HACER GRABAR Y LEER LA MEMORIA, ES COMO QUE LA MEMORIA NO ESTA EN LA PLACA.

Desconectado xerex

  • PIC16
  • ***
  • Mensajes: 138
    • Mi servidor, mi casa.
RE: 8051 CON MEMORIA SERIAL EEPROM 93CL66
« Respuesta #1 en: 18 de Agosto de 2005, 12:11:00 »
has probado a habilitar la eprom?

Te dejo este ejemplo de una 93C45 por si te vale, esta en C un saludo.

void EE_CLK (void)
{
   EE_SK = 1;
   wait (5);
   EE_SK = 0;
}
void eeprom_write(unsigned int _data,unsigned int _address)
{
unsigned int i;
EE_CS=1;
EE_DI =1;      // 1
EE_CLK();
EE_DI =0;      // 0
EE_CLK();
EE_DI =1;      // 1
EE_CLK();
_address<<=1;
for(i=0;i<7;i++){
   if((_address&128)==128)
      EE_DI=1;
   else
      EE_DI=0;
   EE_CLK();
   _address<<=1;
   }
for(i=0;i<8;i++){
   if((_data&128)==128)
      EE_DI=1;
   else
      EE_DI=0;
   EE_CLK();
   _data<<=1;
   }
EE_CS=0;
EE_CS=1;
while(!EE_DO);
EE_CS=0;
}
unsigned char eeprom_read(unsigned char _address){
unsigned int i;
unsigned char temp1;

temp1=0;
EE_CS=1;
EE_DI =1;      // 1
EE_CLK();
EE_DI =1;      // 1
EE_CLK();
EE_DI =0;      // 0
EE_CLK();
_address<<=1;
for(i=0;i<7;i++){
   if((_address&128)==128)
      EE_DI=1;
   else
      EE_DI=0;
   EE_CLK();
   _address<<=1;
   }
   EE_CLK();
for(i=0;i<8;i++){
   temp1<<=1;
   if(EE_DO)   temp1++;
   EE_CLK();   
   }
EE_CS=0;
return temp1;
}
void eeprom_enable(void){
unsigned int i;

EE_CS=1;
EE_DI =1;      // 1
EE_CLK();
EE_DI =0;      // 0
EE_CLK();
EE_DI =0;      // 0
EE_CLK();
EE_DI=1;
for(i=0;i<7;i++){
   EE_CLK();
   }
EE_CS=0;
}
Es falso eso de que el saber no ocupa lugar....


No se donde poner tanto libro.... :P