This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

protecting some values while changing the battery

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 down the device or wants to change batteries
then the user works the device again, the password will take the default value again.

how can i solve this?
im using C language with keil.

i cant store any values in code memory. can the data memory remember the value?

Where is the 8051's static memory?

i want to select an address an store the password there. and i wont use a default value.
But the problem is which memory of 8051 should i use, and how can i use it.

i wanna select an address and when program starting up i will check that address, if there is no value, i will store 1234 value into there as password. when user wants to change the password i will change the value of that address.

well can i select an address in code segment(or any memory space which dont forget the value) and how can i store a value into there?
eg. i wanna store a byte to FFF0 address in code segment. is it possible?

Parents
  • RAM keeps the contents while _powered_.

    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.

    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).

Reply
  • RAM keeps the contents while _powered_.

    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.

    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).

Children
  • RAM keeps the contents while _powered_.

    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.

    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).

    so many people had given advices about this thread.
    But u told the most helpfull things.

    Thanks you. i will place a non-volatile memory onto my pcb.