Hi Peter, The datasheet explains everything that one needs to generate a start condition, the stop condition and the ack condition.... including the format of the control byte, the address bites and the actual data byte(s). I have tried implementing this on both I2C using the PIC16F877 and bit-banging using the same processor. These are the conditions I have experienced so far. - Everything goes through okay for one write and one read, but the character read back is not the character I wrote. The returned character is either 00000000 or 11111111 - In the above case, all the ack's and stuff were there as they should have been in the datasheet. - Then, I have cases where the eeprom doesnt ack anything I send to it. - I also have cases where it ack's a write, but not a read. This is why I have asked for example code on performing this task since I am obviously not getting something that is written in the datasheet. It may be that my ASM coding is up to shit, or that I am making a stupid mistake, but the bottom line is I need to be able to compare it to something that works to see where I have made the mistake. This continious re-programming and testing for the last week with failed results is becomming a pain. Perhaps if you have fancy things like ICD 2 or so then you'd be able to work things out, but without fancy equipment like the above one is stuck to what one reads and interprets from the given information. Any help would be appreciated. Regards, Andre Thomas -----Original Message----- From: pic microcontroller discussion list [mailto:PICLIST@MITVMA.MIT.EDU]On Behalf Of Peter Schultz Sent: Sunday, June 15, 2003 8:09 AM To: PICLIST@MITVMA.MIT.EDU Subject: Re: [PIC]: PIC16F877 and 24LC256 EEPROM Hi Andre, The same combination is working perfectly for me, what is your exact problem? Peter Schultz -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu