Preguntas sobre eeprom en Proteus 8

Me gustaria saber si este programa es fiable a la hora de comprobar el numero de veces que
se puede escribir en una eproom Se trata de poner todo bit a 0 (por si trata con logica negada) y luego todos a 1
Se supone que si esta bien la lectura debe coincidir con lo que se escribio

Código:
void erro(int1 lectura);
unsigned int32 contador=0;
unsigned int16 posicion,dat16;
unsigned int8 fallos=0;

void main(){

posicion=100;
lcd_init();
 

while(1){
write_eeprom(posicion,0x00);//poner todos los bit a 0
dat16=read_eeprom (posicion);
if (dat16!=0)  { erro(0);  }//comprobar que todos estan a 0
write_eeprom(posicion,0xff);//poner todos los bit a 1
dat16=read_eeprom (posicion);
if (dat16!=255) { erro(1); }//comprobar que todos estan a 1
contador++;
lcd_gotoxy(1,1);
printf(lcd_putc,"%Lu lecturas correctas %u fallos",contador,fallos);
} }

void erro(int1 lectura){
 lcd_gotoxy(1,2);
 printf(lcd_putc,"Fallo la puesta a %x de la posicion %Lu",lectura,posicion);
 fallos++;
 }

El problema de hacerlo con un simulador como Proteus8 es que aqui todo es estatico nunca se quema nada a realizado
miles de "write" y nunca falla nada

Otra es que Proteus quiero saber si se puede acceder a los pines alimentacion de los componentes
O al menos simular un corte de energia total
La intencion es que un 16f877 guarde en este momento datos primordiales en su eeproom
Tengo algun esquema de fuentes de alimentacion que se vasa en que cuando recive un 0 se encarga de dar corriente al
circuito mediante un condensador Supongo que sera parecido a las luces de emergencia exit-salir de ciertos edificios
cuando hay un apagon, solo que en este caso se trata de baterias El "handica" esta en que en estos casos las luces pueden
no tiene consecuencia que se pase varios segundos sin actuar Pero en mi caso es necesario el instantaneo
 
Última edición por un moderador:
Atrás
Arriba