<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>protecting some values while changing the battery</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/39085/protecting-some-values-while-changing-the-battery</link><description> 
i m working on a project with 89c51rd2. 

 
my problem is how to store some datas in memory... 

 
a passwoed for example, 
i store a defult value for the password when i programming. 
and i want the user can change the password. 
but if the user shuts</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/149913?ContentTypeID=1</link><pubDate>Mon, 27 Dec 2010 14:07:32 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:01e9d457-3194-4d2c-bcd4-c4d2fabe68e5</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;&lt;p&gt;
Said &lt;i&gt;&lt;b&gt;what&lt;/b&gt;&lt;/i&gt; is possible?&lt;/p&gt;

&lt;p&gt;
It has been quite clearly stated that you need
&lt;i&gt;&lt;b&gt;either&lt;/b&gt;&lt;/i&gt; a backup power source &lt;i&gt;&lt;b&gt;or&lt;/b&gt;&lt;/i&gt; a
non-volatile memory.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/157777?ContentTypeID=1</link><pubDate>Mon, 27 Dec 2010 13:39:07 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:74e23a32-b474-4d59-8b8e-5e85d4138af0</guid><dc:creator>selahattin porsuk</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;RAM keeps the contents while _powered_.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;Making the startup code not clear RAM is something that is done
when you reset the processor without removing the power, and want to
keep the original contents of some variables.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;You either needs backup power to the RAM, or you need to use
non-volatile memory. Your PC will not remember the RAM contents if
you remove any battery + power coord. That is expected behaviour and
the main difference between the primary memory (RAM) and the hard
disk (potentially using flash memory).&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
so many people had given advices about this thread.&lt;br /&gt;
But u told the most helpfull things.&lt;/p&gt;

&lt;p&gt;
Thanks you. i will place a non-volatile memory onto my pcb.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/149452?ContentTypeID=1</link><pubDate>Mon, 27 Dec 2010 13:34:49 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:56c13e0d-cdfb-4f9b-9531-264dd759780a</guid><dc:creator>selahattin porsuk</dc:creator><description>&lt;p&gt;&lt;p&gt;
Many people here said that is possible. but i couldnt do.&lt;/p&gt;

&lt;p&gt;
i understood. So i will place a non-volatile memory on my pcb.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/139781?ContentTypeID=1</link><pubDate>Mon, 27 Dec 2010 13:32:55 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:cf6019f0-c95a-46b1-b79e-e1a61f87800f</guid><dc:creator>ImPer Westermark</dc:creator><description>&lt;p&gt;&lt;p&gt;
RAM keeps the contents while _powered_.&lt;/p&gt;

&lt;p&gt;
Making the startup code not clear RAM is something that is done
when you reset the processor without removing the power, and want to
keep the original contents of some variables.&lt;/p&gt;

&lt;p&gt;
You either needs backup power to the RAM, or you need to use
non-volatile memory. Your PC will not remember the RAM contents if
you remove any battery + power coord. That is expected behaviour and
the main difference between the primary memory (RAM) and the hard
disk (potentially using flash memory).&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/136357?ContentTypeID=1</link><pubDate>Mon, 27 Dec 2010 13:21:06 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:fe932403-5822-44ed-93ee-5cd896c6edd2</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;quot;i was hoping; leds keep showing 0101 when i started up the
device again&amp;quot;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
What made you think that was even possible - let alone
likely??!&lt;/p&gt;

&lt;p&gt;
I thought you said you understood the meaning of
&amp;quot;&lt;b&gt;volatile&lt;/b&gt;&amp;quot;...??&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/126581?ContentTypeID=1</link><pubDate>Mon, 27 Dec 2010 13:14:16 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:c80e450d-2381-4aad-8a66-34ed4a07f307</guid><dc:creator>selahattin porsuk</dc:creator><description>&lt;p&gt;&lt;p&gt;
i built a 0-F counter to try it. i used a button, 4 leds and a
AT89C51RC2.&lt;/p&gt;

&lt;p&gt;
here is the codes.&lt;/p&gt;

&lt;pre&gt;
#include &amp;lt;89c51rd2.h&amp;gt;
#include &amp;lt;absacc.h&amp;gt;

#define yukari P1_0
#define cikis P2

int xdata sayi _at_ 0xF1;

void main()
{

   yukari = 0;
   sayi = sayi&amp;amp;0x000F;
   cikis = sayi;

//      DBYTE [0x0002] = 5; // 0002 h adresli data bellege 5 bilgisini yaz
//      Oku = CBYTE [0x0002]; // 0002 h adresli code bellekten 1 byte oku


   while(1)
   {
          if (yukari)
          {
                 while(yukari);
                    if(sayi&amp;lt;15)
                           sayi++;
            else
                           {
                                  sayi = 0;
                           }
                           cikis = sayi;
          }
   }
}
&lt;/pre&gt;

&lt;p&gt;
&lt;br /&gt;
i programmed the chip and placed it to the circuit on breadboard.&lt;br /&gt;
i pushed the button 5 times and the leds showed 0101.&lt;br /&gt;
i removed the power and started again.&lt;/p&gt;

&lt;p&gt;
i was hoping; leds keep showing 0101 when i started up the device
again. but they didnt, they started to show 0000.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/119126?ContentTypeID=1</link><pubDate>Mon, 27 Dec 2010 11:40:39 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:edfd7f9b-17b5-4ada-9c90-cede17fb0ec1</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;&lt;p&gt;
What were you hoping to achieve by those changes?&lt;/p&gt;

&lt;p&gt;
What change(s) were you expecting?&lt;/p&gt;

&lt;p&gt;
What tests did you do to confirm that &lt;i&gt;&lt;b&gt;nothing&lt;/b&gt;&lt;/i&gt;
changed?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/102368?ContentTypeID=1</link><pubDate>Mon, 27 Dec 2010 09:46:53 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:4370f886-6e52-4431-ba64-bd53feb15f1c</guid><dc:creator>selahattin porsuk</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;Please read the manual: &lt;a href="http://www.keil.com/support/man/docs/c51/c51_ap_startup.htm"&gt;http://www.keil.com/support/man/docs/c51/c51_ap_startup.htm&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
i looked this many times.&lt;br /&gt;
and this: &lt;a href="http://www.keil.com/support/docs/374.htm"&gt;http://www.keil.com/support/docs/374.htm&lt;/a&gt;&lt;br /&gt;

and some others.&lt;/p&gt;

&lt;p&gt;
i did some following changings in startup.a51&lt;/p&gt;

&lt;pre&gt;
XDATASTART      EQU     7FFFH
XDATALEN        EQU     1H
&lt;/pre&gt;

&lt;p&gt;
Nothing changed!&lt;/p&gt;

&lt;p&gt;
so i decided to use an external memory as &lt;b&gt;Westermark&lt;/b&gt;
pointed&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/104462?ContentTypeID=1</link><pubDate>Mon, 27 Dec 2010 09:13:43 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:af1ac096-422b-4546-bca4-55a4d5f6c15a</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;&lt;p&gt;
More commonly known as just &amp;quot;&lt;b&gt;FRAM&lt;/b&gt;&amp;quot; ?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/90772?ContentTypeID=1</link><pubDate>Mon, 27 Dec 2010 09:11:42 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:56a398d0-c852-4a9d-9bab-3ad9b5b57925</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;&lt;p&gt;
No. Keil provides you with a &lt;i&gt;&lt;b&gt;default&lt;/b&gt;&lt;/i&gt; STARTUP.A51
file, where the &lt;i&gt;&lt;b&gt;default&lt;/b&gt;&lt;/i&gt; action is to clear memory on
startup.&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;&amp;quot;Somebodies told that if i modify this file as i want, keil
will not clear the memory while starting up.&amp;quot;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
It&amp;#39;s nothing to do with Keil - you can modify the source code as
you wish!&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;&amp;quot;But nobody told how to do it&amp;quot;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;Please read the manual:&lt;/b&gt; &lt;a href="http://www.keil.com/support/man/docs/c51/c51_ap_startup.htm"&gt;http://www.keil.com/support/man/docs/c51/c51_ap_startup.htm&lt;/a&gt;&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/90770?ContentTypeID=1</link><pubDate>Mon, 27 Dec 2010 09:11:42 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:80cd3cc1-4a25-4c6c-ada4-0668378bb9c1</guid><dc:creator>&amp;#178;erik malund</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;Keil clears all memory spaces with the file &amp;quot;STARTUP.A51&amp;quot; while
starting up the device.&lt;br /&gt;
Somebodies told that if i modify this file as i want, keil will not
clear the memory while starting up.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;But nobody told how to do it.&lt;/i&gt;&lt;br /&gt;
if you can not figure that out, go back to basics&lt;/p&gt;

&lt;p&gt;
anyhow, what does that have to do with your problem, RAM is lost
during battery change&lt;/p&gt;

&lt;p&gt;
do not try to run before you have even learned how to crawl&lt;/p&gt;

&lt;p&gt;
Erik&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/90774?ContentTypeID=1</link><pubDate>Mon, 27 Dec 2010 08:57:17 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:f1e1a89c-800d-4037-9f12-1c4988002d05</guid><dc:creator>ImPer Westermark</dc:creator><description>&lt;p&gt;&lt;p&gt;
You say you have tried for a week? Tried what? Random experiments
or sitting and thinking about the problem?&lt;/p&gt;

&lt;p&gt;
If you tell the Keil tools that your processor has 10 bytes less
memory than it really has - how do you then expect the Keil tools to
&amp;quot;know&amp;quot; to clear these extra 10 bytes?&lt;/p&gt;

&lt;p&gt;
If you real the Keil documentation, you will also find
documentation how to create variables that are not initialized on
startup.&lt;/p&gt;

&lt;p&gt;
But the above only affects clearing of variables if you reset the
processor. All variables in RAM loses their content when the
processor loses the power supply. So how did you plan to supply your
processor when it isn&amp;#39;t powered?&lt;/p&gt;

&lt;p&gt;
For processors that _can_ write to flash (which it seems your
processor does support, according to other posts), it is possible to
save state in flash for an indefinite time. But that requires one of
two things:&lt;br /&gt;
- that you change the value so seldom that you don&amp;#39;t wear out the
flash. Flash memory only supports a limited number of write/erase
cycles.&lt;br /&gt;
- that you can detect a power loss and have enough buffer power that
you can keep the supply voltage within nominal values while you save
RAM contents to flash. This spare power requires hardware
support.&lt;/p&gt;

&lt;p&gt;
For procesors that can write to EEPROM, you get more options.
Since EEPROM normally allows you to write to single cells, you can
reduce the wear by cycling between multiple memory cells. So yuou may
be able to write every change directly to the EEPROM. Or you can do
the same as with flash - detect a power loss and run on spare power
while storing to EEPROM.&lt;/p&gt;

&lt;p&gt;
Or you may look at ways to feed the processor from batteries or a
large enough supercap, while you make sure that the processor
switches to lowest possible power mode. Just to have the RAM cells
powered.&lt;/p&gt;

&lt;p&gt;
Or you may look at external memory like FeRAM - a technology like
EEPROM but with faster write cycles and without need to care about
wear from multiple writes. Lots of code that shows how to interface
an EEPROM using I2C or SPI. Same code will support an FeRAM that is
connected using I2C or SPI.&lt;/p&gt;

&lt;p&gt;
So what you are saying is: No one have _given_ you a turn-key
solution. You have been given suggestions, but you have spent a week
on your own without looking closer at already given suggestions. The
actual details have been discussed in many threads on this site. And
they are possible to find using Google. Can you give one single good
reason why _we_ should find the references for yuo? Or why _we_
should duplicate the information in this thread instead of having you
locate the original threads?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/58997?ContentTypeID=1</link><pubDate>Mon, 27 Dec 2010 08:24:37 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:44669b3a-b5df-4887-8367-7e5b0a6f84f7</guid><dc:creator>selahattin porsuk</dc:creator><description>&lt;p&gt;&lt;p&gt;
i was trying for a week. but no step i took.&lt;br /&gt;
i saw many sources. and i found some helps.&lt;/p&gt;

&lt;p&gt;
Keil clears all memory spaces with the file &amp;quot;STARTUP.A51&amp;quot; while
starting up the device.&lt;br /&gt;
Somebodies told that if i modify this file as i want, keil will not
clear the memory while starting up.&lt;/p&gt;

&lt;p&gt;
But nobody told how to do it. :D&lt;br /&gt;
i copy the STARTUP.A51 file under C51/LIB. and paste under my project
directory. And i add that file to my source group. i want to modify
it.&lt;br /&gt;
my problem is: &lt;b&gt;Which changings should i do on it?&lt;/b&gt;&lt;br /&gt;
if anybody knows, please helpp...&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/116167?ContentTypeID=1</link><pubDate>Thu, 23 Dec 2010 22:48:11 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:54fe951f-45ba-413e-8f7e-619eab8bda32</guid><dc:creator>ashley madison</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;... use a constant variable!&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
Huh? A &amp;quot;constant variable&amp;quot;? Now there&amp;#39;s a dichotomy!&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/149916?ContentTypeID=1</link><pubDate>Thu, 23 Dec 2010 08:53:34 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:116039a3-c595-4b62-b598-0844dd5715ca</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;&lt;p&gt;
You may have &lt;i&gt;seen&lt;/i&gt; it, but you don&amp;#39;t seem to have actually
taken any time to &lt;b&gt;study&lt;/b&gt; it!&lt;/p&gt;

&lt;p&gt;
&lt;a href="http://www.atmel.com/dyn/resources/prod_documents/doc4235.pdf"&gt;www.atmel.com/.../doc4235.pdf&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
Right there on the front page, it says:&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;&amp;quot;&amp;bull; On-chip 2048 Bytes EEPROM Block for Data Storage
(AT89C51ED2 Only)&amp;quot;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
So that directly answers you question as to whether such a thing
is available!&lt;/p&gt;

&lt;p&gt;
It also says:&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;&amp;quot;&amp;bull; 2048 Bytes Boot ROM Contains Low Level Flash
Programming Routines&amp;quot;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
So you have the facility for your code to write to the Flash.&lt;/p&gt;

&lt;p&gt;
And, on the product page in Atmel&amp;#39;s website:&lt;/p&gt;

&lt;p&gt;
&lt;a target="_blank" href="http://www.atmel.com/dyn/products/product_card.asp?part_id=3044"&gt;&amp;quot;&lt;/p&gt;

&lt;p&gt;
Of course not! Datasheets tell you the capabilities of the chip;
it&amp;#39;s up to you to &lt;b&gt;think&lt;/b&gt; about how those capabilities could be
applied to solve your particular problem&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/149450?ContentTypeID=1</link><pubDate>Thu, 23 Dec 2010 07:45:12 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:f11e41c6-6510-4e91-b98b-9ced7a85ed8f</guid><dc:creator>selahattin porsuk</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;Changing battery was just an example&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
I thought to use 1F capacitor. But if user remove the power for
long time. &lt;b&gt;eg: a week&lt;/b&gt;...&lt;/p&gt;

&lt;p&gt;
And! of course i saw the datasheet of &lt;b&gt;AT89C51RD2&lt;/b&gt; many times
in last 3 days.&lt;br /&gt;
I saw nothing about this thread&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/136356?ContentTypeID=1</link><pubDate>Thu, 23 Dec 2010 07:26:18 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:25bcd858-a743-4b05-b692-d988ff940f04</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;&lt;p&gt;
If you really just need to preserve data &lt;i&gt;while changing the
battery&lt;/i&gt; - ie, just for a brief time - have you considered just
using a large capacitor for backup power?&lt;/p&gt;

&lt;p&gt;
Possibly also putting the processor (and other parts of the
system) into a low-power mode during that time...?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/126554?ContentTypeID=1</link><pubDate>Thu, 23 Dec 2010 07:22:06 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:394e4699-fadb-4bfc-bfae-c2c808265b91</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;&lt;p&gt;
That is a virtually meaningless question!&lt;/p&gt;

&lt;p&gt;
There are literally hundreds (maybe even thousands) of chips based
on the 8051 &lt;i&gt;architecture;&lt;/i&gt; the things which distinguish them
are what peripherals they have - such as NV memory!&lt;/p&gt;

&lt;p&gt;
Unfortunately, the parametric search facility doesn&amp;#39;t include
on-chip NV memory as an option&lt;br /&gt;
&lt;b&gt;:-(&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;
&lt;a href="http://www.keil.com/dd/search_parm.asp"&gt;http://www.keil.com/dd/search_parm.asp&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
Before looking at other chips, have you checked the
&lt;b&gt;datasheet&lt;/b&gt; for your specific chip?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/126553?ContentTypeID=1</link><pubDate>Thu, 23 Dec 2010 07:16:48 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:aef26a40-851b-48d5-ba9a-f5d12c03d6db</guid><dc:creator>ImPer Westermark</dc:creator><description>&lt;p&gt;&lt;p&gt;
Don&amp;#39;t switch back to generic 8051. A &amp;quot;generic&amp;quot; 8051 does not have
any way of storing nonvolatile variables internally. But you are not
using a &amp;quot;generic&amp;quot; 8051. The documentation for your specific chip will
tell you what extra features your specific chip has. Have you visited
the manufacturers web site and looked at the information available?
What was your conclusions after an initial, quick, scan of all the
documentation? How do you think you should push ahead, based on that
information?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/116173?ContentTypeID=1</link><pubDate>Thu, 23 Dec 2010 07:05:45 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:4a2b9402-5d16-45b8-baa3-07f6483fe488</guid><dc:creator>selahattin porsuk</dc:creator><description>&lt;p&gt;&lt;p&gt;
Before even beginning to think about any code, you need to think
about what hardware you will use.&lt;br /&gt;
I just know 8051 programming a bit. So i decided to use it.&lt;/p&gt;

&lt;p&gt;
You do understand why you lose your data when the power is
removed, don&amp;#39;t you?&lt;br /&gt;
Yes. I know why my data loosing. And im trying to solve it. Also i
stopped my project about this problem.&lt;/p&gt;

&lt;p&gt;
Memories that lose their data when power is lost - such as the
internal RAM of an 8051 - are said to be volatile;&lt;/p&gt;

&lt;p&gt;
Memories that do not lose their data when power is lost are said
to be non-volatile.&lt;/p&gt;

&lt;p&gt;
It should be obvious that you have 2 possible approaches here:&lt;/p&gt;

&lt;p&gt;
1. provide some sort of &amp;quot;backup&amp;quot; supply - so that your (volatile)
memory does not lose its power;&lt;/p&gt;

&lt;p&gt;
2. use some sort of non-volatile memory - so that it does not
matter that your memory loses its power.&lt;/p&gt;

&lt;p&gt;
There are many different ways to achieve each of these - it is
your job, as designer, to consider which is most appropriate to the
specific requirements &amp;amp; constraints of your particular
application...&lt;/p&gt;

&lt;p&gt;
Thank you. I know all of them. The think i dont know is, Does a
8051 have any non-volatile memory? and how to store my data to
there.&lt;br /&gt;
if 8051 does not have, i will use a 26XX series eeprom. but it will
place on my board :(&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/126559?ContentTypeID=1</link><pubDate>Thu, 23 Dec 2010 05:54:15 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:cbe25f08-2716-459c-85c5-381b7561f349</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;&lt;p&gt;
If it&amp;#39;s &lt;i&gt;internal&lt;/i&gt;, is it likely to be &lt;i&gt;serial&lt;/i&gt;?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/116168?ContentTypeID=1</link><pubDate>Thu, 23 Dec 2010 05:26:57 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:99e286a9-ddba-4738-9b36-b42cf097adf5</guid><dc:creator>&amp;#178;erik malund</dc:creator><description>&lt;p&gt;&lt;p&gt;
... does the AT89C51RD2 not have a small serial eeprom?&lt;br /&gt;
if not id DOES have a means of writing code memory&lt;/p&gt;

&lt;p&gt;
I have no intention of reading the datasheet for the OP&lt;/p&gt;

&lt;p&gt;
Erik&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/119118?ContentTypeID=1</link><pubDate>Thu, 23 Dec 2010 03:41:08 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:81eb85e9-e7f9-4e24-8ceb-c0218b76c0a8</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;&lt;p&gt;
What a tease!&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;:-)&lt;/b&gt;&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/104464?ContentTypeID=1</link><pubDate>Thu, 23 Dec 2010 03:18:18 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:70380660-5abd-4d89-9bc8-762568844919</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;&lt;p&gt;
Before even beginning to think about any &lt;i&gt;code&lt;/i&gt;, you need to
think about what &lt;b&gt;hardware&lt;/b&gt; you will use.&lt;/p&gt;

&lt;p&gt;
You do understand why you lose your data when the power is
removed, don&amp;#39;t you?&lt;/p&gt;

&lt;p&gt;
Memories that lose their data when power is lost - such as the
internal RAM of an 8051 - are said to be &lt;b&gt;volatile&lt;/b&gt;;&lt;/p&gt;

&lt;p&gt;
Memories that do not lose their data when power is lost are said
to be &lt;b&gt;&lt;i&gt;non-&lt;/i&gt;volatile&lt;/b&gt;.&lt;/p&gt;

&lt;p&gt;
It should be obvious that you have 2 possible approaches here:&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;1.&lt;/b&gt; provide some sort of &amp;quot;backup&amp;quot; supply - so that your
(volatile) memory does &lt;i&gt;not&lt;/i&gt; lose its power;&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;2.&lt;/b&gt; use some sort of &lt;b&gt;&lt;i&gt;non-&lt;/i&gt;volatile&lt;/b&gt; memory - so
that it does not &lt;i&gt;matter&lt;/i&gt; that your memory loses its power.&lt;/p&gt;

&lt;p&gt;
There are many different ways to achieve each of these - it is
your job, as designer, to consider which is most appropriate to the
specific requirements &amp;amp; constraints of your particular
application...&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: protecting some values while changing the battery</title><link>https://community.arm.com/thread/104467?ContentTypeID=1</link><pubDate>Thu, 23 Dec 2010 02:55:47 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:3a289967-ed2f-4e1d-9d08-4b3847a86f7c</guid><dc:creator>Tamir Michael</dc:creator><description>&lt;p&gt;&lt;p&gt;
Obviously you need some sort of non-volatile memory...&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>