Hola que tal, resulta que he estado intentando grabar 1 byte en la memoria EEPROM 24LC256 con el PIC 16f628a y luego leerlo con el mismo PIC y mandar ese byte por el puerto B. He probado el siguiente código pero no lo puedo hacer funcionar en el simulador Proteus. Si alguno me podría decir que es lo que está sucediendo se lo agradecería. Dejo adjunta la captura de pantalla del circuito en proteus. Gracias.
#include "16f628a.h" //pic a utilizar
#use delay (clock=4000000) //Fosc=4Mhz
#fuses INTRC_IO,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT,NOMCLR,NOPUT,NOCPD
#use fast_io(b)
#ifndef EEPROM_SDA
#define EEPROM_SDA PIN_A0
#define EEPROM_SCL PIN_A1
#endif
#byte puerto_B = 0x08
#include "24256.c"
#int_EXT
void main(){
do{
enable_interrupts(GLOBAL); // Se habilita la interrupción global 42.
enable_interrupts(INT_EXT); // Se habilita la interrupción externa
puerto_B =0xFF;
set_tris_B(0x00);
init_ext_eeprom();
write_ext_eeprom(0x10,00001001);
puerto_B=read_ext_eeprom(0x10);
}while(1);
}