2.5.3 数据存储器
数据存储器(RAM)用来存放数据和运算结果等信息。与程序存储器一样,单片机除了可以使用内部数据存储器外,也可以使用外部数据存储器。
MCS-51系列单片机的内部数据存储器有256B的存储空间(即有256个存储单元,每个单元存储1B数据),地址编号为00H~FFH(也可用0000H~00FFH表示);外部数据存储器地址编号为0000H~FFFFH,有64KB的存储空间。外部数据存储器最开始的一段地址(0000H~00FFH)与内部数据存储器相同,对于相同的地址,单片机是通过不同的指令来区分的。MCS-51 系列单片机数据存储器的地址编号如图2-13所示。
从图2-13中可以看出,内部数据存储器分为4个区:工作寄存器区、位寻址区、数据缓存区和特殊功能寄存器区。前3个区的详细结构如图2-14所示。


1.工作寄存器区
工作寄存器区的地址编号为00H~1FH,该区域又分为4组(0~3组),每组有8个存储单元,都用R0~R7表示。单片机在工作时,在同一时间内这4组寄存器中只能有 1 组工作,到底是哪一组寄存器工作由特殊功能寄存器区内的程序状态字寄存器(PSW)中的RS1位和RS0位的状态决定,默认为0组工作,具体见表2-2。
表2-2 工作寄存器与RS1、RS0的关系

例如,当寄存器中的RS1=0、RS0=1时,1组(08H~0FH)寄存器处于工作状态。
2.位寻址区
位寻址区的地址编号为20H~2FH,该区域有16个存储单元,在该区域既可以对某个存储单元进行字节操作,也可以用位操作指令对某个存储单元进行位操作。下面以图2-15为例来说明字节操作和位操作的过程。
在进行字节操作时,用字节操作指令选中编址为24H的存储单元,然后可以将1B的数据存入该单元,或从该单元取出。图2-15(a)中是将1B的数据11011001存入编址为24H的存储单元。
在进行位操作时,用位操作指令选中编址24H,该24H是一个位地址,在图中它是字节地址24H的第4位,该地址存储了一位数“0”,如果要将该位转换成“1”,可用位操作指令选中位地址24H,然后将“1”存入该位,该位就变为“1”,整个字节就变为11011001。
单片机在工作时,是通过程序指令区分地址是字节地址还是位地址的,有关的指令知识将在后续章节介绍。地址编号为20H~2FH的位寻址区有16个存储单元,每个单元有8位,共有128位,这128位的位地址见表2-3。
&n

最低0.47元/天 解锁文章
674

被折叠的 条评论
为什么被折叠?



