8051 微控制器 RAM 地址寻址
我们将了解英特尔 8051 微控制器如何寻址外部 RAM 内存。RAM 的寻址方法有多种。首先,我们将简要讨论几种不同类型的 RAM 内存。
RAM(随机存取存储器)是易失性存储器。因此,当 RAM 芯片断电时,它会丢失数据。RAM 也被称为 RAWM(读写存储器)。基本上有三种 RAM。它们是 SRAM(静态 RAM)、NV-RAM(非易失性 RAM)和 DRAM(动态 RAM)。
静态 RAM
静态 RAM 中的存储单元由触发器构成。它不需要任何刷新来保持其数据。静态 RAM 的主要问题是,这种类型的 RAM 中的每个触发器至少需要六个晶体管来构建。但一个触发器只能保存 1 位数据。因此,每位数据需要六个晶体管。即使现在的触发器是由四个晶体管构成的,但这仍然太多了。所以主要问题是成本。对于大容量 SRAM,其开发成本巨大。
NV-RAM
这是一种新型 RAM。它被称为非易失性 RAM。它支持处理单元进行读写操作,但当电源关闭时,内容不会丢失。它具有以下组件来存储其内部数据。
它使用极其节能的 SRAM 单元,这些单元由 CMOS 制成。
它使用内部锂电池作为备用电源。
它具有一些先进的智能控制电路。该电路持续检查 Vcc 引脚是否持续从外部电源获得电源。如果外部电源不足,则它会自动将电源从外部电源切换到内部电源。
所有提到的条件都集成在一个 RAM 芯片中。因此,NV-RAM 非常昂贵。如果我们不考虑成本,那么它非常有用。一个 NV-RAM 在电源关闭时最多可以存储十年数据。
动态 RAM
1970 年,英特尔推出了第一款动态 RAM。第一款 DRAM 的密度为 1024 位。它使用电容器来存储每个位。通过使用电容器,每位的成本降低了。在 DRAM 中,他们必须加入另一项任务。那就是刷新。由于泄漏,DRAM 需要刷新。动态 RAM 的主要优点是它可以在单个空间单元中存储更多位,因此密度高,每位成本低。主要缺点是:它需要定期刷新,因为电容单元会失去电荷。
8051 微控制器的内部 RAM
众所周知,8051 具有从 00H 到 7FH 位置的 128 字节内部 RAM。这 128 字节的空间也分为其他几个部分。如下所示
首先是 32 字节的工作寄存器。地址范围为 00H 到 1FH。这 32 字节的空间再次分为四个寄存器组。
寄存器组 0。地址范围 (00H 到 07H)
寄存器组 1。地址范围 (08H 到 0FH)
寄存器组 2。地址范围 (10H 到 17H)
寄存器组 3。地址范围 (18H 到 1FH)
第二部分是 16 字节的位寻址寄存器。范围从 20H 到 2FH。
最后一部分是 80 字节的通用区域。此空间也用作堆栈。范围从 30H 到 7FH。
8051 微控制器的外部 RAM 地址寻址
8051 只有 128 字节的内部 RAM。因此,如果我们想要扩展 RAM 内存,我们必须使用具有适当寻址方案的外部 RAM。在 8051 中,引脚 P3.7 用于读取信号 (RD),引脚 P3.6 用于写入信号 (WR)。这些读写引脚连接到 RAM 以读取和写入数据。端口 P2(8 位)用于高 8 位地址寻址,端口 P0(8 位)用于低位地址寻址。低 8 位 (P0) 也可用作数据总线。为了实现多任务处理功能,我们需要另一个称为 74LS373 的芯片来在端口 P0 充当数据总线时保持低位地址。高位地址引脚可用于多 RAM 情况下的芯片选择。
在此图中,我们使用 16K 字节的外部 RAM。对于 16K,需要 14 位进行地址选择。另外两个引脚 A14 和 A15 连接到 RAM 芯片的芯片使能 (CE) 引脚。