8051单片机存储器组织

在8051微控制器上的先前教程中,我们已经看到了8051微控制器介绍和基础知识,引脚,引脚描述和架构概述。在本教程中,我们将通过了解8051微控制器内存组织,程序存储器(ROM),数据存储器(RAM),外部存储器来继续探索8051微控制器。

当微处理器和单片机之间的差异在前面的教程中所提到的,主要的区别可以表示为片上内存即单片机既有程序内存(ROM)和数据内存(RAM)在同一芯片(IC),而一个微处理器内存模块的外部接口。

因此,很明显,存储器是8051微控制器架构的重要组成部分(对于那么物质,任何微控制器)。因此,我们很重要,了解8051微控制器内存组织即,如何组织内存,处理器如何访问每个内存以及如何使用8051微控制器接口外部存储器。

在进入8051微控制器内存组织的详细信息之前,我们将首先看到关于计算机架构的一点,然后继续8051微控制器的内存组织。亚博彩票下载

还阅读了亚博彩票下载8051微控制器架构概述

计算机体系结构类型

基本上,微处理器或微控制器根据两种计算机架构进行分类:von Neumann架构和哈佛架构。

冯Neumann建筑

von neumann架构或普林斯顿架构是一种计算机架构,其中程序等于指令和数据存储在一个存储器中。

由于指令存储器和数据存储器相同,因此处理器或CPU无法在使用单个总线时同时访问两个指令和数据。

这种类型的体系结构对系统的性能有严重的限制,因为它在访问内存时产生了瓶颈。

8051内存组织von Neumann架构

哈佛体系结构

与von Neumann架构相比,哈佛架构使用单独的内存进行指令(程序)和数据。由于指令存储器和数据存储器在哈佛架构中是分开的,因此它们的信号路径即,总线也是不同的,因此,CPU可以同时访问两个指令和数据。

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

8051内存组织哈佛架构

8051单片机存储器组织

8051微控制器内存在程序存储器(ROM)和数据存储器(RAM)中分开。8051微控制器的程序存储器用于存储要执行的程序I.,指令。另一方面,数据存储器用于存储临时变量数据和中间结果。

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

阅读这篇有趣的文章:8051工程学生的微控制器项目

8051微控制器的程序存储器(ROM)

在8051单片机中,要执行的代码或指令存储在程序存储器中,程序存储器也称为单片机的ROM。最初的8051微控制器由英特尔有4KB的内部ROM。

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

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

8051程序存储器

在4KB的内部ROM的情况下,地址空间为0000H至0FFFH。如果地址空间,则,程序地址超过此值,则CPU将自动从外部程序存储器获取代码。

为此,外部访问销(EA销)必须把高即当EA销高,CPU首先从内部获取指令程序内存地址范围的0000 h为0 FFFFH如果内存地址超过限额,则从外部获取指令地址范围的ROM FFFFH 1000 h。

8051内部和外部存储器

还有另一种获取指令的方法:忽略内部ROM,只从外部程序存储器(外部ROM)获取所有指令。在此场景下,EA引脚必须连接GND。在这种情况下,外部ROM的内存地址从0000H到FFFFH。

8051只外接内存

数据存储器(RAM)为8051微控制器

8051微控制器的数据存储器或RAM存储在微控制器的正常操作期间生成和使用的临时数据和中间结果。原始英特尔的8051微控制器有128B内存。

但是几乎所有的现代8051微控制器都有256B的RAM。在256B中,前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区域。

这些下部的RAM可以直接或间接地解决。

RAM的较高128b,为特殊功能寄存器(SFR)分配了80h到FFH的存储器地址。SFRS控制8051微控制器的特定功能。一些SFR是I / O端口寄存器(P0,P1,P2和P3),PSW(程序状态字),A(累加器),即(中断使能),PCON(功率控制)等。

8051单片机存储器组织

内存地址只能直接寻址。即使80H和FFH之间的一些地址没有分配给任何SFR,它们不能被用作额外的RAM区域。

在一些微控制器中,还有另外的128B RAM,其与SFR中的存储地址共享,即80h至FFH。但是,此额外的RAM块仅被间接寻址访问。

使用8051微控制器接口外部存储器

有一个选项来扩展微控制器的能力总是好的,无论是在内存或IO或其他方面。这样的膨胀将有助于避免设计节流。我们已经看到一个典型的8051微控制器有4KB的ROM和128B的RAM(大多数现代8051微控制器的变种有8K ROM和256B的RAM)。

基于8051单片机的系统设计并不局限于8051单片机内部的RAM和ROM。有一个提供连接外部RAM和ROM,即数据存储和程序。

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

另一个重要原因是筹码8031或8032,其没有任何内部ROM,必须与外部ROM接口。

最多64KB的程序存储器(ROM)和数据存储器(RAM)可以与8051微控制器接口。

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

8051接口外部RAM和ROM

需要注意的一点是,当与8051单片机接口外部存储器时,端口0 (P0)不能作为IO端口,因为它将用于多路地址和数据总线(A0 - A7和D0 - D7)。不总是这样,但是端口2可以用作地址总线的更高字节。

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

9回复

  1. 做得很好的解释,我真的在努力了解8051的内部记忆,这使得一切都很清楚,谢谢。

  2. 你好,非常好的演讲,我是一个QUST,在地址Ram I. 000FH中,H裁判到十六进制?
    所有RAM地址都有4位格式吗?

发表评论

您的电子邮件地址将不会被公布。必填字段被标记