首页 理论教育 内部存储器|单片机原理应用技术

内部存储器|单片机原理应用技术

时间:2026-01-26 理论教育 小谭同学 版权反馈
【摘要】:图1-7 内部RAM结构表1-1 工作寄存器区的选择表2.位寻址区该区从32~47共16B存储单元,内含128个可寻址位,位地址是0~127。

图1-6b中的内部RAM空间在功能上可分为工作寄存器区、位寻址区、字节寻址区和堆栈区,内部RAM结构见图1-7。详细的内部RAM空间结构布局图见附录C。

1.工作寄存器区

该区从0~31(00H~1FH)共32个存储单元,分为4组(0区~3区),每区8个8位寄存器,代号均用R0~R7表示。程序每次只能使用一个区,该区可通过软件对程序状态字PSW(见图1-9)的PSW.3(RS0)和PSW.4(RS1)两位进行编码来选择(或更换),工作寄存器区选择表见表1-1,更换当前区能便于作程序运行时的现场保护。未用到的区也可作为8位RAM单元使用,系统复位时当前区自动设置在0区。

图示

图1-7 内部RAM结构

1-1 工作寄存器区的选择表

图示

2.位寻址区

该区从32~47(20H~2FH)共16B存储单元,内含128个可寻址位,位地址是0~127(00H~7FH)。位寻址由不同的指令来实现,适于作程序转移、判断和标志。该区未作位寻址使用时均可作为8位RAM单元使用。

3.字节寻址区

该区从48~127(30H~7FH)共80个存储单元,作为用户RAM单元使用。52子系列增加了128字节(80H~FFH),共达256字节,增加的部分与51系列的特殊功能寄存器SFR区空间重叠,两者通过不同的寻址方式来访问。(https://www.xing528.com)

4.堆栈区

该区没有指定专门的区域而是由用户设定,堆栈作用是为子程序调用和中断操作时提供断点保护和现场保护,通过进栈和出栈指令来实现。由于系统复位时8位堆栈指针SP(栈底)指向工作寄存器0区内的07H,为避免与这些区冲突,实际编程操作中需预先把堆栈指针SP设置在虚线所示的高端(深度不能超过用户RAM空间)如60H,堆栈便从61H开始存放数据,进栈时SP内容自动增加,出栈时SP内容自动减少。

5.特殊功能寄存器

特殊功能寄存器也称专用寄存器,简写为SFR,分布在内部数据存储器的128~255高端地址空间,特殊功能寄存器空间见图1-8。

51子系列中有定义的SFR有21个,52子系列中有26个,单片机中PC寄存器在物理上独立而不在其中。特殊功能寄存器综览表见附录B,属片内RAM统一编址,有12个可位寻址SFR单元(其末位地址为0或8),其中的字节或位由用户软件设定,可直接寻址(但访问与SRF重叠的52子系列高端RAM区只能用间接寻址),SFR专门用作控制和管理片内算术逻辑部件、并行I/O口、串行I/O口、定时器/计数器、中断系统等功能模块的运作,是51系列单片机中最具特色的部分。另外,单片机机型功能的增加和扩展多是利用其中没有定义的单元来实现。

程序状态字PSW是频用的一个可位寻址的特殊功能寄存器,用于储存单片机运行过程中的状态信息(主要来自算术逻辑运算单元ALU的输出),程序状态字PSW的位定义见图1-9,其中的标志位对程序指令执行情况的判断非常有用。

图示

图1-8 特殊功能寄存器空间

图示

图1-9 程序状态字PSW的位定义

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈