8051微控制器内存组织

在之前的8051单片机教程中,我们已经看到了8051单片机的介绍和基础知识,引脚图,引脚描述和体系结构概述。在本教程中,我们将继续探索8051微控制器通过理解8051微控制器存储器组织,程序存储器(ROM),数据存储器(RAM),外部存储器。

When the differences between microprocessor and microcontroller are mentioned in the previous tutorial, the main difference can be stated as on-chip memory i.e., a Microcontroller has both Program Memory (ROM) and Data Memory (RAM) on the same chip (IC), whereas a Microprocessor has to be externally interface with the memory modules.

因此,很明显,内存是8051微控制器体系结构的重要组成部分(对于任何微控制器而言)。因此,对我们来说,了解8051微控制器的内存组织是很重要的,即,内存是如何组织的,处理器如何访问每个内存,以及如何与8051微控制器接口外部内存。

在进入8051微控制器内存组织的细节之前,我们将首先看到一点关于计算机体系结构,然后继续8051微控制器的内存组织。欧宝官网app苹果下载

也读过欧宝官网app苹果下载8051单片机体系结构概述

计算机架构的类型

基本上,微处理器或微控制器的分类是基于两种类型的计算机体系结构:冯诺依曼体系结构和哈佛体系结构。

冯诺依曼体系结构

冯·诺伊曼架构或普林斯顿架构是一种计算机架构,其中程序即指令和数据存储在一个单一的内存中。

由于指令存储器和数据存储器是相同的,处理器或CPU不能同时访问指令和数据,因为它们使用一个总线。

这种类型的架构对系统的性能具有严重的局限性,因为它在访问存储器时创建瓶颈。

8051存储器组织冯诺伊曼架构

哈佛架构

与冯·诺伊曼体系结构不同,哈佛体系结构为指令(程序)和数据使用单独的内存。由于指令存储器和数据存储器在哈佛架构中是分开的,它们的信号路径也就是总线也是不同的,因此,CPU可以同时访问指令和数据。

几乎所有的微控制器,包括8051微控制器实现哈佛架构。

8051内存组织哈佛架构

8051微控制器内存组织

8051单片机存储器分为程序存储器(ROM)和数据存储器(RAM)。8051单片机的程序存储器用于存储要执行的程序,即指令。另一方面,数据存储器用于存储临时变量数据和中间结果。

8051微控制器既有内部ROM和内部RAM。如果内部内存不足,可以使用合适的电路添加外部内存。

阅读这个有趣的帖子:8051单片机工程学生项目

8051单片机程序存储器(ROM)

在8051微控制器中,要执行的代码或指令存储在程序存储器中,该程序存储器也称为微控制器的ROM。Intel原件8051微控制器有4KB的内部ROM。

8051的一些变体,如8031和8032系列没有任何内部ROM(程序存储器),必须与外部程序存储器接口,并在其中加载指令。

几乎所有现代8051微控制器,如8052系列,有8KB的内部程序存储器(ROM)的形式的闪存(ROM),并提供重新编程的存储器的选择。

8051程序内存(ROM)

如果是4KB的内部ROM,地址空间是0000H到0FFFH。如果地址空间,即程序地址超过这个值,那么CPU将自动从外部程序内存中获取代码。

For this, the External Access Pin (EA Pin) must be pulled HIGH i.e., when the EA Pin is high, the CPU first fetches instructions from the Internal Program Memory in the address range of 0000H to 0FFFFH and if the memory addresses exceed the limit, then the instructions are fetched from the external ROM in the address range of 1000H to FFFFH.

8051内部和外部内存

有另一种方法来获取说明:忽略内部ROM,并仅从外部程序存储器(外部ROM)获取所有指令。对于这种情况,EA引脚必须连接到GND。在这种情况下,外部ROM的存储器地址将是0000h到FFFFH。

仅限8051外部内存

8051单片机数据存储器(RAM)

8051单片机的数据存储器或RAM存储在单片机正常运行过程中产生和使用的临时数据和中间结果。原来的英特尔8051微控制器有128B的内部RAM。

但几乎所有现代的8051微控制器的变种都有256B的RAM。在该256b中,从00h到7fh的第一128b,第一128b,从00h到7fh被划分为工作寄存器(组织为寄存器库),比特 - 可寻址区域和通用RAM(也称为刮擦区域)。

在RAM的第一128B(从00h至7fh)中,第一32b,从地址00h到1fh的存储器由32个工作寄存器组成,该工作寄存器被组织为每个银行中的8个寄存器的四个存储器。

8051内存组织哈佛架构

4家银行被命名为Bank0,Bank1,Bank2和Bank3。每个银行由8名称名为R0 - R7的寄存器组成。每个寄存器都可以以两种方式解决:按名称或地址进行解决。

要按姓名登记,首先必须选择相应的银行。为了选择银行,我们必须使用程序状态字(PSW)寄存器的RS0和RS1位(RS0和RS1是PSW寄存器的第3和第4位)。

使用其地址地址时,例如,12h地址寄存器时,可以或可能无法选择相应的银行。(12h对应于Bank2中的R2)。

RAM的下一个16B,从20H到2FH为位可寻址存储位置。总共有128位可以使用00h至7fh单独寻址,或者整个字节可以被寻址为20h至2fh。

例如,32H是内部RAM位置26H的第2位。

内部RAM的最后80B,即从30H到7FH的地址,是通用RAM区域,是字节可寻址的。

这些较低128B的RAM可以直接或间接地寻址。

RAM的上层128B,即从80H到FFH的内存地址被分配给特殊函数寄存器(SFRs)。SFRs控制具体功能的8051单片机。一些SFRs是I/O端口寄存器(P0, P1, P2和P3), PSW(程序状态字),A(累加器),IE(中断使能),PCON(电源控制)等。

8051微控制器内存组织图像9

SRFS存储器地址仅是可寻址的。尽管80H和FFH之间的一些地址未被分配给任何SFR,但它们也不能用作额外的RAM区域。

在一些微控制器中,有一个额外的128B RAM,它与SFRs共享内存地址,即80H到FFH。但是,这个额外的RAM块只能通过间接寻址访问。

外接存储器与8051单片机

可以选择扩展微控制器的功能总是很好的,无论是在内存还是IO或其他任何内容。这种膨胀将有助于避免设计节流。我们已经看到典型的8051微控制器具有4KB的ROM和128B RAM(大多数现代8051微控制器变体具有8K ROM和256B的RAM)。

基于8051微控制器的系统的设计者不限于8051微控制器中存在的内部RAM和ROM。提供连接外部RAM和ROM I.,数据存储器和程序。

使用外部程序存储器或ROM的原因是,用高级语言编写的复杂程序往往更大,占用更多的内存。

另一个重要的原因是,像8031或8032这样的芯片没有任何内部ROM,必须与外部ROM接口。

最大64KB的程序存储器(ROM)和数据存储器(RAM)可以与8051单片机接口。

下图显示了8051微控制器接口64KB外部RAM和64KB外部ROM的框图。

接口外部RAM和ROM

在使用8051微控制器接口外部存储器时要记住的重要点是端口0(P0)不能用作IO端口,因为它将用于多路复用地址和数据总线(A0-A7和D0-D7)。并不总是,但端口2可以用作地址总线的更高字节。

在本教程中,我们已经看到了8051微控制器存储器组织,程序存储器,数据存储器,内部ROM和RAM以及如何接口外部存储器(ROM和RAM)与8051微控制器。

9的反应

  1. 你好,非常好的介绍,我有一个quust,在地址RAM即000FH, H指的是十六进制?
    所有的RAM地址都是4位格式吗?

留下一个回复

您的电子邮件地址不会被公开。必需的地方已做标记*