I am currently writing a library for ATMEL's 24C series EEPROMs (not a programming question). The library works fine with a single EEPROM at the moment and I am trying to support multiple EEPROMs now, since according to the data sheet, up to 8 24C02 EEPROMs can be connected at the same time. However, I am not able to understand how to assign an address to the EEPROM. From what I understand, I can assign an address between 0x50 and 0x57 by setting A0, A1 and A2 pins to HIGH or LOW. However, it doesn't matter what I set these pins to. The EEPROM uses all the 8 addresses:
I2C scanner. Scanning ...
Found address: 80 (0x50)
Found address: 81 (0x51)
Found address: 82 (0x52)
Found address: 83 (0x53)
Found address: 84 (0x54)
Found address: 85 (0x55)
Found address: 86 (0x56)
Found address: 87 (0x57)
Done.
Found 8 device(s).
This output is from I2C scanner. I can transmit with all of the addresses and the single EEPROM receives it all. Is there something else I need to do?
Here is the datasheet of the EEPROM: https://www.rhydolabz.com/documents/24c04.pdf