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.

Access Internal eeprom of At89c52

Status
Not open for further replies.

gopy29

Newbie level 3
Joined
Jul 27, 2010
Messages
4
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
srilanka
Activity points
1,311
Hi guys, In my project i am using keil c51 with At89c52. I need to use internal eeprom to store some counter value on the fly.

How can i access internal eeprom through keil. do i want to use PK51?

please help me to solve this problem

thankyou
 

You can use 89S52/89C52 (is some reason why you using 89C52?) with external eeprom, example 24C04,...

24c04_microcontroller-8051_interface.JPG
 

The AT89C52 offers 8K Bytes of In-System Reprogrammable Flash Memory and 256 Bytes Internal RAM, unfortunately no EEPROM.

Some 8051 variants, e.g., Silabs and MAXIM/Dallas, allow for the erasure and programming of a sector of Flash Memory from within firmware/code, however the ATMEL 8051 variants may not offer this feature.

Another option for utilizing nonvolatile storage, is to implement a SPI or I2C (Atmel TWI) serial EEPROM.

BigDog
 

You can use 89S52/89C52 (is some reason why you using 89C52?) with external eeprom, example 24C04,...

View attachment 67730

Thankyou for the reply. In my country i can buy 89c52 with low cost. I am using 24C32 for store some other data. But for some reason i need to store in internal chip. Is there any way to store data on the fly in any area?

---------- Post added at 07:38 ---------- Previous post was at 07:31 ----------

The AT89C52 offers 8K Bytes of In-System Reprogrammable Flash Memory and 256 Bytes Internal RAM, unfortunately no EEPROM.

Some 8051 variants, e.g., Silabs and MAXIM/Dallas, allow for the erasure and programming of a sector of Flash Memory from within firmware/code, however the ATMEL 8051 variants may not offer this feature.

Another option for utilizing nonvolatile storage, is to implement a SPI or I2C (Atmel TWI) serial EEPROM.


BigDog

well, is there any possibility store data on the fly in microcontroller. I heard about XDATA banking. will it help for me?

**broken link removed**
C51: CONFIGURING XDATA BANKING
 

hai gopy

Just like BigDog said, Atmel 8051 doesnt offer writing in to flash memory on the fly. If the data's are constant and known values, may be u can store in internal code memory using code keyword and defined location. Otherwise you will have option only on data memory, which will erased for every power ON and OFF

thanks

---------- Post added at 12:11 ---------- Previous post was at 12:09 ----------

XDATA is for external data memory access. This also erases after power on and off.
 

well, is there any possibility store data on the fly in microcontroller. I heard about XDATA banking. will it help for me?

The only other option which comes to mind, utilizing the AT89C52's external memory bus (XDATA) and provides nonvolatile read/write storage, is nonvolatile SRAM.

Essentially it is a standard SRAM device with a lithium battery backup. However, they are quite expensive costing significantly more than the AT89C52.

And besides, devices attached to the AT89C52's external memory bus (XDATA) are, as the name implies, external, NOT internal.

Other than using a I2C or SPI serial EEPROM device, the most economical option would be to utilize a different 8051 variant which supports Flash writes from within the firmware/code.

BigDog
 

The only other option which comes to mind, utilizing the AT89C52's external memory bus (XDATA) and provides nonvolatile read/write storage, is nonvolatile SRAM.

Essentially it is a standard SRAM device with a lithium battery backup. However, they are quite expensive costing significantly more than the AT89C52.

And besides, devices attached to the AT89C52's external memory bus (XDATA) are, as the name implies, external, NOT internal.

Other than using a I2C or SPI serial EEPROM device, the most economical option would be to utilize a different 8051 variant which supports Flash writes from within the firmware/code.

BigDog



thankyou for the reply.I saw one taximeter device. in that device they are using STC89c52RC and PCF8583P(For time and calender), but in this device they are storing some value on the fly. for example total hired amount for the day. I heard AT89c52 and STC89c52RC its same. unfortunately i could not find any datasheet for STC89c52RC. I am bit confuse, that is how they are storing value?
If anyone know please let me know.
 

I saw one taximeter device. in that device they are using STC89c52RC and PCF8583P(For time and calender), but in this device they are storing some value on the fly. for example total hired amount for the day. I heard AT89c52 and STC89c52RC its same.


All 8051s are not created equal.


unfortunately i could not find any datasheet for STC89c52RC. I am bit confuse, that is how they are storing value?
If anyone know please let me know.

Reference: STC89Cxx series MCU, STC89LExx series MCU Datasheet Section: Chapter 1 Introduction, pg 4,

Chapter 1 Introduction

STC89xx series, which is produced by STC MCU Limited, is a 8-bit single-chip microcontroller with a fully
compatible instruction set with industrial-standard 80C51 series microcontroller. There is 64K bytes flash
memory embeded for appliaction program, which is shared with In-System-Programming code.In-System-
Programming (ISP) and In-Application-Programming (IAP) support the users to upgrade the program and data
in system. ISP allows the user to download new code without removing the microcontroller from the actual end
product;IAP means that the device can write non-volatile data in Flash memory while the application program
is running.
There are 1280 bytes or 512 bytes on-chip RAM embedded that provides requirement from wide
field application. The user can configure the device to run in 12 clocks per machine cycle, and to get the same
performance just as he uses another standard 80C51 device that is provided by other vendor, or 6 clocks per
machine cycle to achieve twice performance. The STC89xx series retain all features of the standard 80C51. In
addition, the STC89xx series have a extra I/O port (P4 ), Timer 2, a 8-sources, 4-priority-level interrupt structure,
on-chip crystal oscillator,and a one-time enabled Watchdog Timer.


As was previous mentioned, consider switch to another 8051 variant, e.g., the STC89c52RC.

BigDog
 


Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top