芯片解密
|
|
|
|
|
|
|
|
|
|
|
|
| 1、数据存储器用于存放运算的中间结果、暂存和缓冲数据及标志位等; |
|
|
|
|
|
|
|
| 2、51系列单片机内部RAM有256B,地址为:00H~0FFH(2^8 = 256 B);可拓展的外部RAM最大空间为64KB,地址为:0000H~0FFFFH(2^16 = 64 KB); |
|
|
|
|
|
|
|
| 3、片内256B的RAM又分为:低128单元(00H~7FH)(2^7 = 128 B)RAM区;高128单元(80H~0FFH)(2^8 - 2^7 = 128B)的特殊功能寄存器区(SFR区); |
|
|
|
|
|
|
|
| 4、低128单元分为:①通用寄存器区(00H~1FH)(2^5 = 32 B):从第0组到第3组,共计有4组通用寄存器区;②位寻址区(20H~2FH)(16B = 128位);③用户RAM区(30H~7FH)(4FH = 80B); |
|
|
|
|
|
|
|
| 5、通用寄存器区/工作寄存器区:常用于存放操作数及中间结果。32个寄存器分为4组,每组8个,每个寄存器都是8位,每组都以R0~R7作为寄存器单元编号。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 寄存器名称 | 地址 |
|
|
|
|
|
|
|
| 第0组 | 第1组 | 第2组 | 第3组 |
|
|
|
|
|
|
|
| R0 | 00H | 08H | 10H | 18H |
|
|
|
|
|
|
|
| R1 | 01H | 09H | 11H | 19H |
|
|
|
|
|
|
|
| R2 | 02H | 0AH | 12H | 1AH |
|
|
|
|
|
|
|
| R3 | 03H | 0BH | 13H | 1BH |
|
|
|
|
|
|
|
| R4 | 04H | 0CH | 14H | 1CH |
|
|
|
|
|
|
|
| R5 | 05H | 0DH | 15H | 1DH |
|
|
|
|
|
|
|
| R6 | 06H | 0EH | 16H | 1EH |
|
|
|
|
|
|
|
| R7 | 07H | 0FH | 17H | 1FH |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6、第0组寄存器被默认为通用寄存器组,其他需要设置PSW中的RS1、RS0两位,没被选中的寄存器可作为一般的数据缓冲器使用。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| RS1 | RS0 | 组号 |
|
|
|
|
|
|
|
|
|
| 1 | 1 | 3 |
|
|
|
|
|
|
|
|
|
| 1 | 0 | 2 |
|
|
|
|
|
|
|
|
|
| 0 | 1 | 1 |
|
|
|
|
|
|
|
|
|
| 0 | 0 | 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7、位寻址区16个字节**(16B = 128位)**中的每一位都有一个特定的位地址 |
|
|
|
|
|
|
|
| 8、用户RAM区(30H~7FH)(80个单元),这些单元可以用作:数据缓冲器使用,也可作为堆栈以保存子程序调用或响应中断时的断点和现场。 |
|
|
|
|
|
|
|
| 9、特殊功能寄存器区(SFR区)(字节地址能被8和0整除) |
|
|
|
|
|
|
|