> I am currently trying to connect up a 24C16 EEPROM to a 16C74 in a >project I am building. I have been trying to find information on how to >connect up this chip but have had little luck. The only thing I found was >a data sheet on the chip by National Semi.. Judging by the data sheet I >came up with the following connections. > _________ __________ > | | | |1 A0 NC > | 74 | sclk 6| EE |2 A1 NC > | |18----------| |3 A2 NC > | | | | > | | sda 5| |4 VSS > | |23----------| | > | | | |5 VDD > | | | | > --------- ---------- > >A0 | >A1 |----- Device Address inputs datasheet gives value as X for 24C16 >A2 | The 'x' doesn't mean 'leave them undefined', it means 'available for definition by the user'. The slave address lines A0..2 must be connected to valid logic levels (Vdd or Vss). Vdd will be read by the chip as '1', and Vss will be read as '0'. Place these '1' and '0' address bits into the slave select byte of the command sequence, and you will correctly select the desired device. Obviously, this allows you to have up to eight chips connected to the PIC but use only two I/O lines. >VSS - GND >VDD - +5 > >pin 6 SCL Clock >pin 5 SDA Data These connections are correct. >The software I am using is the example given with the PICDEM board.. >which is supposed to work with 24CXX range ?? My problem is my program >never leaves the errorstate loop.. Its exactly as if my EEPROM isn't >there. Personally I think that it may be the Slave address line in the >code.. But I can find no infomation on how this is calculated! or how I >set my EEPROM to match it ? You're right, the EEPROM isn't there. This is good. It means your code is working as expected! :) You must set the device address as described, and modify your code to use this address. ___Bob