interfacing external data memory to 8051

Hi all, I want to log the number of pulse from a device and store the count in a non volatile memory. I am going to use 89c52 microcontroller. The problem is I will log the data for a long time , so the internal memory is not sufficient. How can I add a non volatile external memory to micro 89c52 in hardware. What is the procedure to send data to the addresses of this external memory?

Thanks in advance.

Reply to
romeshkulasekhara
Loading thread data ...

I can assume you are writing from India, with such a famous name? What kind of NV ram do you plan to use? There are so many different kinds. It's even possible to use the older, windowed EPROM chips, if all you are doing is logging data. And there are plenty of schematics on the web illustrating how to do that. Also, how much data do you need to log out?

Jon

Reply to
Jon Kirwan

I suggest that you get a copy of the book "The 8051/8052 Microcontroller: Architecture, Assembly Language, and Hardware Interfacing ", a.. Publisher: Universal Publishers (August 29, 2005) a.. ISBN-10: 1581124597 It has good examples of the hardware layout and the code to make it happen.

--
David
dgminala at mediacombb dot net
Reply to
Dave M

I assume you are talking to the OP, not me. There are also some interfacing examples in the BASIC52 manual that Intel used to give away (but no longer does.) And in many other places around the web. But it is also hard to say exactly what is right for the OP, without knowing just how much data is to be logged.

Jon

Reply to
Jon Kirwan

There's some pretty useful information about using SD-type memory chips (like those used in digital cameras) with 8051 designs at this link:

formatting link

-mpm

Reply to
mpm

Well, if you want to use an 80's uP, why not use 80's memory? (the

8051 is old, don't know about 89c52) I've used Hitachi 6116 LP3 (2K by 8 bits) static ram, with battery backup. Diode isolation to keep battery power and main power seperate. This is the chip that was used in the old Texas Instruments 99/4A Memory Expansion Module. Yeah, that's where I "stole" the idea from, but it works well - as long as you're not hampered by the speed of a static ram. With a data logger, I don't think you would be.
Reply to
lektric.dan

On a sunny day (Thu, 16 Sep 2010 06:40:59 -0700 (PDT)) it happened " snipped-for-privacy@gmail.com" wrote in :

Personally I would first look at some I2C or SPI serial FLASH. Takes fewer I/O pins.

512 kbit FLASH exists, say 64 kB, 8052 canot address more RAM than that. with fewer output pins I2C would give much more memory. Microchip 24LC515?
Reply to
Jan Panteltje

Use an atmel SPI data flash. 8 pin chip 64 Mbits.

Reply to
TTman

Or the similar ST or Numonics parts. Cheap, just 4 pins to wiggle, a real pain to program.

John

Reply to
John Larkin

Same here. SPI (fast) or I2C (much slower) flash would be the way to go. There are (where) some 8051 cores which could handle a 24MB address space but these are going obsolete pretty soon.

Altough I really would advise the OP to look into an ARM device. The compilers and other software tools are much cheaper (free) and better. The newer Cortex-Mx devices can be programmed without needing a single line of assembly language to get the device started.

--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
nico@nctdevpuntnl (punt=.)
--------------------------------------------------------------
Reply to
Nico Coesel

The OPs homework assignment requires an 8051.

h
Reply to
hamilton

Well, it could, with a little external glue logic and a programmer who pays attention. :-)

Cheers! Rich

Reply to
Rich Grise

On a sunny day (Thu, 16 Sep 2010 12:35:22 -0700) it happened Rich Grise wrote in :

With one liitle external glue chip (FPGA) it can emulate a PIC too :-)

Reply to
Jan Panteltje

The 8051 isn't my first choice of an architecture, and whenever I see "PIC" I run away screaming - bank switching is EVIL! ;-P

I really lament the passing of the 68HC11, a dream to program, especially their timer scheme. The timer in the 8051 was kind of a PITA to do right; in the 68HC11, it's like it's practically already done for you. :-)

Cheers! Rich

Reply to
Rich Grise

Of course, any of these could be done in a CPLD or FPGA, with an appropriate core. :-)

Cheers! Rich

Reply to
Rich Grise

On a sunny day (Thu, 16 Sep 2010 15:27:41 -0700) it happened Rich Grise wrote in :

18Fxx does not have that problem. When I ported code from the 16Fxx series, I removed all 'banksel' statements.
Reply to
Jan Panteltje

Thanks for all of you. I am trying with SPI flash and also trying to interface SD card with 8051 (as I got circuits from the web for this). I have to transfer around 125 MB of data over 45 days. The system will log the data once in an hour.

Thanks.

Reply to
romeshkulasekhara

If you do not use the internal program counter only, (bank switching) you can go larger. With just a data pointer in internal memory you could address much much more.

Reply to
JosephKK

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.