考点7 掌握指针(程序计数器PC、堆栈指针SP、数据指针计数器DPTR)《单片机原理及应用》四川省(对口招生)电子信息类 知识点讲解
2026-04-15
|
16页
|
20人阅读
|
0人下载
资源信息
| 学段 | 中职 |
| 学科 | 职教专业课 |
| 课程 | 单片机技术与应用 |
| 教材版本 | - |
| 年级 | - |
| 章节 | - |
| 类型 | 题集-综合训练 |
| 知识点 | MCS-51系列指令系统 |
| 使用场景 | 中职复习-一轮复习 |
| 学年 | 2026-2027 |
| 地区(省份) | 四川省 |
| 地区(市) | - |
| 地区(区县) | - |
| 文件格式 | DOCX |
| 文件大小 | 163 KB |
| 发布时间 | 2026-04-15 |
| 更新时间 | 2026-04-16 |
| 作者 | xkw_086668129 |
| 品牌系列 | 上好课·一轮讲练测 |
| 审核时间 | 2026-04-15 |
| 下载链接 | https://m.zxxk.com/soft/57358794.html |
| 价格 | 3.00储值(1储值=1元) |
| 来源 | 学科网 |
|---|
内容正文:
四川省(对口招生)电子信息类《单片机原理及应用》
知识点讲解
考点7 掌握指针(程序计数器PC、堆栈指针SP、数据指针计数器DPTR)
【考情分析】
本专题是单片机内部结构与CPU工作原理的核心必考考点,在高职单招、中职升高职联考及电子信息类专业技能高考中高频出现,是后续指令系统、汇编程序设计、中断系统学习的核心基础。考查形式以单选题、判断题为主,偶有填空题出现,考点侧重三个指针的功能特性、复位初始值、操作规则、寻址范围及应用场景区分,需精准掌握各指针的独有特性与核心差异,避免概念混淆。
考纲解读
1
掌握程序计数器PC的概念、功能、工作特性及寻址范围
2
掌握堆栈指针SP的概念、功能、堆栈操作规则及复位后的初始值
3
掌握数据指针DPTR的概念、结构、功能及寻址应用
4
区分PC、SP、DPTR三个指针的核心差异与典型应用场景
指针类寄存器核心概述:
在MCS-51系列单片机中,程序计数器PC、堆栈指针SP、数据指针DPTR是CPU内部核心的地址指针类专用寄存器,分别承担程序执行流向控制、栈空间管理、片外数据/程序存储器访问的核心功能,是单片机实现取指执行、数据读写、程序跳转、中断响应等基础操作的关键部件。
程序计数器PC(Program Counter):
核心概念:PC是一个16位的专用地址计数器,用于存放下一条将要执行的指令的地址,是单片机程序执行的“导航指针”。其不属于可寻址的特殊功能寄存器(SFR),用户无法直接对其进行读写操作。
核心功能:
自动计数功能:单片机复位后,PC自动装载初始值0000H,CPU从该地址取指执行;每取完一个字节的指令代码,PC值自动加1,指向下一个指令字节,保证程序按顺序连续执行。
程序跳转控制:当执行跳转指令、子程序调用指令、中断响应、返回指令时,PC会被装载对应的目标地址,实现程序的分支、循环、子程序调用与中断服务。
关键特性:
字长与寻址范围:16位,可寻址范围为0000H~FFFFH,覆盖MCS-51单片机64KB的程序存储器地址空间。
读写属性:用户不能通过指令直接修改或读取PC的数值,其数值变化由CPU取指过程和跳转/调用/返回类指令自动控制。
复位初始值:单片机复位后,PC的初始值固定为0000H,程序入口地址必须设置在该单元,通常在此处放置跳转指令指向主程序入口。
典型应用场景:控制程序的顺序执行、跳转分支、子程序调用与返回、中断入口地址跳转,是单片机程序运行的核心控制器。
二、堆栈指针SP(Stack Pointer)
核心概念:SP是一个8位的特殊功能寄存器(SFR),位于片内RAM的特殊功能寄存器区,字节地址为81H,用于存放堆栈栈顶的地址,是单片机堆栈操作的“栈顶指针”,用户可通过指令直接对其进行读写修改。
核心功能:
栈空间管理:指示片内RAM中堆栈区域的栈顶位置,实现数据的入栈(PUSH)和出栈(POP)操作,遵循先进后出、后进先出的堆栈操作核心原则。
断点保护:在子程序调用、中断响应时,CPU自动将当前PC值(断点地址)压入堆栈保存;子程序返回(RET)、中断返回(RETI)时,自动从堆栈中弹出断点地址恢复到PC中,保证程序正确返回。
现场保护:在子程序或中断服务程序中,可通过入栈指令保护累加器、状态字等寄存器的内容,执行完程序后通过出栈指令恢复,避免寄存器数据被破坏。
关键特性:
字长与寻址范围:8位,可寻址范围为片内RAM的00H~7FH(51子系列)/00H~FFH(52子系列),最大可管理256字节的片内RAM栈空间。
操作规则:堆栈操作严格遵循先加后压,先弹后减的规则
入栈(PUSH):先将SP的数值自动加1,再将数据写入SP当前指向的栈顶单元;
出栈(POP):先将SP当前指向的栈顶单元的数据读出,再将SP的数值自动减1。
复位初始值:单片机复位后,SP的初始值固定为07H,堆栈默认从08H单元开始。由于00H~1FH为工作寄存器区,20H~2FH为位寻址区,实际编程中通常会将SP修改为30H或更高地址,避开专用区域,防止栈操作破坏寄存器数据。
读写属性:用户可通过MOV指令直接修改SP的数值,设置栈区起始位置,也可读取SP的当前值。
典型应用场景:子程序调用与返回的断点保护、中断响应与返回的现场保护、临时数据的栈存储与读写。
三、数据指针DPTR(Data Pointer)
核心概念:DPTR是一个16位的特殊功能寄存器(SFR),是MCS-51单片机中唯一一个用户可直接操作的16位寄存器,由两个8位寄存器拼接组成:DPL(数据指针低字节,字节地址82H)、DPH(数据指针高字节,字节地址83H),既可单独进行8位操作,也可合并为16位寄存器使用,用于存放片外存储器访问的16位地址,是片外数据/程序存储器访问的“地址指针”。
核心功能:
片外数据存储器访问:作为16位地址指针,配合MOVX指令,实现对64KB片外数据存储器(0000H~FFFFH)的读写操作,是访问片外RAM的核心寄存器。
程序存储器查表操作:作为基址寄存器,配合MOVC指令,与累加器A配合实现变址寻址,对64KB程序存储器中的固定数据(表格、常量)进行查表读取,是程序中常量访问的核心方式。
辅助运算功能:可作为通用16位寄存器,进行16位数据的传送、加减等基础运算操作。
关键特性:
字长与寻址范围:16位,可拆分为2个独立8位寄存器,寻址范围为0000H~FFFFH,覆盖64KB片外数据存储器和64KB程序存储器空间。
读写属性:用户可通过MOV指令直接对DPTR、DPH、DPL进行读写修改,是三个指针中唯一可直接进行16位数据赋值的寄存器。
复位初始值:单片机复位后,DPTR的初始值固定为0000H(DPH=00H,DPL=00H)。
扩展特性:部分增强型51单片机具备双数据指针(DPTR0、DPTR1),可通过特殊功能寄存器切换,大幅提升数据块复制、查表的操作效率。
典型应用场景:片外RAM数据读写、程序存储器常量查表、串口波特率配置辅助、16位地址运算。
PC、SP、DPTR核心特性对比表(高频考点)
对比维度
程序计数器PC
堆栈指针SP
数据指针DPTR
字长与位数
16位
8位
16位(可拆分为2个8位寄存器)
寄存器属性
不属于可寻址SFR,用户不可直接读写
可寻址SFR(地址81H),用户可直接读写
可寻址SFR(DPH:83H,DPL:82H),用户可直接读写
复位初始值
0000H
07H
0000H
核心寻址范围
64KB程序存储器(0000H~FFFFH)
片内RAM(00H~7FH/FFH)
64KB片外数据存储器+64KB程序存储器
核心功能
存放下一条指令地址,控制程序执行流向
管理栈顶地址,实现堆栈操作、断点/现场保护
存放片外存储器地址,实现片外RAM读写与程序存储器查表
数值变化规则
取指后自动加1,跳转/调用/返回指令自动修改
入栈先加1后压栈,出栈先弹栈后减1
用户通过指令直接赋值修改,无自动增减特性
用户可控性
完全不可控,仅CPU自动操作
完全可控,可直接读写修改
完全可控,支持8位/16位灵活操作
例题1. MCS-51单片机复位后,程序计数器PC的初始值为()
A. 0000H B. 07H C. 00H D. FFFFH
【解析】MCS-51单片机复位后,PC固定装载初始值0000H,CPU从该地址开始取指执行程序;07H是SP的复位初始值;00H是DPL/DPH的复位初始值;FFFFH是单片机最大寻址地址。答案:A
例题2. 下列关于MCS-51单片机堆栈指针SP的操作规则,描述正确的是()
A. 入栈时先压入数据,再将SP加1
B. 出栈时先弹出数据,再将SP减1
C. 复位后SP初始值为30H
D. SP是16位的特殊功能寄存器
【解析】SP的操作规则为入栈“先加后压”,出栈“先弹后减”,A错误,B正确;复位后SP初始值为07H,而非30H,C错误;SP是8位SFR,D错误。答案:B
例题3. MCS-51单片机中,用于访问片外数据存储器的核心地址指针是()
A. PC B. SP C. DPTR D. PSW
【解析】DPTR是16位数据指针,配合MOVX指令实现片外数据存储器的读写;PC用于控制程序执行,SP用于堆栈操作,PSW是程序状态字寄存器。答案:C
例题4.(判断题) MCS-51单片机中,用户可以通过MOV指令直接修改程序计数器PC的数值,实现程序跳转。()
【解析】PC不属于可寻址的特殊功能寄存器,用户无法通过指令直接读写PC的数值,程序跳转只能通过跳转、调用等指令由CPU自动修改PC值实现。答案:×
例题5.(判断题) MCS-51单片机复位后,SP的初始值为07H,实际编程中通常将其修改为30H以上,避开工作寄存器区和位寻址区。()
【解析】该表述符合SP的复位特性与实际编程规范,00H~1FH为工作寄存器区,20H~2FH为位寻址区,将SP设置为30H以上可避免栈操作破坏这些区域的数据。答案:√
【参考答案】 A B C × √
【高考题实战】
真题1(2025高考 单选)下列不属于MCS-51单片机地址指针类寄存器的是( )
A. PC B. SP C. DPTR D. ACC
答案:D
真题2(2025高考 单选)MCS-51单片机中,唯一一个用户可直接操作的16位寄存器是( )
A. PC B. DPTR C. SP D. B寄存器
答案:B
真题3(2024高考 单选)MCS-51单片机堆栈操作遵循的核心原则是()
A. 先进先出 B. 先进后出 C. 随机读写 D. 循环覆盖
答案:B
真题4(2023高考 单选)MCS-51单片机中,程序计数器PC的寻址范围是()
A. 64KB片外数据存储器 B. 256B片内RAM C. 64KB程序存储器 D. 128B片内RAM
答案:C
真题5(2025高考 单选)MCS-51单片机复位后,SP、DPTR、PC的初始值分别为()
A. 07H、0000H、0000H B. 0000H、07H、0000H C. 07H、0000H、07H D. 00H、00H、0000H
答案:A
真题6(2024单招 判断)MCS-51单片机的DPTR只能作为16位寄存器使用,不能拆分为两个8位寄存器单独操作。()
答案:×
真题7(2025高考 判断)程序计数器PC的值始终指向当前正在执行的指令的地址,每执行完一条指令,PC值自动加1。()
答案:×
真题8(2023单招 判断)使用DPTR作为基址寄存器,配合MOVC指令可实现程序存储器的查表操作。()
答案:√
真题9(2024高考 单选)下列关于PC的描述,正确的是()
A. PC是8位的寄存器 B. 复位后PC的值为07H C. 用户可直接读取PC的数值 D. PC控制程序的执行流向
答案:D
真题10(2025高考 单选)MCS-51单片机中,用于中断响应时断点地址保护的核心寄存器是()
A. PC B. SP C. DPTR D. TMOD
答案:B
【参考答案】D B B C A × × √ D B
【模拟演练】
一、单选题
1. MCS-51单片机中,程序计数器PC的位数是()
A. 4位 B. 8位 C. 16位 D. 32位
2. MCS-51单片机复位后,堆栈指针SP的默认初始值是()
A. 00H B. 07H C. 30H D. 0000H
3. 下列寄存器中,不属于特殊功能寄存器(SFR)的是()
A. SP B. DPH C. PC D. DPL
4. MCS-51单片机中,DPTR由哪两个8位寄存器组成()
A. DPH和DPL B. ACC和B C. SP和PSW D. TCON和TMOD
5. MCS-51单片机执行入栈指令PUSH时,SP的操作顺序是()
A. 先加1,再压入数据
B. 先压入数据,再加1
C. 先减1,再压入数据
D. 先压入数据,再减1
6. MCS-51单片机中,访问片外数据存储器必须使用的指针寄存器是() A. PC B. SP C. DPTR D. PSW
7. 下列关于DPTR的寻址范围,描述正确的是()
A. 仅能寻址64KB程序存储器
B. 仅能寻址256B片内RAM
C. 可寻址64KB片外数据存储器和64KB程序存储器
D. 仅能寻址128B片内RAM
8. MCS-51单片机实际编程中,堆栈指针SP通常设置为()
A. 00H B. 07H C. 20H D. 30H
9. 单片机执行子程序调用时,断点地址的保存和恢复依靠的是()
A. PC和DPTR B. SP和堆栈 C. DPTR和累加器A D. PC和PSW
10. MCS-51单片机中,用于程序存储器查表操作的变址寻址,基址寄存器是()
A. PC B. SP C. DPTR D. 以上均可
二、判断题
1. 程序计数器PC的位数决定了单片机程序存储器的最大寻址空间。()
2. MCS-51单片机的SP是16位的特殊功能寄存器,用于管理栈顶地址。()
3. 用户可以通过MOV指令直接对DPTR进行16位数据的赋值操作。()
4. 单片机复位后,PC、SP、DPTR的初始值均为0000H。()
5. 堆栈操作的“先进后出”原则,是指先入栈的数据后出栈,后入栈的数据先出栈。()
6. MCS-51单片机中,PC的值会随着指令的执行自动增减,保证程序连续运行。()
7. DPTR只能用于访问片外数据存储器,无法访问程序存储器。()
8. 当SP的数值为07H时,入栈操作的第一个数据会存入片内RAM的08H单元。()
9. 中断响应时,CPU会自动将当前PC值压入堆栈,由SP管理栈顶位置。()
10. MCS-51单片机中,三个指针寄存器PC、SP、DPTR用户均可直接读写修改。()
【参考答案】
一、单选题
C B C A A C C D B C
二、判断题
√ × √ × √ √ × √ √ ×
原创精品资源学科网独家享有版权,侵权必究
学科网(北京)股份有限公司zxxk.com
学科网(北京)股份有限公司
$
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。