#include <16F876A.h> #fuses HS,NOWDT,NOPROTECT,NOLVP,PUT #use delay(clock=20000000) #use i2c(master, sda=PIN_C4, scl=PIN_C3, SLOW, FORCE_HW) main() { byte addr_low=0x00; byte addr_hi=0x00; byte data=0x00; output_high( PIN_C0 ); // turn red on output_low( PIN_C1 ); // turn green off do { i2c_start(); i2c_write(0xA0); // Control Byte 10100000 (write mode) i2c_write(addr_hi); // Address high byte i2c_write(addr_low); // Address low byte i2c_write(data); // write data addr_low=addr_low+1; // increment address data=data+1; // increment data i2c_stop(); output_high( PIN_C1 ); // turn green on delay_ms(500); output_low( PIN_C1 ); // turn green off } while (addr_low<0xFD); }