suitable memories for 8051

Thread Starter

kzt

Joined Oct 23, 2011
3
hello
my teacher gave me this semester long project where we have to setup a data logger using 8051 microcontroller .he has asked us to find a suitable memory first for 40 bytes where each bit arrives after a delay of 600us(the arriving data has to be stored in this external memory) does this delay have anything to do with the memory size or type?kindly help,m looking forward to a solution.will be greatful!
 

t06afre

Joined May 11, 2009
5,934
You do not write single bits in computer memory. You write bytes. One type of memory that may be used is an SPI based flash type memory. If your 8051 do have a free SPI port that is.
 

debjit625

Joined Apr 17, 2010
790
kzt said:
does this delay have anything to do with the memory size or type?
Yes,any memory type may be serial or parallel will give you a write cycle time for each byte,it should be less then 600us in your case.You can find the write cycle time specification for your device in its datasheet.

Good Luck
 

Thread Starter

kzt

Joined Oct 23, 2011
3
thankyou debjit625 and t06afre.
and its not computer memory just an eternal memory to 8051 microcontroller
 

Jon Wilder

Joined Oct 25, 2011
23
The MCS-51 family works with the 27xxx and 27Cxxx external EPROMs if you're wanting parallel memory. But the lower address byte will need a parallel latch such as the 74HC/HCT373 or 74HC/HCT573 because the lower address byte and data are multiplexed onto P0.
 

Thread Starter

kzt

Joined Oct 23, 2011
3
thank you Jon.
there is one thing more that i have to ask is there any way we could interface 8051 with an external RAM greater than 64KB? will a non volatile RAM help? looking forward to an urgent reply.will be greatful
 

Jon Wilder

Joined Oct 25, 2011
23
The 8051 can support up to 64K of external PROGRAM ROM. This is due to the fact that ports 0 and 2 are the external ROM address buss (with the data buss multiplexed onto port 0, which is the low byte of the EPROM address buss and is why a parallel latch is needed to read the data back from the EPROM). With only having 16 address lines (8 address lines per port x 2 ports), you can only access up to 65,536 addresses in program ROM (16 lines = 16 bits, and 16 bits can only count from 0 to 65535, for a total of accessibility to 65536 program ROM addresses).

But this is for PROGRAM ROM, i.e. the memory that holds the main program that makes the chip work.

However, if it's more RAM that you're looking for (which is memory that the chip uses for temporary storage of data during program execution), you can use as large a RAM as you can send address bits to it. A serial EEPROM can function as external RAM if need be. Microchip has a host of them available.
 

RiJoRI

Joined Aug 15, 2007
536
I would look at saving 8 bits at a time into the bit memory section of the 8051, or save the bits into the B register. Once I had the byte, I would save it out to the RAM.

As to more than 64K of RAM, what you would need to do is called "memory banking." Using the P1 pins as additional address / chip select lines, you can get up to 2^24 bytes. You will have to programmatically change the P1 settings. If you really want to go wild, you can utilize any unused P3 pins as well.

This is all assuming parallel RAMs will be used.

--Rich
 
Top