mcs51存储器配置解析

合集下载

MCS-51单片机内部数据存储器RAM结构详解

MCS-51单片机内部数据存储器RAM结构详解

MCS-51 单片机内部数据存储器RAM 结构详解内部数据存储器低128 单元
8051 单片机的内部RAM 共有256 个单元,通常把这256 个单元按其功能划分为两部分:低128 单元(单元地址00H~7FH)和高128 单元(单元地址
80H~FFH)。

如图所示为低128 单元的配置图。

寄存器区
8051 共有4 组寄存器,每组8 个寄存单元(各为8),各组都以R0~R7 作寄存单元编号。

寄存器常用于存放操作数中间结果等。

由于它们的功能及使用
不作预先规定,因此称之为通用寄存器,有时也叫工作寄存器。

4 组通用寄
存器占据内部RAM 的00H~1FH 单元地址。

在任一时刻,CPU 只能使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器组。

到底是哪一组,由程序状态字寄存器PSW 中
RS1、RS0 位的状态组合来决定。

通用寄存器为CPU 提供了就近存储数据的便利,有利于提高单片机的运算速度。

此外,使用通用寄存器还能提高程序编制的灵活性,因此,在单片机
的应用编程中应充分利用这些寄存器,以简化程序设计,提高程序运行速。

第04讲 MCS-51单片机存储器配置

第04讲  MCS-51单片机存储器配置

第四讲 MCS-51单片机存储器配置教学方法: 讲授法 教学目的:1、了解特殊功能寄存器名称2、了解单片机位地址空间分配3、掌握MCS-51单片机内部存储器的空间与分配教学重点:单片机外部引脚的使用教学难点:单片机外部引脚的功能教学环节 组织教学:(2分钟)检查学生人数,强调作业要求。

复习提问:(10分钟)1、MCS-51系列单片机有几种典型机型?有何区别?2、MCS-51单片机有多少外部引脚?ALE 、EA 、PSEN 、RET 的作用?3、MCS-51单片机的特点? 讲授新课;(70分钟)课题 §2-3 MCS-51单片机内存配置一、MCS-51机的内存结构 (如图1所示)0FFFH FFH80H 7FH0000H 00H 0000H程序存储器 内部数据存储器 外部数据存储器图1 MCS-51机的内存结构物理上分为:4个空间,片内ROM、片外ROM片内RAM、片外RAM逻辑上分为;3个空间,程序内存(片内、外)统一编址MOVC数据存储器(片内)MOV数据存储器(片外)MOVX1、程序内存寻址范围:0000H ~ FFFFH 容量64KBEA = 1,寻址内部ROM;EA = 0,寻址外部ROM地址长度:16位作用:存放程序及程序运行时所需的常数。

七个具有特殊含义的单元是:0000H ——系统复位,PC指向此处;0003H ——外部中断0入口000BH ——T0溢出中断入口0013H ——外中断1入口001BH ——T1溢出中断入口0023H ——串口中断入口002BH ——T2溢出中断入口2、内部数据存储器物理上分为两大区:00H ~ 7FH即128B内RAM 和SFR区。

如图2所示。

7F资料缓冲区堆栈区80B工作单元302F位地址:16B00H~7FH 128 可位寻址位201F 3区2区1区32B 4组R0~R7工作寄存器0区图2 内部数据存储器作用:作数据缓冲器用。

二、殊功能寄存器SFR寻址空间:80H ~ FFH ,其中有6个双字节寄存器。

MCS-51单片机存储器结构及访问方法

MCS-51单片机存储器结构及访问方法

AC
F0
RS1
RS0
OV
X
P
半进位位
工作寄存器组选择
用户自定标志位
溢出位
奇偶标志位 P=1:A中1个数为奇数 P=0:A中1个数为偶数
(2)A (ACC) 累加器。自身带有全零标志Z,若A=0则Z=1;若A≠ 0则Z=0。 该标志常用作程序分支转移的判断条件。
(3)SP
堆栈指针。默认栈顶地址为07H。堆栈操作为先加后压,先
弹后减。堆栈区域是向地址增大的方向生成的。 (4)DPTR 数据指针,分成DPL(低8位)和DPH(高8位)。用来存放16位地
址值。
(5)P0~P3 并行端口P0~P3映射寄存器
利用Keil软件查看存储器状态的方法
地址空间2:2000H~FFFFH
MOVC
~ ~
~ ~
~ ~
~ ~
~ ~
~ ~
ROM结构
(page23)
~ ~
~ ~
~ ~
~ ~
~ ~
~ ~
内部数据存储器
内部数据存储器又称为内部数据RAM,共 256字节,地址范围为00H~FFH。 前32个单元(00H~1FH)称为寄存器区。其中, 每8个寄存器形成一个寄存器组。 寄存器0组 寄存器1组 寄存器2组 寄存器3组 地址00H~07H 地址08H~0FH 地址10H~17H 地址18H~1FH
RAM 结构
page24
~ ~ ~ ~ ~ ~
R7 R0 R7 R0 R7
~ ~
~ ~
~ ~
~ ~ ~ ~ ~ ~
~ ~ ~ ~ ~ ~
R0 R7 R6 R5 R4 R3 R2 R1 R0
工作寄存器组的选择:

MCS-51存储器配置

MCS-51存储器配置

MCS-51存储器配置一般的微型计算机都采用程序与数据共用一组存储器形式,而MCS-51单片机将程序与数据分别放在两组存储器内,一组称为程序存储器,另一组称为数据存储器。

单片机的应用特点是为某个特定对象服务,它的程序设计调试成功后,一般是固定不变的,因而程序(包括常数表)可以一次性地永久放到单片机内。

这样不仅省去了每次开机后的程序重新装入步骤,还可以有效地防止因掉电和其它干扰而引起的程序丢失的错误。

MCS-51片内集成有一定容量的程序存储器(8031/80C31/8032除外)和数据存储器,并能够扩展较大外部存储器的能力。

物理上,MCS-51有4个存储器空间:片内程序存储器、片外程序存储器,片内数据存储器、片外数据存储器。

其结构如图2-5所示。

程序存储器程序存储器用来存放编制好的始终保留的固定程序和表格常数。

程序存储器以程序计数器PC作地址指针,用16位的地址总线,地址空间为64KB。

8051单片机内部设置有4KB的ROM(8031无内部ROM),片外可以扩展到64KB的程序存储区,而整个程序存储器的地址空间是统一的。

当引脚(引脚高电平)时,单片机正常运行,片内外统一编址。

片内ROM 地址范围由0000H~0FFFH共4KB;片外ROM地址从1000H~FFFFH,内外共64KB。

当程序计数器PC≤0FFFH时执行片内程序,当PC≥0FFFH时,会自动转向片外程序。

当引脚(引脚低电平)时,只能执行片外ROM的程序。

因此,片外ROM地址从0000H~FFFFH共64KB。

8031单片机无内部程序存储器,故地址从0000H~FFFFH都是外部程序存储器空间,其脚始终接低电平,使系统只从外部程序存储器中取指。

在使用ROM时,下面六个地址单元具有特殊专用功能:0000H单元是程序起始单元。

系统复位后,PC=0000H,程序从0000H单元开始执行;0003H单元是外部中断0入口地址;000BH单元是定时器 T0溢出中断入口地址;0013H单元是外部中断1入口地址;001BH单元是定时器 T1溢出中断入口地址;0023H单元是串行口中断入口地址。

MCS-51单片机的存储结构

MCS-51单片机的存储结构

MCS-51单片机存储器结构MCS-51的存储器可分为四类:程序存储器一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。

那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。

程序相当于给微处理器处理问题的一系列命令。

其实程序和数据一样,都是由机器码组成的代码串。

只是程序代码则存放于程序存储器中。

MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。

对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。

强制CPU从外部程序存储器读取程序。

对于内部有ROM的8051等单片机,正常运行时,则需接高电平,使CPU先从内部的程序存储中读取程序,当PC值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。

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个单元是专门用于存放中断处理程序的地址单元,中断响应后,按中断的类型,自动转到各自的中断区去执行程序。

MCS-51单片机存储空间的介绍以及划分

MCS-51单片机存储空间的介绍以及划分

MCS-51单片机存储空间的介绍以及划分
1.前言
MCS-51的存储器有片内RAM、片外RAM 和ROM 三个空间。

MCS-51单片机在物理结构上有四个存储空间
1、片内程序存储器(片内ROM)
2、片外程序存储器(片外ROM)
3、片内数据存储器(片内RAM)
4、片外数据存储器(片外RAM)
在逻辑上(即从用户的角度上)MCS-51单片机有三个存储空间
1、片内外统一编址的64K的程序存储器(ROM)地址空间(MOVC)
2、256B的片内数据存储器(片内RAM)的地址空间(MOV)
3、以及64K片外数据存储器(片外RAM)的地址空间(MOVX)
注:在访问三个不同的逻辑空间时,应采用不同形式的指令以产生不同的存储器空间的选通信号。

2.存储空间划分
2.1 片内RAM
图:片内AM地址空间划分
地址范围是00H到7FH (52系列延伸到FFH),为8位地址,所以最大可寻址的范围为256个单元地址
•00H到1FH
共32字节,分成四个工作寄存器区,每区有寄存器R0~R7。

对此区域,可以使用R0~R7 来操作,代码短捷,但是,只有一个当前工作区是可以这样读写的。

对此区域,也可以使用字节地址,来读写。

•20H-2FH
共16字节,是位寻址区,共有128个“位”,位地址:00~7FH。

此区域,也可按照字节。

第3节 MCS-51的存储器配置

第3节 MCS-51的存储器配置

3区,2区,1区,0区
2.3.2
数据存储器配置
3.通用RAM区:30H~7FH. 通用RAM区:30H~7FH. RAM 只能以字节寻址,通用暂存数据, 只能以字节寻址,通用暂存数据,一般堆栈也设在 该区域内. 该区域内. .80H~FFH内有两部分内容 内有两部分内容. 4.80H~FFH内有两部分内容. 一是通用数据RAM (51子系列单片机没有该区 RAM区 子系列单片机没有该区) 一是通用数据RAM区(51子系列单片机没有该区) 二是SFR SFR区 参阅2.3.3 2.3.3节 二是SFR区(参阅2.3.3节). 它们占用相同逻辑地址,但物理地址是分开的. 它们占用相同逻辑地址,但物理地址是分开的. 区别的方法是:访问通用RAM RAM区 区别的方法是:访问通用RAM区,使用寄存器间接 寻址方式.访问SFR 使用直接寻址方式, SFR, 寻址方式.访问SFR,使用直接寻址方式,二者不 可混用. 可混用.
2.3.2
数据存储器配置
片内数据存储器:片内数据存储器结构比较复杂. 片内数据存储器:片内数据存储器结构比较复杂. 有工作区,位寻址区, 有工作区,位寻址区,通用区及特殊功能寄存器区 等. 寻址方式也不相同,有直接寻址,也有间接寻址, 寻址方式也不相同,有直接寻址,也有间接寻址, 还有两种方式都可以的. 还有两种方式都可以的. 片内数据存储器总的寻址范围是00H FFH. 00H~ 片内数据存储器总的寻址范围是00H~FFH.
表2-3
30H-7FH D7 2FH 2EH 2DH 2CH 2BH 2AH 29H 28H 27H 26H 25H 24H 23H 22F 21H 20H 1FH-00H 7F 77 6F 67 5F 57 4F 47 3F 37 2F 27 1F 17 0F 07 D6 7E 76 6E 66 5E 56 4E 46 3E 36 2E 26 1E 16 0E 06 D5 7D 75 6D 65 5D 55 4D 45 3D 35 2D 25 1D 15 0D 05

MCS-51单片机的存储器组织结构

MCS-51单片机的存储器组织结构

MCS-51 单片机的存储器组织结构
特点:哈佛结构,程序存储器与数据存储器分开,两者各有一个相互独
立的64K(0x0000 ~ 0xFFFF)的寻址空间(准确地说,内部数据存储器与外部数据存储器不是一回事)。

程序存储器:
①用于存放程序(可执行的二进制代码映像文件,包括程序中的数据信息),还包括初始化代码等固件。

②为只读存储器。

注意,这里的只读,是指单片机(CPU)在正常工作时对其的访问方式是只读的;而现在大多数单片机的程序存储器(不管是内部还
是外部)都采用了FLASH ROM,来取代以前所用的ROM、E2PROM 等,可方便地进行在线编程(ISP)。

③标准8051 的内部程序存储器大小为4KB(0x0000 ~ 0x0FFF);而具体的
51 核的兼容单片机的内部ROM 大小需要参考其Datasheet,例如
P89C51RA2xx 的内部程序存储器是8K 的Flash。

④内部、外部存储器统一编址,在软件设计上(指令系统中)没有差别;是否使用外部程序存储器是通过引脚EA 在硬件电路上控制的:不使用外部程
序存储器时,EA=0(接地);如果扩展了外部程序存储器,则使EA=1,当寻址
到内部存储空间以外时,会自动转向外部程序存储器空间(与扩展外部程序存。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

专用寄存器
内部数据存储器
FFFFH
片外RAM
0000H 外部数据存储器
8052/8752数据存储器配置图
• 内部数据存储器的00H~1FH(0~31)单元共32b是4个通 用寄存器区,每个区有8个8位寄存器,编号为R0~R7。 在专用寄存器PSW(程序状态字)中有2位(RS0、RS1) 可以用来确定采用哪一个工作寄存器区。可以通过两种方 法改变这两位的值:1)对PSW寻址,通过改变PSW的值 来间接改变这2位的值;2)直接对RS0、RS1寻址,改变 它们的值。例如, RS0=0、RS1=1选择的是区1,而 RS0=0、RS1=0选择区0

2.2 内部数据存储器
• 数据存储器在物理上和逻辑上都分为两个地址空间,一个 内部和一个外部数据存储器空间。访问内部数据存储器用 MOV指令;访问外部数据存储器用MOVX指令。
• 内部数据存储器在物理上又可以区分为3个不同的块: 00H~7FH(0~127)单元组成的低128字节的RAM块; 80H~FFH(128~255)单元组成的高128字节的RAM块 (8052单片机有这一块); 128b的专用寄存器(SFR)块;
R3
02H
R2
工 ቤተ መጻሕፍቲ ባይዱ 寄 存 器 区
01H
R1
00H
R0
0
• MCS-51内部数据存储器中可以设置堆栈,但是其位置不 固定。可以通过一个专用寄存器SP(栈指针)来确定栈 顶的地址。堆栈深度可达128b,但是以不超出内部RAM 空间为限。
• 内部RAM块中的20H~2FH(32~47)单元和SFR块中的 12个单元构成了布尔处理机的存储器空间,这28单元的 221位(28×8减去3个未定义位)各自都有专门的位地址, 可以被直接寻址。
• 注意:128b的SFR块中只有26个字节是有定义的,若访问 这一块中没有定义的单元,将得到一个不确定的随机数
FFFFH
片外RAM
FFH 80H 7FH 00H
专用寄存器 内部RAM
内部数据存储器
0000H 外部数据存储器
8051/8751数据存储器配置图
FFH
80H 7FH 内部RAM 00H
有内部ROM的单片机,在正常运行时,应把~EA引脚接高 电平,使程序从内部ROM开始执行,当PC值超出内部ROM 的容量时,会自动转向外部程序存储器空间;对这类芯片, 若把~EA引脚接低电平,可用于调试状态,把调试程序放置 在与内部ROM空间重叠的外部存储器内。对于无内部ROM 的芯片,~EA引脚应始终接低电平,迫使系统从外部程序存 储器取指。
• 从用户使用的角度,即逻辑上,MCS-51有3个存 储器空间:
片内外统一的64kb的程序存储器地址空间; 256b或384b的内部数据存储器地址空间; 64kb的外部数据存储器地址空间;
访问这3个不同逻辑空间时应采用不同形式的指令
2.1 程序存储器
• 程序存储器用于存放编好的程序和表格常数。 • 在MCS-51中,64kb程序存储器的地址空间是统一的。对于
• 片内RAM中有128个可按位寻址的位。
位地址:00H—7FH
2FH 7F 7E 7D 7C 7B 7A 79 78
• 除0000H单元外,其它6个特殊单元分别对应于6种中断源 的中断服务子程序的入口地址。通常在这些入口地址处都 安放一条绝对跳转指令,而真正的中断服务子程序从转移 地址开始安放。
程序存储器中的几个特殊单元
地址 0000H 0003H 000BH 0013H 001BH 0023H 002BH
用途 复位地址 外部中断0入口地址 定时器0中断入口地址 外部中断1入口地址 定时器1中断入口地址 串行口中断入口地址 定时器2溢出或T2EX(P1.1)端负跳变
• 片内RAM前32个单元是工作寄存器区 (00H—1FH)
FFH
52子系列才有 的RAM区
80H 7FH
普通RAM区
30H
2FH 20H
位寻址区
1FH 00H
工作寄存器区
1FH 18H
工作寄存器区3
17H 10H
工作寄存器区2
0FH 08H
工作寄存器区1
07H
R7
06H
R6
05H
R5
04H
R4
03H
• 片内RAM 低128字节(00H—7FH)
89C51 128字节
FFH
52子系列才有 的RAM区
80H 7FH
普通RAM区
30H
2FH 20H
位寻址区
1FH 00H
工作寄存器区
FFH SFR分布在 80H-FFH
其中92个位 可位寻址
80H
所有的RAM区(包括位 寻址区、工作寄存器 区)都可以用于存放 数据,故也称为数据 缓存寄存器
8052/8752程序存储器配置图
• 对程序存储器可以采用立即寻址和基址+变址寻址方式 • 64kb程序存储器中有7个单元具有特殊功能 • 0000H单元 MCS-51复位后程序计数器PC的内容为
0000H,所以系统必须从0000H单元开始取指,执行程序。 该单元是系统的启动地址,一般在该单元中存放一条绝对 跳转指令,而用户设计的主程序从跳转地址开始安放。
FFFFH
片外ROM
64K 字节
1000H
4K字节
0FFFH片内ROM
0000H EA=1
0FFFH
片外ROM
0000H EA=0
8051/8751程序存储器配置图
FFFFH
片外ROM
64K 字节
2000H
8K字节
1FFFH 片内ROM
0000H EA=1
1FFFH
片外ROM
0000H EA=0
• 在51子系列中,只有低128b的RAM块和128b的专用寄存 器块,后者占有80H~FFH(128~255)地址空间,两块 地址空间是相连的;
• 而在52子系列中,高128字节RAM块与SFR块的地址是重 合的,究竟访问哪一块是通过不同的寻址方式加以区分的。 访问高地址字节RAM时采用寄存器间接寻址方式,访问 SFR块则采用直接寻址方式。而访问低128字节RAM时, 两种寻址方式都可以采用。
第二章 MCS-51存储器配置
• 存储器的两种结构: • 普林斯顿结构:ROM和RAM统一编址,即在同
一个空间队列内寻址 • 哈佛结构:ROM和RAM分别编址,在物理空间
上相互独立。51单片机的存储器是哈佛结构。
• 物理上,MCS-51有4个存储器空间:
片内程序存储器和片外程序存储器; 片内数据存储器和片外数据存储器;
相关文档
最新文档