单片机存储器主要由哪几个部分组成,如何使用

供稿:hz-xin.com     日期:2025-01-21
80C51单片机片内RAM低128个存储单元划分为哪4个主要部分?各部分主要功能是什么?

00h~1fH:寄存器组
20H~2fH:可位寻址区
30H~7FH:一般数据区,堆栈区

寄存器组就是R0-R7,一共是8*4是32字节
位寻址就是对每一位寻址,一个字节可以有8位,位地址可以从0-7F,一共是16个字节
30-7FH有80个字节单元,可以采用字节字节寻址的方法访问
堆栈区及堆栈指示区 堆栈是在片内RAM中数据先进后出的一个存储区域。堆栈指针SP是存放当前堆栈栈顶所对应的存储单元地址的一个8位寄存器。系统复位后SP为07H,而07H一般是寄存器区,所以,一般可以通过对SP赋值,可以使堆栈区设定在RAM中的某一区域,但堆栈的深度以不超过片内RAM区空间为限

  MCS-51单片机存储器结构2008年06月01日 星期日 12:31MCS-51单片机在物理结构上有四个存储空间:

  1、片内程序存储器
  2、片外程序存储器
  3、片内数据存储器
  4、片外数据存储器

  但在逻辑上,即从用户的角度上,8051单片机有三个存储空间:

  1、片内外统一编址的64K的程序存储器地址空间(MOVC)
  2、256B的片内数据存储器的地址空间(MOV)
  3、以及64K片外数据存储器的地址空间(MOVX)
  在访问三个不同的逻辑空间时,应采用不同形式的指令(具体我们在后面的指令系统学习时将会讲解),以产生不同的存储器空间的选通信号。

  程序内存ROM

  寻址范围:0000H ~ FFFFH 容量64KB
  EA = 1,寻址内部ROM;EA = 0,寻址外部ROM
  地址长度:16位
  作用: 存放程序及程序运行时所需的常数。
  七个具有特殊含义的单元是:
  0000H —— 系统复位,PC指向此处;
  0003H —— 外部中断0入口
  000BH —— T0溢出中断入口
  0013H —— 外中断1入口
  001BH —— T1溢出中断入口
  0023H —— 串口中断入口
  002BH —— T2溢出中断入口

  内部数据存储器RAM
  物理上分为两大区:00H ~ 7FH即128B内RAM 和 SFR区。
  作用:作数据缓冲器用。

  下图是8051单片机存储器的空间结构图


  程序存储器

  一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。程序相当于给微处理器处理问题的一系列命令。其实程序和数据一样,都是由机器码组成的代码串。只是程序代码则存放于程序存储器中。
  MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。强制CPU从外部程序存储器读取程序。对于内部有ROM的8051等单片机,正常运行时,则需接高电平,使CPU先从内部的程序存储中读取程序,当PC值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。
  当=1时,程序从片内ROM开始执行,当PC值超过片内ROM容量时会自动转向外部ROM空间。
  当=0时,程序从外部存储器开始执行,例如前面提到的片内无ROM的8031单片机,在实际应用中就要把8031的引脚接为低电平。
  8051片内有4kB的程序存储单元,其地址为0000H—0FFFH,单片机启动复位后,程序计数器的内容为0000H,所以系统将从0000H单元开始执行程序。但在程序存储中有些特殊的单元,这在使用中应加以注意:
  其中一组特殊是0000H—0002H单元,系统复位后,PC为0000H,单片机从0000H单元开始执行程序,如果程序不是从0000H单元开始,则应在这三个单元中存放一条无条件转移指令,让CPU直接去执行用户指定的程序。
  另一组特殊单元是0003H—002AH,这40个单元各有用途,它们被均匀地分为五段,它们的定义如下:
  0003H—000AH 外部中断0中断地址区。
  000BH—0012H 定时/计数器0中断地址区。
  0013H—001AH 外部中断1中断地址区。
  001BH—0022H 定时/计数器1中断地址区。
  0023H—002AH 串行中断地址区。
  可见以上的40个单元是专门用于存放中断处理程序的地址单元,中断响应后,按中断的类型,自动转到各自的中断区去执行程序。从上面可以看出,每个中断服务程序只有8个字节单元,用8个字节来存放一个中断服务程序显然是不可能的。因此以上地址单元不能用于存放程序的其他内容,只能存放中断服务程序。但是通常情况下,我们是在中断响应的地址区安放一条无条件转移指令,指向程序存储器的其它真正存放中断服务程序的空间去执行,这样中断响应后,CPU读到这条转移指令,便转向其他地方去继续执行中断服务程序。

  下图是ROM的地址分配图:


  从上图中大家可以看到,0000H-0002H,只有三个存储单元,3个存储单元在我们的程序存放时是存放不了实际意义的程序的,通常我们在实际编写程序时是在这里安排一条ORG指令,通过ORG指令跳转到从0033H开始的用户ROM区域,再来安排我们的程序语言。从0033开始的用户ROM区域用户可以通过ORG指令任意安排,但在应用中应注意,不要超过了实际的存储空间,不然程序就会找不到。

  数据存储器

  数据存储器也称为随机存取数据存储器。数据存储器分为内部数据存储和外部数据存储。MCS-51内部RAM有128或256个字节的用户数据存储(不同的型号有分别),片外最多可扩展64KB的RAM,构成两个地址空间,访问片内RAM用“MOV”指令,访问片外RAM用“MOVX”指令。它们是用于存放执行的中间结果和过程数据的。MCS-51的数据存储器均可读写,部分单元还可以位寻址。
  MCS-51单片机的内部数据存储器在物理上和逻辑上都分为两个地址空间,即:
  数据存储器空间(低128单元);
  特殊功能寄存器空间(高128单元);
  这两个空间是相连的,从用户角度而言,低128单元才是真正的数据存储器。下面我们就来详细的与大家讲解一下:

  低128单元:
  片内数据存储器为8位地址,所以最大可寻址的范围为256个单元地址,对片外数据存储器采用间接寻址方式,R0、R1和DPTR都可以做为间接寻址寄存器,R0、R1是8位的寄存器,即R0、R1的寻址范围最大为256个单元,而DPTR是16位地址指针,寻址范围就可达到64KB。也就是说在寻址片外数据存储器时,寻址范围超过了256B,就不能用R0、R1做为间接寻址寄存器,而必须用DPTR寄存器做为间接寻址寄存器。


  从上图中我们可以看到,8051单片机片内RAM共有256个单元(00H-FFH),这256个单元共分为两部分。其一是地址从00H—7FH单元(共128个字节)为用户数据RAM。从80H—FFH地址单元(也是128个字节)为特殊寄存器(SFR)单元。从图1中可清楚地看出它们的结构分布。

  1、通用寄存器区(00H-1FH)
  在00H—1FH共32个单元中被均匀地分为四块,每块包含八个8位寄存器,均以R0—R7来命名,我们常称这些寄存器为通用寄存器。这四块中的寄存器都称为R0—R7,那么在程序中怎么区分和使用它们呢?聪明的INTEL工程师们又安排了一个寄存器——程序状态字寄存器(PSW)来管理它们,CPU只要定义这个寄存的PSW的D3和D4位(RS0和RS1),即可选中这四组通用寄存器。对应的编码关系如下表所示。惹程序中并不需要用4组,那么其余的可用做一般的数据缓冲器,CPU在复位后,选中第0组工作寄存器。


  2、位寻址区(20H-2FH)
  片内RAM的20H—2FH单元为位寻址区,既可作为一般单元用字节寻址,也可对它们的位进行寻址。位寻址区共有16个字节,128个位,位地址为00H—7FH。位地址分配如下表所示:


  ++++++++

  CPU能直接寻址这些位,执行例如置“1”、清“0”、求“反”、转移,传送和逻辑等操作。我们常称MCS-51具有布尔处理功能,布尔处理的存储空间指的就是这些为寻址区。

  3、用户RAM区(30H-7FH)
  在片内RAM低128单元中,通用寄存器占去32个单元,位寻址区占去16个单元,剩下的80个单元就是供用户使用的一般RAM区了,地址单元为30H-7FH。对这部份区域的使用不作任何规定和限制,但应说明的是,堆栈一般开辟在这个区域。

  高128单元:(80H-FFH)
  前面提到,在片内的RAM中,高128位是专用寄存器区,因这节比较重要,所以我们单独的安排一节课跟大家介绍。下节课我们就重点介绍51单片机片内RAM的高128位,即专用寄存器区

存储器由存储体、地址译码器和控制电路组成。

1)存储体是存储数据信息的载体。由一系列存储单元组成,每个存储单元都有确定的地址。存储单元通常按字节编址,一个存储单元为一个字节,每个字节能存放一个8位二进制数。就像一个大仓库,分成许多房间,大仓库相当于存储体,房间相当于字节,房间都有编号,编号就是地址。

2)地址译码器将CPU发出的地址信号转换为对存储体中某一存储单元的选通信号。相当于CPU给出地址,地址译码器找出相应地址房间的钥匙。通常地址是8位或1 6位,输入到地址译码器,产生相应的选通线,8位地址能产生28=256根选通线,即能选通256字节。16位地址能产生216=65536=64K根选通线,即能选通64K字节。当然要产生65536根选通线是很难想象的,实际上它是分成256根行线和256根列线,256 X 256=65536,合起来能选通65536个存储单元。
3)存储器控制电路包括片选控制、读/写控制和带三态门的输入/输出缓冲电路。

①片选控制确定存储器芯片是否工作。
②读/写控制确定数据传输方向;若是读指令,则将已被选通的存储单元中的内容传送到数据总线上;若是写指令,则将数据总线上的数据传送到已被选通的存储单元中。
③带三态门的输入/输出缓冲电路用于数据缓冲和防止总线上数据竞争。数据总线相当于一条车流频繁的大马路,必须在绿灯条件下,车辆才能进入这条大马路,否则要撞车发生交通事故。同理,存储器的输出端是连接在数据总线上的,存储器中的数据是不能随意传送到数据总线上的。例如,若数据总线上的数据是“1”(高电平5V),存储器中的数据是“0”(低电平OV),两种数据若碰到一起就会发生短路而损坏单片机。因此,存储器输出端口不仅能呈现“1”和“O”两种状态,还应具有第三种状态“高阻"态。呈“高阻"态时,它们的输出端口相当于断开,对数据总线不起作用,此时数据总线可被其他器件占用。当其他器件呈“高阻"态时,存储器在片选允许和输出允许的条件下,才能将自己的数据输出到数据总线上。

微型计算机的五个组成部分
微型计算机系统结构由运算器、控制器、存储器、输入设备和输出设备五大部分组成,配有操作系统、高级语言和多种工具性软件等。微型计算机简称“微型机”、“微机”,也称“微电脑”。由大规模集成电路组成的、体积较小的电子计算机。由微处理机(核心)、存储片、输入和输出片、系统总线等组成。特点是体积小...

计算机存储器的组成及各部分的特点
计算机存储器的组成及各部分的特点如下:计算机存储器由内存储器和外存储器组成。内存储器 内存储器也称为主存储器,位于系统主机板上,可以同CPU直接进行信息交换。其主要特点是运行速度快,容量小。外存储器 外存储器也称为辅助存储器,不能与CPU之间直接进行信息交换。其主要特点是存取速度相对内存要...

51单片机的存储器分为哪几个空间
MCS-51单片机的存储器从物理结构上分为片内和片外数据存储器,以及片内和片外程序存储器。从逻辑上划分,它包括片内统一寻址的64K程序存储器空间,范围从0000H到FFFFH;64KB的片外数据存储器空间同样从0000H到FFFFH;还有256B的片内数据存储器空间,范围从00H到FFH。在使用单片机时,理解其存储器结构...

分析at89s52单片机的存储器结构
2.数据存储器 at89s52 有256 字节片内数据存储器。地址为00h~ffh。这256个单元共分为两部分。其一是地址从00h~7fh单元(共128个字节)为用户数据ram。从80h~ffh地址单元(也是128个字节)为特殊寄存器(sfr)单元。高128 字节与特殊功能寄存器重叠,也就是说高128字节与特殊功能寄存器有相同的地址,...

微型计算机的基本结构由哪几部分构成?
微处理器,(存储器,I\/0接口,系统总线)外围设备 电源 二、微型计算机是以微处理器为基础,配以内存储器及输入输出(I/0)接口电路和相应的辅助电路而构成的裸机。把微型计算机集成在一个芯片上即构成单片微型计算机。 一个完整的微型计算机系统包括硬件系统和软件系统两大部分。硬件系统由运算器、控制...

微型计算机由哪几部分组成部分
把微型计算机集成在一个芯片上即构成单片微型计算机。 一个完整的微型计算机系统包括硬件系统和软件系统两大部分。硬件系统由运算器、控制器、存储器( 含内存、外存和缓存)、各种输入输出设备组成,采用“ 指令驱动”方式工作。 三、微型计算机软件系统包括系统软件和应用软件两大类。 系统软件,系统软件...

简述以存储器为中心的计算机组成特点及各功能部件功能
以存储器为中心的计算机系统特点是数据的大集中,与主机系统的无关性,可被大量主机设备共用,提供比主机设备本地磁盘更快的IO性能。这种以存储为中心的计算机系统主要组成部分是磁盘阵列设备、FC\\IP等主机网络、主机设备。存储器结构在MCS - 51系列单片机中,程序存储器和数据存储器互相独立,物理结构也...

计算机结构组成
主要分为五个部分:控制器,运算器,存储器,输入设备,输出设备。1,控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。2.,运算器(Datapath):运算器的功能是对数据进行各种算术运算...

计算机硬件系统由哪几个部分组成?
计算机硬件系统由以下几个核心部分组成:1. 运算器(Arithmetic Logic Unit, ALU):负责执行所有的算术运算和逻辑运算,如加、减、乘、除以及比较等。2. 控制器(Control Unit, CU):作为计算机的指挥中心,它负责从存储器获取指令,解释这些指令,并指导其他硬件部件执行指令。3. 存储器(Memory):...

MCS-51系列单片机包括哪几个主要部件?各自的逻辑功能如何?急!!!_百度...
数据存储器分为内部数据存储和外部数据存储。MCS-51内部RAM有128或256个字节的用户数据存储(不同的型号有分别),片外最多可扩展64KB的RAM,构成两个地址空间,访问片内RAM用“MOV”指令,访问片外RAM用“MOVX”指令。它们是用于存放执行的中间结果和过程数据的。MCS-51的数据存储器均可读写,部分单元还可以位寻址。