8051 external RAM/ROM chip selects

Thread Starter


Joined Feb 22, 2016
I'm starting a simple 8051 single board and plan on having 64k external RAM and ROM. I'll be using 2x32k chips for each. I'm fairly new to this and would like to know if I have the logic for the chip selects correct.

I plan on using a 2-to-4 decoder using the PSEN line and A15. With this I'd have the 00 line to RAM1, 01 line to RAM2, 10 to ROM1 and 11 to ROM2.

Is this correct?



Joined Feb 24, 2006
PSEN* = Program Store Enable. It is low for instruction fetches which will come only from ROM, either internal or external
RD*, and WR* are active low strobes for Data Memory Access
Data memory access to internal resources will not show up externally.
Don't forget to tie the EA pin correctly and to demultiplex the Address/Data bus with ALE.

You also need to be sure you understand which instructions trigger external memory access with what values on the address bus.

PSEN*, WR*, and RD* should be used for OE* on the memory chips.

Just use A15 for CS on the memory chips.

Forget the decoder.

To sum up:
  1. On ROM chips use A15 for the chip select on both ROM chips, and use PSEN* for OE*
  2. On RAM chips use a15 for the chip select on both RAM chips, Use RD* for OE*, and WR* for WR*
  3. Did I mention that you can forget the decoder.