2.2 MCS-51 系列单片机存储器(课件)-《单片机技术与应用》(高教版第二版) 同步精品课堂
|
25页
|
189人阅读
|
1人下载
精品
内容正文:
单片机技术与应用
-第7课时-
高教版第二版
MCS-51 系列单片机存储器
教学目标
了解 MCS - 51 系列单片机存储器的分类及各自寻址系统和控制方式
掌握内部数据存储器各区域的地址分配和功能特点
熟悉特殊功能寄存器的作用和使用方法
教学重难点
特殊功能寄存器(如累加器 A、程序状态字 PSW 等)的功能和操作
内部数据存储器各区域的特点和应用
程序存储器的使用和中断入口地址的安排
让我们一起开启单片机的学习之旅。
导入新课
在单片机中,存储器是储存程序代码的地方。
视频中提到了单片机中有哪几种存储器
单片机中的存储器是如何工作的?
让我们一起开启单片机的学习之旅。
新知讲授
MCS-51 系列单片机存储器
MCS-51 系列单片机内部有程序存储器和数据存储器,分别有各自的寻址系统和控制方式。存储器包括内部数据存储器、外部数据存储器、内部程序存储器、外部程序存储器。
MCS-51 系列单片机存储器
新知讲授
内部数据存储器- 总体结构
内部数据存储器分为两个部分,低128 B 的数据存储器和高128 B 的专用寄存器。这两个 部分的地址空间是连续的,低128B 才真正提供给用户使用。内部数据存储器的地址分配情况见下表
MCS-51 系列单片机存储器
地址 存储区
00H~1FH 通用寄存器区(共32B)
20H~2FH 位寻址区(共16B)
30H~7FH 用户区(共80B)
80H~FFH 专用寄存器区(共128B)
新知讲授
内部数据存储器 - 通用寄存器区
通用寄存器区地址为00H~1FH, 共32 B, 分为4个通用寄存器组,每组有8个寄存器, 即 R0~R7。
由程序状态寄存器(PSW)中的 RS1 和 RS0 决定当前使用的组。
MCS-51 系列单片机存储器
RS1 RSO 工作区地址 工作区组 寄存器名称
0 0 00H~07H 0 区组 R0~R7
0 1 08H~0FH 1 区组 R0~R7
1 0 10H~17H 2 区组 R0~R7
1 1 18H~1FH 3 区组 R0~R7
新知讲授
内部数据存储器 - 位寻址区
位寻址区地址为 20H - 2FH,共 16B,合计 128b,位地址为 00H - 7FH。
可进行位操作,如 CLR 22H(清 0 操作)、SETB 01H(置位操作)等。
MCS-51 系列单片机存储器
内部数据存储器 - 用户区
用户区地址为30H~7FH, 可以用来存储数据,但不能进行位操作。
MOV 31H,A :将累加器A 中数据送人31H 中
用户区程序举例如下:
新知讲授
内部数据存储器的位寻址区分配情况见下表
MCS-51 系列单片机存储器
字节地址 位地址
D7 D6 D5 D4 D3 D2 D1 D0
2FH 7FH 7EH 7DH 7CH 7BH 7AH 79H 78H
2EH 77H 76H 75H 74H 73H 72H 71H 70H
2DH 6FH 6EH 6DH 6CH 6BH 6AH 69H 68H
2CH 67H 66H 65H 64H 63H 62H 61H 60H
2BH 5FH 5EH 5DH 5CH 5BH 5AH 59H 58H
2AH 57H 56H 55H 54H 53H 52H 51H 50H
29H 4FH 4EH 4DH 4CH 4BH 4AH 49H 48H
28H 47H 46H 45H 44H 43H 42H 41H 40H
27H 3FH 3EH 3DH 3CH 3BH 3AH 39H 38H
26H 37H 36H 35H 34H 33H 32H 31H 30H
25H 2FH 2EH 2DH 2CH 2BH 2AH 29H 28H
24H 27H 26H 25H 24H 23H 22H 21H 20H
23H 1FH 1EH 1DH 1CH 1BH 1AH 19H 18H
22H 17H 16H 15H 14H 13H 12H 11H 10H
21H 0FH 0EH 0DH 0CH 0BH 0AH 09H 08H
20H 07H 06H 05H 04H 03H 02H 01H 00H
新知讲授
内部数据存储器 - 专用寄存器区
专用寄存器又称特殊功能寄存器,地址为 80H - FFH,共 21 个。部分寄存器可按位操作,部分地址未使用且不允许用户操作。
MCS-51 系列单片机存储器
标识符 名称 地址
ACC* 累加器A 0EOH
B* 寄存器B 0FOH
PSW* 程序状态字 0DOH
SP 堆栈指针 81H
DPTR 数据指针(DPH,DPL) 83H和82H
PO* V/O口0 80H
P1* I/0口1 90H
P2* V/O口2 0AOH
P3* V O 口 3 0BOH
IP* 中断优先控制寄存器 0B8H
IE 中断允许控制寄存器 OA8H
TMOD 定时器/计数器方式选择寄存器 89H
新知讲授
MCS-51 系列单片机存储器
标识符 名称 地址
TCON* 定时器/计数器控制寄存器 88H
T2CON* 定时器/计数器2控制寄存器 0C8H
THO 定时器/计数器0(高位字节) 8CH
TLO 定时器/计数器0(低位字节) 8AH
TH1 定时器/计数器1(高位字节) 8DH
TLI 定时器/计数器1(低位字节) 8BH
TH2 定时器/计数器2(高位字节) 0CDH
TL2+ 定时器/计数器2(低位字节) 0CCH
RLDH* 定时器/计数器2自动装载(高位字节) 0CBH
RLDL 定时器/计数器2自动装载(低位字节) 0CAH
SCON* 串行口控制寄存器 98H
SBUF 串行数据缓冲寄存器 99H
PCON 电源控制寄存器 87H
新知讲授
特殊功能寄存器 - 累加器 A
累加器 A(ACC):8 位专用寄存器,常用,可按位操作,用于各种算术和逻辑运算。
如 MOV A, #55H(将立即数 55H 送入累加器 A 中)。
MCS-51 系列单片机存储器
特殊功能寄存器 - 寄存器 B
寄存器 B:8 位寄存器,可作一般寄存器,用于乘法和除法运算。
如 MUL AB(计算 A 乘以 B)、DIV AB(A 除以 B)。
新知讲授
特殊功能寄存器 - 程序状态字 PSW
程序状态字PSW是8位寄存器,用于存放程序运行的状态信息,PSW中各位状态通常是在指令执行的过程中自动形成的,但也可以由用户根据需要采用传送指令加以改变。其定义格式如下表所示。
MCS-51 系列单片机存储器
位序 PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0
位标志 Cy AC F0 RS1 RS0 OV P
新知讲授
特殊功能寄存器 - 程序状态字 PSW
程序状态字 PSW 用于存放程序运行状态信息,可按位寻址。各位含义如下:
MCS-51 系列单片机存储器
位 含义
CY 进位标志位
AC 辅助进位标志位
FO 用户标志位
RS1、RS0 工作寄存器组选择位
OV 溢出标志位
P 奇偶标志位
新知讲授
特殊功能寄存器 - 堆栈指针 SP
堆栈是一种数据结构,是内部RAM的一段区域。堆栈存取数据的原则是“后进先出”。
堆栈指针SP是一个8位寄存器,用于指示堆栈的栈顶,它决定了堆栈在内部RAM中的物理位置。
MCS-51 系列单片机存储器
特殊功能寄存器 - 数据指针 DPTR
数据指针DPTR是16位的专用寄存器,即可作为16位寄存器使用,也可作为两个独立的8位寄存器DPH(高8位)、DPL (低8位)使用。
DPTR主要用作16位间址寄存器,访问程序存储器(MOVC)和片外数据寄存器(MOVX)。
新知讲授
特殊功能寄存器 - 程序计数器 PC
程序计数器PC 中存储的是下一条将要执行的指令地址,它是一个16位计数器,寻址范 围达到64 KB。
PC有自加一功能,从而实现程序的顺序执行。PC 没有地址,因此是不可以寻 址的,用户无法对其进行寻址操作。但程序在调用、转移和返回指令中,PC 值会改变。
在仿 真过程中,观察PC 可知道程序执行到哪一步。PC 是唯一的一个不可寻址的专用寄存器。PC 不占RAM单元,在物理上是独立的,故它不属于特殊功能寄存器的使用范畴。
MCS-51 系列单片机存储器
*单片机启动复位PC=0000H,通常在第0单元放无条件转移指令
新知讲授
外部数据存储器
单片机进行连续的大量数据采集时,内部提供的数据存储器是远远不够的,这时可以利用 MCS-51 系列单片机的扩展功能,在芯片外部扩展数据存储器,最大扩展容量为64KB, 地 址 范围为0000H~FFFFH。
MCS-51 系列单片机存储器
新知讲授
程序存储器 - 内部程序存储器
MCS-51 系列单片机内部具有4KB的 ROM, 地址范围为0000H~0FFFH, 一般不需要扩 展外部ROM。
如果有特殊需要,才扩展外部程序存储器。单片机是通过EA引脚来控制使用内 部ROM和外部 ROM的。
当EA=1 时,单片机读取内部 ROM的程序。若超过这个地址范围, CPU 自动读取外部程序存储器。
当EA=0 时 ,CPU 完全读取外部程序存储器。当读取外部程序存 储器时,单片机的PSEN端变为低电平。当读取内部程序存储器时,单片机的PSEN保持高电平。
MCS-51 系列单片机存储器
新知讲授
程序存储器 - 中断入口地址
内部程序存储器中,0003H - 0023H 有 5 个中断入口地址,主程序存放在 0023H 之后。
MCS-51 系列单片机存储器
中断入口地址 中断类型
0003H 外部中断 0 入口
000BH 定时器 T0 溢出中断入口
0013H 外部中断 1 入口
001BH 定时器 T1 溢出中断入口
0023H 串行口中断入口
随堂检测1
MCS - 51 系列单片机内部数据存储器低 128B 中,用户真正可使用的区域是哪些?
答案:通用寄存器区(00H - 1FH)、位寻址区(20H - 2FH)、用户区(30H - 7FH)。
程序状态字 PSW 中 CY 位在什么情况下会置 1?
答案:在进行加减法运算时,若最高位出现进位或者借位,该位置 1;在进行逻辑运算时,CY 作为逻辑处理器。
练一练
随堂检测2
简述寄存器 B 在乘法和除法运算中的作用。
答案:乘法运算时 B 是乘数,操作后乘积的高 8 位存于 B 中;除法运算时 B 是除数,操作后余数存于 B 中。
MCS - 51 系列单片机如何控制使用内部和外部程序存储器?
答案:通过 EA 引脚控制,当 EA = 1 时,单片机读取内部 ROM 的程序,若超过地址范围,CPU 自动读取外部程序存储器;当 EA = 0 时,CPU 完全读取外部程序存储器。
练一练
随堂检测2
内部数据存储器的位寻址区有什么特点?
答案:地址为 20H - 2FH,共 16B,合计 128b,位地址为 00H - 7FH,可进行位操作。
数据指针 DPTR 由哪两个寄存器组成,有什么作用?
答案:由 DPH 和 DPL 两个 8 位寄存器组成,用来存放 16 位地址指针,可访问外部数据存储器和程序存储器。
练一练
师生互动
1
假如要开发一个基于 MCS - 51 系列单片机的温度监测系统,需要存储大量的温度数据和执行复杂的控制程序。如何合理分配内部数据存储器和程序存储器的资源,以及是否需要扩展外部数据存储器和程序存储器,理由是什么?
课题小结
1. 内部数据存储器
MCS-51 系列单片机存储器
2. 特殊功能寄存器
累加器 A 和寄存器 B
程序状态字 PSW
堆栈指针 SP 和数据指针 DPTR
程序计数器 PC
通用寄存器区
位寻址区
用户区
专用寄存器区
内部程序存储器
中断入口地址
3. 外部数据存储器
4. 程序存储器
谢谢观看
THANKS
$