Que tal, saludos!
Soy nuevo en el foro, y vengo a pedirles ayuda después de haber revisado todas las posibilidades.
Bueno, actualmente me encuentro haciendo un proyecto que incluye la utilización de un Ds1307 y una memoria 24LC256, que por falta de pines de un 16F877a tengo que conectar juntos los pines de ambos.
Entonces, para esto, he creado un programa de pruebas!
////////////////////////////////////////////////////////////////////////////////////////////
#include <16F877a.h>
#use delay (clock=4M)
#fuses xt
#include <lcd.c>
#include <24256.c>
#include <ds1307.c>
#byte porta=0x05
#byte portb=0x06
#define time 250
void main ()
{
int i,dato;
int8 min,hrs,sec,day,month,yr,dow;
lcd_init();
ds1307_init();
ds1307_set_date_time(30,5,10,7,23,59,50);
porta=0;
portb=0;
init_ext_eeprom();
write_ext_eeprom(0x00,2);
write_ext_eeprom(0x01,4);
write_ext_eeprom(0x02,6);
write_ext_eeprom(0x03,8);
write_ext_eeprom(0x04,10);
do
{
for (i=0;i<=4;i++)
{
dato = read_ext_eeprom(i);
printf(lcd_putc,"\f%u",dato);
delay_ms(time);
}
ds1307_get_date(day,month,yr,dow);
ds1307_get_time(hrs,min,sec);
printf (lcd_putc,"\fHora:%u",hrs);
printf(lcd_putc,":%u",min);
printf(lcd_putc,":%u",sec);
delay_ms(time);
}
while(true);
}
////////////////////////////////////////////////////////////////////////////////////////
La idea del programa es guardar 5 datos en la memoria, 2,4,6,8 y 10 en las posiciones 0,1,2,3 y 4, respectivamente, entonces estos datos se muestran para verificar que son guardados en la memoria, y ademas de mostrar la hora para ver que si corre adecuadamente.
Entonces lo que trato de probar es si el programa funcionará correctamente!!
Lo que sigue es que al simularlo en proteus, de vez en cuando me arroja datos de la memoria que no son correctos!!
No sé si es mi simulador Proteus, o es el programa!! por favor ayudenme a identificar mi problema!!
Porque lo he probado en otra maquina que tengo, y funciona bien, pero se me cierra el simulador después de 3 minutos aproximadamente!! Y tampoco tengo idea del porqué!!! Nuevamete, suplico su ayuda!!
Agrego que en el simulador si estoy utilizando las resistencias PULL-UP!!
Adjunto los archivos para que me digan si funciona en sus computadoras!! y para recibir sus valiosos comentarios y sugerencias!!
Saludos desde Oaxaca, México!!