Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

8051 interfacing Non-volatile RAM

Status
Not open for further replies.

azkhan

Newbie level 3
Joined
Jun 18, 2011
Messages
3
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,307
my project is electronic voting machine, i want to interface it with a ram to store voters data & the data should be there after power off , i m using 24c16 , but i want to know some other nonVolatile RAM's for this. which should be easy to read & write, help out if some one knows
 

I see... you mean SEEP (Serial Electrically Erasable Programmable memory).
How many pins you have to address a non-volatile memory?
Could you get 24C512 (the series starts from 24C32)? It is similar to 24C16 but an added byte is added for the serial address.
I wrote many years ago, the routine for such series since I use it a lot. It is not perfect but it does its job. As you know the main drawback in using SEEP is its relative low speed in writing and to a less extend in reading.

For instance, since you need just a 2K byte memory, try to find an MCU with an internal SEEP like AT89S8253 (reading and writing with an internal SEEP is rather very easy).
 
Last edited:
  • Like
Reactions: azkhan

    azkhan

    Points: 2
    Helpful Answer Positive Rating
hi azkhan,

24C16 is not a RAM it is EEPROM having size of 2048byts i.e. 2k

this is very common memory storage device used in industry which needs only two I/O or I2C
This is 24CXX series
likewise you can have look at 25CXX series which is SPI based
or MMC cards or flash IC
 
  • Like
Reactions: azkhan

    azkhan

    Points: 2
    Helpful Answer Positive Rating
thanks KerimF for ur valuable reply,

sir, in my project of Electronic voting machine, i m using 29 buttons for candidate selection & another button to poll a vote after selection of the candidate. it means i need 29 variables to store thier data in somekind of nonVolatile IC like 24c16. On every candidate's button press & confirm button press, the machine would increment the count of that particular candidate or the variable declared for that candidate,so i need a code for this configuration in C. could u send me the code for at89s55wd.
 

I forgot to say that I had (and used) to write my programs always as assembly codes since I don't have a C compiler for MCUs.

Since you need just a few variables to store, perhaps you can find in your local market a C51 ATMEL MCU that has an internal SEEP. It will be very easy to read and write its bytes.
 
Last edited:
  • Like
Reactions: azkhan

    azkhan

    Points: 2
    Helpful Answer Positive Rating
Dear Mr.azkhan

asking directly for source code is bad practice, if possible, please try to avoid it.
Plenty of data is available for i2c.
since you are using at89s55wd which doesn,t have built in I2C hardware
you have to interface your 24C16 to your microcontroller with GPIO & use I2C with use of bit banking

hXXp://kanga.gerbilator.org/ICs/AN3300.pdf

please read above document which contains ready routine for I2C, which you can modify or use as its for your application.
If you need any further help please free feel to ask.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top