存储器和布尔处理器讲解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
若程序中并不需要4组,那么其余的可用作一般的数据缓冲 器。
PSW.4(RS1) PSW.3(RS0)
0
0
0
1
1
0
1
1
当前使用的工作 寄存器组R0~R7 0组(00H~07H)
1组(08H~0FH)
2组(10H~17H)
3组(18H~1FH)
Байду номын сангаас
2、位寻址区
20H~2FH单元是位寻址区。这16个单元(共计16×8=128位)的每一位都赋 予了一个位地址,位地址范围为00H~7FH。通常可以把各种程序状态标志、位 控制变量存于位寻址区内。
第3章 MCS-51存储器
寻址系统
寻址系统
控制信号 程序存储器 MCS-51存储器 数据存储器 控制信号
功能
功能
ROM用来存放始终保留的固定程序和数据 RAM用来存放程序运行时所需要的常数和变量
FFH
特 殊
功 能 寄 存 器
80H 7FH
30H 2FH
20H 1FH
位寻址区
工作寄 存器区
00H
内部数据存储器
FFFFH






外部
RAM
(包含 I/O口 地址)
RAM 区
0000H 外部数据存储器空间
FFFFH
外部 ROM
1000H
0FFFH 内部 ROM
外部 ROM
(EA=1)
(EA=0)
0000H
0000H
程序存储器空间
3.1 程序存储器
●程序存储器ROM包括片内ROM和片外ROM两个部分, 片内有4K字ROM,片外用16位地址,两者统一编址 ●16位的程序计数器PC为程序存储器地址指针,寻址空间 为64KB,编址为:0000——FFFFH
CPU既能以字节地址(20H ~2FH)访问它们的每一字节,又能以位地址 (00H ~7FH)访问它们的每一位。
CPU以字节地址访问时,对某一个字节进行处理,使用字节指令。 CPU以位地址访问时,对某一位进行处理,使用位操作指令。
片内数据存储器中的位地址图3.5(128个位单元)
3、数据缓冲区
30H~7FH是数据缓冲区,也即用户RAM区,共80个单元。
总结:编址与访问 用于存放运算中间结果、数据暂存和缓冲、标志位等。 片内、外数据存储器是两个独立的地址空间,应分别单独编址。 片内256字节RAM,片外扩充到64K字节RAM。 访问片内RAM用“MOV”指令,访问片外RAM用“MOVX”指令。 片内数据存储器除128字节RAM块外,还有特殊功能寄存器(SFR) 21个CPU专用寄存器分散在80H——FFH中。
3.5 外部存储器工作过程
FFFFH
FFFFH
外部 RAM
(包含 I/O口 地址)
外部 ROM
1000H
0FFFH 内部 ROM
/EA接高电平时,单片机启始从片内程序存储器取指令, 当指令地址超过片内程序存储器空间后,自动地转向片外 程序存储器取指令;
/EA接低电平时,单片机直接从片外程序存储器取指令。
图2.5 程序存储器编址图 (a) 51子系列;(b) 52子系列
2.程序的6个特殊入口地址 表3.1 MCS-51单片机复位、中断入口地址
CPU访问它们既可以用字节地址,又可用寄存器符号
PC指针不包含在21个专用寄存器中,PC指针只有寄存器符号, 没有字节地址。
其中有12个专用寄存器可以位寻址
FFH







寄 存
位 寻 址

80H 7FH
30H 2FH
20H 1FH
00H
位寻址区
工作寄 存器区
RAM 区
内部数据存储器
SFR中的位地址分布
1、地址的重叠 程序存储器与外部数据存储器64K字节地址重叠
2、程序存储器与数据存储器在使用上是不同的,访问片内 RAM用“MOV”指令,访问片外RAM用“MOVX”指令。
3、外部数据存储区中,外部RAM与外部I/O端口统一编址 所有外部扩展的I/O端口地址均占用外部RAM单元地址 访问外部扩展的I/O端口方式(指令)与访问外部数据 存储器相同
1、工作寄存器区(通用寄存器)
工作寄存器分成4组,每组都有8个寄存器,用R0~R7来表示。
程序中每次只用1组,其它各组不工作。使用哪一组寄存器 工作由程序状态字PSW中的PSW.3(RS0)和 PSW.4(RS1)两位来选择, 其对应关系如表2.4所示。
CPU既能以字节地址(00H~1FH)访问它们,又能以寄存器符 号(R0 ~R7)访问。
由于工作寄存器区、位寻址区、数据缓冲区统一编址, 使用同样的指令访问,这三个区的单元既有自己独特的功能,又 可统一调度使用。因此,前两个区未使用的单元也可作为用户 RAM单元使用,使容量较小的片内RAM得以充分利用。
4、堆栈和堆栈指针
堆栈是一组编有地址码的特殊的存储单元。第一个进栈的数 据所在的存储单元称为栈底,最后一个进栈的数据所在的存储单 元称为栈顶,栈顶的地址码由栈指针SP指示。存储单元的数目称 堆栈深度。堆栈单元中存放的信息称为堆栈元素。
操作
入口地址
复位 外部中断0 定时器/计数器0溢出 外部中断1 定时器/计数器1溢出 串行口中断
0000H 0003H
000BH 0013H
001BH 002BH
通常在这些入口地址处,存放一条绝对转移指令,使程 序转移到用户安排的中断服务程序起始地址,或主程序 起始地址。
3.2 内部数据存储器
128个字节,字节地址为00H~7FH
串行数据缓冲器SBUF:
由两个独立的寄存器组成:发送缓冲器,接收缓冲器 存放准备发送或已经接收到的数据,一个字节地址,物理 空间上是两个独立寄存器
定时器/计数器:
两个16位定时器/计数器(T1和T0) 各由两个独立的8位寄存器组成:TH1、TL1、TH0、TL0
3.4 外部数据存储器
可扩展64K字节(扩展外部RAM或扩展外部I/O)
SP总是指向栈顶且装有数据
堆栈元素的压入和弹出遵循“先进后出”的原则
压栈: 先SP+1,后数据压栈 出栈: 先弹出,后SP-1
主机复位,SP=07H,压入数据从08H单元为起始。一般设置 SP=2FH
3.3 特殊功能寄存器(SFR) 特殊功能寄存器(SFR,即Special Function Registers),又 称为专用寄存器,专用于控制、管理片内算术逻辑部件、并 行I/O口、串行I/O口、定时器/计数器、中断系统等功能模块 的工作。 18个专用寄存器,占用21个字节,分散在80H——FFH
相关文档
最新文档