Hi,
I'm trying to implement a basic EEPROM programmer that will both read from and write to an AT28C256 eeprom using 74HCxxx shift registers and a PIC18F14k22. Using two 74HC595s for address and data (address low and data share the same register) and a few pins from the PIC, I'm able to write the eeprom. And using a 74HC165 shift-in register I can read the eeprom. But to do so I have to swap the data wires from the 595 to the 165, or I get garbage data. Same goes for writing (if the 165 is on the data bus, things get wonky).
So my question is, how can I wire my circuit such that the 595 and the 165 can share the data bus? I'm sure I'm missing something pretty basic, but I'm fairly new electronics and circuit design and am learning as I go.
I've attached my current design, which adds a probably unnecessary third 74HC595 to separate data from address.
Thanks!
I'm trying to implement a basic EEPROM programmer that will both read from and write to an AT28C256 eeprom using 74HCxxx shift registers and a PIC18F14k22. Using two 74HC595s for address and data (address low and data share the same register) and a few pins from the PIC, I'm able to write the eeprom. And using a 74HC165 shift-in register I can read the eeprom. But to do so I have to swap the data wires from the 595 to the 165, or I get garbage data. Same goes for writing (if the 165 is on the data bus, things get wonky).
So my question is, how can I wire my circuit such that the 595 and the 165 can share the data bus? I'm sure I'm missing something pretty basic, but I'm fairly new electronics and circuit design and am learning as I go.
I've attached my current design, which adds a probably unnecessary third 74HC595 to separate data from address.
Thanks!
Attachments
-
274.6 KB Views: 23