jaarestad
Newbie level 3
- Joined
- Jan 27, 2011
- Messages
- 3
- Helped
- 0
- Reputation
- 0
- Reaction score
- 0
- Trophy points
- 1,281
- Activity points
- 1,313
I have been asked to step into the middle of an 8051 development project and write the code to implement its functionality. All the hardware has been designed, the boards laid out and manufactured, and the assembly of the boards is being done as I type. I mention this to say that the option to change the design has passed.
The designer used a 28C010 (128k x 8) EEPROM with the idea that we could use the upper 64KB for storing data in non-volatile storage. The lower 64KB is configured in the standard "code memory" configuration, with Port2 connected to A[15:8] and Port0 connected to both DQ[7:0] and an 8-bit register to latch the lower address lines (A[7:0]), clocked by the ALE signal from the 8051. Normal stuff. But he also sends P3.5, through an inverter, to A16, to provide access to the upper 64KB page in the EEPROM.
I am pretty new to 8051 programming, and I am curious to know if this is a technique that is actually supposed to work, or if it is (as it seems to me) doomed from the start.
I know that I can create variables in the code space (i.e., "unsigned int code my_var;"). But I have serious doubts as to whether it is possible to write a value to EEPROM in this fashion.
Please advise. Thanks.
The designer used a 28C010 (128k x 8) EEPROM with the idea that we could use the upper 64KB for storing data in non-volatile storage. The lower 64KB is configured in the standard "code memory" configuration, with Port2 connected to A[15:8] and Port0 connected to both DQ[7:0] and an 8-bit register to latch the lower address lines (A[7:0]), clocked by the ALE signal from the 8051. Normal stuff. But he also sends P3.5, through an inverter, to A16, to provide access to the upper 64KB page in the EEPROM.
I am pretty new to 8051 programming, and I am curious to know if this is a technique that is actually supposed to work, or if it is (as it seems to me) doomed from the start.
I know that I can create variables in the code space (i.e., "unsigned int code my_var;"). But I have serious doubts as to whether it is possible to write a value to EEPROM in this fashion.
Please advise. Thanks.