哈佛结构与普林斯顿结构

notion image

80C51存储器(哈佛结构)映像图

notion image
 
  1. 在物理上有 4 个存储器空间:
      • 程序存储器(ROM):
        • 片内程序存储器、
        • 片外程序存储器。
      • 数据存储器(RAM):
        • 片内数据存储器、
        • 片外数据存储器。
  1. 在逻辑上有 3 个存储器地址空间:
      • 片内、片外统一的 64 KB 程序存储器地址空间。
      • 片内 256 B 数据存储器地址空间
      • 片外64KB的数据储存器地址空间
 

2.4.1 程序储存器

片内片外两部分

CPU访问片内和片外存储器,可由EA引脚所接的电平来确定:
  • *EA引脚接高电平时:**程序从片内程序存储器0000H开始执行,即访问片内存储器;当PC值超出片内ROM容量时,会自动转向片外程序存储器空间执行。
    • 当PC值超出片内ROM容量时,8051单片机会从片外程序存储器中与超出值相对应的地址开始执行,而不是从片外的0000H开始执行
  • *EA引脚接低电平时:**迫使系统全部执行片外程序存储器0000H开始存放的程序

程序存储器的某些单元被保留用作特定程序的入口地址

  • *系统复位:**PC地址为0000H,系统从0000H单元开始取指,执行程序。通常在该单元设置一条绝对转移指令,转向用户主程序。
  • *初始单元:**0000H~0002H单元保留用于初始化。
  • *中断服务程序入口地址:**0003H~002DH单元保留用于5个中断源的入口地址,共6个特定地址:
    • 复位:0000H
    • 外部中断0:0003H
    • 计时器T0溢出:000BH
    • 外部中断1:0013H
    • 计时器T1溢出:001BH
    • 串行口中断:0023H
因此,一个8051程序典型结构如下:
内存布局示意图:

片内程序存储器

notion image
notion image

2.4.2内部数据储存器(RAM)

  • 数据存储器分类:
    • 片内数据存储器(IRAM):由随机存储器RAM构成,存放随机数据。
    • 片外数据存储器(ERAM):扩展的数据存储器。
  • 片内数据存储器特点:
    • 地址为8位,最大寻址范围为256个字节。
  • 片外数据存储器特点:
    • 通过数据指针DPTR访问,DPTR为16位寄存器。
    • 可扩展至64KB的存储器容量。

片内数据存储器

工作寄存器区

0-31(00H-0FH),共32个单元,是4个通用寄存器组每组包含8个通用寄存器
在某一时刻,只能选用一个寄存器组使用。其选择是通过软件对程序状态字 (PSW)中的RSO、RS1两位的设置来实现的。设置RSO、RS1时,可以对PSW字节寻址,也可用位寻址方式,间接或直接修改RSO、RS1的内容。通常采用后者较方便。
字节寻址方式:
这段代码展示了如何通过字节寻址方式修改PSW。
位寻址方式:

位寻址区

片内数据存储器区的32~47(20H~2FH)的16个字节单元,共包含128位,是可位寻址的存储器区。这16个字节单元既可以进行字节寻址,又可位寻址。
这16个位寻址单元,再加上可位寻址的特殊功能寄存器一起构成了布尔(位)处理器的数据存储器空间。在这一存储器空间所有位都是可直接寻址的,即它们都具有位地址。
这样我们就可以直接操作20H字节中的任意一位。注意,位地址00H和工作寄存器区的字节地址00H在数值上重复,但是可以通过指令加以区分(对字节的指令/对位的指令)
notion image

字节寻址区

从片内数据存储器区的48~127(30H~7FH),共80个字节单元,(只)可以采用直接字节寻址的方法访问。

特殊功能寄存器SFR区

notion image
在80C51系列单片机的128B特殊功能寄存器(SFR)空间中,虽然只定义了20个特殊功能寄存器,但这些寄存器大都被有意地安排在以8结尾的地址上(例如:A0H、B0H、D0H等)。其余未使用的地址是保留的,这样做有两个主要目的:
  1. 未来扩展预留空间,便于后续开发新的功能寄存器
  1. 简化了硬件译码电路的设计,因为所有特殊功能寄存器的地址最低三位都是0
从图片中可以看到,SFR区域占用80H-FFH的地址空间,但只有少数特定地址被实际使用,其他地址是不可访问的。如果程序试图访问这些未定义的地址,将会得到未定义的结果。
 
标红色的是可以位寻址的区域
标红色的是可以位寻址的区域
notion image
从表中可以看出,一些可以位寻址的位还有自己的特殊名称,例如:PSW.7(按位访问)=D7H(位地址)=CY(特殊名称)

2.4.3片外数据存储器

  • 在外部存放数据的区域
  • 只能用寄存器间接寻址的方法访问
    • 所用寄存器为:DRTR,R1,R0
notion image
 
Loading...
Z_cosy
Z_cosy
浙江大学电气工程学院本科生
最新发布
Dairy
2025-4-21
MATH
2025-3-23
English
2025-3-21
Courses
2025-3-21
公告
🎉Welcome to Z-cosy🎉
-- 食用指南 ---
目前只有课程笔记以及电控学习笔记
陆续会整理更多内容!