I can not confirm your problem. When I run the code you attached, I get the following print out which I think is what you intended.
Written
9
1
2
3
4
5
6
4
9
1
8
Your method of selecting the high and low byte of the address is unusual. More common is
Wire.write((int)(add >> 8)); // high byte of eerpom data address
Wire.write((int)(add & 0xFF)); // low byte
Please read the How to use this forum posthttp://forum.arduino.cc/index.php?topic=149023.0
You will get more people to look at your code if you post it using the code tags icon </> so that it looks like this.
#include <Wire.h>
void setup()
{
#define deviceaddress 0x50
Serial.begin(9600);
unsigned int a=514;
//Serial.println(a,BIN);
byte b=a>>6;
//Serial.println(b,BIN);
byte c=a & 63;
//Serial.println(c,BIN);
Wire.begin();
Wire.beginTransmission(deviceaddress);
Wire.write(b);
Wire.write(c);
delay(5);
Wire.write(9);
delay(5);
//Serial.println(9, BIN);
Wire.endTransmission();
delay(5);
Serial.println("Written");
byte rdata = 0xFF;
Wire.beginTransmission(deviceaddress);
Wire.write(b); // MSB
Wire.write(c);
// Wire.write(0,a); // LSB
Wire.endTransmission();
delay(5);
Wire.requestFrom(deviceaddress,1);
if (Wire.available()) {
rdata = Wire.read();
//Serial.println("read");
Serial.println(rdata);
//Serial.println(rdata, BIN);
delay(1);}
a=a+1;
//Serial.println(a,BIN);
b=a>>6;
//Serial.println(b,BIN);
c=a & 63;
Wire.begin();
Wire.beginTransmission(deviceaddress);
Wire.write(b);
Wire.write(c);
delay(5);
Wire.write(8);
delay(5);
//Serial.println(9, BIN);
Wire.endTransmission();
delay(5);
// Serial.println(a, BIN);
// Serial.println(b,BIN);
// Serial.println(c,BIN);
rdata = 0xFF;
Wire.beginTransmission(deviceaddress);
Wire.write(b); // MSB
Wire.write(c);
// Wire.write(0,a); // LSB
Wire.endTransmission();
delay(5);
Wire.requestFrom(deviceaddress,1);
if (Wire.available()) {
rdata = Wire.read();
//Serial.println("read");
// Serial.println(rdata);
delay(1);}
delay(100);
a=0;
//Serial.println(a,BIN);
b=a>>6;
//Serial.println(b,BIN);
c=a & 63;
Wire.begin();
Wire.beginTransmission(deviceaddress);
Wire.write(b);
Wire.write(c);
delay(5);
Wire.write(1);
delay(5);
//Serial.println(9, BIN);
Wire.endTransmission();
delay(5);
a=0;
// Serial.println(a, BIN);
b=a>>6;
// Serial.println(b,BIN);
c=a&63;
//Serial.println(c,BIN);
rdata = 0xFF;
Wire.beginTransmission(deviceaddress);
Wire.write(b); // MSB
Wire.write(c);
// Wire.write(0,a); // LSB
Wire.endTransmission();
delay(5);
Wire.requestFrom(deviceaddress,1);
if (Wire.available()) {
rdata = Wire.read();
//Serial.println("read");
Serial.println(rdata);
delay(1);}
a=1;
//Serial.println(a,BIN);
b=a>>6;
//Serial.println(b,BIN);
c=a & 63;
Wire.begin();
Wire.beginTransmission(deviceaddress);
Wire.write(b);
Wire.write(c);
delay(5);
Wire.write(2);
delay(5);
//Serial.println(9, BIN);
Wire.endTransmission();
delay(5);
a=1;
// Serial.println(a, BIN);
b=a>>6;
// Serial.println(b,BIN);
c=a&63;
// Serial.println(c,BIN);
rdata = 0xFF;
Wire.beginTransmission(deviceaddress);
Wire.write(b); // MSB
Wire.write(c);
// Wire.write(0,a); // LSB
Wire.endTransmission();
delay(5);
Wire.requestFrom(deviceaddress,1);
if (Wire.available()) {
rdata = Wire.read();
//Serial.println("read");
Serial.println(rdata);
delay(1);}
a=2;
//Serial.println(a,BIN);
b=a>>6;
//Serial.println(b,BIN);
c=a & 63;
Wire.begin();
Wire.beginTransmission(deviceaddress);
Wire.write(b);
Wire.write(c);
delay(5);
Wire.write(3);
//delay(5);
//Serial.println(9, BIN);
Wire.endTransmission();
delay(5);
a=2;
// Serial.println(a, BIN);
b=a>>6;
// Serial.println(b,BIN);
c=a&63;
// Serial.println(c,BIN);
rdata = 0xFF;
Wire.beginTransmission(deviceaddress);
Wire.write(b); // MSB
Wire.write(c);
// Wire.write(0,a); // LSB
Wire.endTransmission();
delay(5);
Wire.requestFrom(deviceaddress,1);
if (Wire.available()) {
rdata = Wire.read();
// Serial.println("read");
Serial.println(rdata);
delay(1);}
a=3;
//Serial.println(a,BIN);
b=a>>6;
//Serial.println(b,BIN);
c=a & 63;
Wire.begin();
Wire.beginTransmission(deviceaddress);
Wire.write(b);
Wire.write(c);
delay(5);
Wire.write(4);
delay(5);
//Serial.println(9, BIN);
Wire.endTransmission();
delay(5);
a=3;
// Serial.println(a, BIN);
b=a>>6;
// Serial.println(b,BIN);
c=a&63;
// Serial.println(c,BIN);
rdata = 0xFF;
Wire.beginTransmission(deviceaddress);
Wire.write(b); // MSB
Wire.write(c);
// Wire.write(0,a); // LSB
Wire.endTransmission();
delay(5);
Wire.requestFrom(deviceaddress,1);
if (Wire.available()) {
rdata = Wire.read();
//Serial.println("read");
Serial.println(rdata);
delay(1);}
a=4;
//Serial.println(a,BIN);
b=a>>6;
//Serial.println(b,BIN);
c=a & 63;
Wire.begin();
Wire.beginTransmission(deviceaddress);
Wire.write(b);
Wire.write(c);
delay(5);
Wire.write(5);
delay(5);
//Serial.println(9, BIN);
Wire.endTransmission();
delay(5);
a=4;
// Serial.println(a, BIN);
b=a>>6;
// Serial.println(b,BIN);
c=a&63;
//Serial.println(c,BIN);
rdata = 0xFF;
Wire.beginTransmission(deviceaddress);
Wire.write(b); // MSB
Wire.write(c);
// Wire.write(0,a); // LSB
Wire.endTransmission();
delay(5);
Wire.requestFrom(deviceaddress,1);
if (Wire.available()) {
rdata = Wire.read();
// Serial.println("read");
Serial.println(rdata);
delay(1);}
delay(100);
a=5;
//Serial.println(a,BIN);
b=a>>6;
//Serial.println(b,BIN);
c=a & 63;
Wire.begin();
Wire.beginTransmission(deviceaddress);
Wire.write(b);
Wire.write(c);
delay(5);
Wire.write(6);
delay(5);
//Serial.println(9, BIN);
Wire.endTransmission();
delay(5);
a=5;
// Serial.println(a, BIN);
b=a>>6;
// Serial.println(b,BIN);
c=a&63;
// Serial.println(c,BIN);
rdata = 0xFF;
Wire.beginTransmission(deviceaddress);
Wire.write(b); // MSB
Wire.write(c);
// Wire.write(0,a); // LSB
Wire.endTransmission();
delay(5);
Wire.requestFrom(deviceaddress,1);
if (Wire.available()) {
rdata = Wire.read();
// Serial.println("read");
Serial.println(rdata);
delay(1);}
delay(100);
a=3;
// Serial.println(a, BIN);
b=a>>6;
// Serial.println(b,BIN);
c=a&63;
// Serial.println(c,BIN);
rdata = 0xFF;
Wire.beginTransmission(deviceaddress);
Wire.write(b); // MSB
Wire.write(c);
// Wire.write(0,a); // LSB
Wire.endTransmission();
delay(5);
Wire.requestFrom(deviceaddress,1);
if (Wire.available()) {
rdata = Wire.read();
//Serial.println("read");
Serial.println(rdata);
delay(1);}
a=514;
b=a>>6;
c=a&63;
rdata = 0xFF;
Wire.beginTransmission(deviceaddress);
Wire.write(b); // MSB
Wire.write(c);
// Wire.write(0,a); // LSB
Wire.endTransmission();
delay(5);
Wire.requestFrom(deviceaddress,1);
if (Wire.available()) {
rdata = Wire.read();
// Serial.println("read");
Serial.println(rdata);
delay(1);}
delay(100);
a=0;
// Serial.println(a, BIN);
b=a>>6;
// Serial.println(b,BIN);
c=a&63;
// Serial.println(c,BIN);
rdata = 0xFF;
Wire.beginTransmission(deviceaddress);
Wire.write(b); // MSB
Wire.write(c);
//Wire.write(0,a); // LSB
Wire.endTransmission();
delay(5);
Wire.requestFrom(deviceaddress,1);
if (Wire.available()) {
rdata = Wire.read();
//Serial.println("read");
Serial.println(rdata);
delay(1);}
a=515;
b=a>>6;
c=a&63;
rdata = 0xFF;
Wire.beginTransmission(deviceaddress);
Wire.write(b); // MSB
Wire.write(c);
// Wire.write(0,a); // LSB
Wire.endTransmission();
delay(5);
Wire.requestFrom(deviceaddress,1);
if (Wire.available()) {
rdata = Wire.read();
// Serial.println("read");
Serial.println(rdata);
delay(1);}
delay(100);
}
void loop(){}