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,当寻址
到内部存储空间以外时,会自动转向外部程序存储器空间(与扩展外部程序存。

单片机存储器配置

单片机存储器配置
整个00H~07FH 都可以作为一般的RAM使用。
对该区域(00H~07FH)的RAM访问,可以使用直接寻 址,也可以使用寄存器间接寻址
3
2.复位起始地址
复位完成后,程序计数器PC=0000H,因此,复位后程 序从0000开始执行程序。
3.片内程序存储器
依据不同的型号而不同。例如
① 8031没有内部程序存储器; ② 8751有4KB的EPROM程序存储器; ③ AT89C51有4KB的FLASH作程序存储器; ④ AT89C52有8KB的FLASH作程序存储器; ⑤ AT89C55有20KB的FLASH作程序存储器; ⑥ W78E58有32KB的FLASH作程序存储器。
资料的获取:一般都可以通过网络获得相关资料。 最方便的是直接进入制造厂的网站,对于使用资料,是公开的。
例如进入Atmel网站,选择芯片型号AT89C52可以查找到相 关资料;
9
5. 如何留出中断向量区
使用定位伪指令。
各入口地址存放一条转移指令或子程序调
用指令,而程序的主体部分存放在程序存 储空间的其他位置、
19
片外程序存储器的扩展框图
D0~D7
OE G D0~D7 Q0~Q7
P0.0~P0.7 ALE
74LS373
27256
A0~A14 E G
A0~A7
A8~A14 A15 PSEN
P2.0~P2.7 PSEN
A8~A15
数据线、地址线接到存储器芯片的对应引脚上。
20
电路原理图
1IC1
AT 89C52
16
27256外形与引脚
17
功能表
E
G
0
0
0
1
1

MCS-51的CPU和存储器

MCS-51的CPU和存储器

MCS-51的CPU和存储器CPU结构单片机8051的CPU由运算器和控制器组成。

一、运算器运算器以完成二进制的算术/逻辑运算部件ALU为核心,再加上暂存器TMP、累加器ACC、寄存器B、程序状态标志寄存器PSW及布尔处理器。

累加器ACC是一个八位寄存器,它是CPU中工作最频繁的寄存器。

在进行算术、逻辑运算时,累加器ACC往往在运算前暂存一个操作数(如被加数),而运算后又保存其结果(如代数和)。

寄存器B主要用于乘法和除法操作。

标志寄存器PSW也是一个八位寄存器,用来存放运算结果的一些特征,如有无进位、借位等。

其每位的具体含意如下所示。

PSWCY AC FO RS1 RS0 OV -P对用户来讲,最关心的是以下四位。

1进位标志CY(PSW7)。

它表示了运算是否有进位(或借位)。

如果操作结果在最高位有进位(加法)或者借位(减法),则该位为1,否则为0。

2辅助进位标志AC。

又称半进位标志,它反映了两个八位数运算低四位是否有半进位,即低四位相加(或减)有否进位(或借位),如有则AC为1状态,否则为0。

3溢出标志位OV。

MCS-51反映带符号数的运算结果是否有溢出,有溢出时,此位为1,否则为0。

4奇偶标志P。

反映累加器ACC内容的奇偶性,如果ACC中的运算结果有偶数个1(如11001100B,其中有4个1),则P为0,否则,P=1。

PSW的其它位,将在以后再介绍。

由于PSW存放程序执行中的状态,故又叫程序状态字?运算器中还有一个按位(bit)进行逻辑运算的逻辑处理机(又称布尔处理机)。

其功能在介绍位指令时再说明。

二、控制器控制器是CPU的神经中枢,它包括定时控制逻辑电路、指令寄存器、译码器、地址指针DPTR及程序计数器PC、堆栈指针SP等。

这里程序计数器PC 是由16位寄存器构成的计数器。

要单片机执行一个程序,就必须把该程序按顺序预先装入存储器ROM的某个区域。

单片机动作时应按顺序一条条取出指令来加以执行。

MCS-51系列单片机的存储器配置

MCS-51系列单片机的存储器配置

字节 地址
位地址/位功能标记
符号 名称 位寻址
D7
D6
D5
D4
D3
D2
D1
D0
F7H
F6H
F5H
F4H
F3H
F2H
F1H
F0H
F0H
B.7
B.6
B.5
B.4
B.3
B.2
B.1
B.0
B
B 寄存器

E7H
E6H
E5H
E4H
E3H
E2H
E1H
E0H
E0H
A
累加器

ACC.7 ACC.6 ACC.5 ACC.4 ACC.3 ACC.2 ACC.1 ACC.0
在8051片内存储器中,有6个特殊的地址单元。0000H~0002H单元是执行 所有程序的入口地址。通常情况下,该单元存放的是一条无条件转移指令。 因为当单片机复位后,CPU总是从此单元开始执行程序。存放在此单元中的跳 转指令将引导CPU进入真正的程序入口地址继续读取指令。0003H、000BH、 0013H、001BH、0023H分别是5个中断源的中断服务子程序的入口地址。因此, 用户程序的存放位置选在002EH之后才会比较安全。
2CH
2BH
2AH
29H
28H
24H
27H
26H
25H
24H
23H
22H
21H
20H
23H
1FH
1EH
1DH
1CH
1BH
1AH
19H
18H
22H
17H
16H
15H
14H
13H
12H

51单片机存储器结构介绍

51单片机存储器结构介绍

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

【程序内存ROM】寻址范围:0000H ~ FFFFH 容量64KBEA = 1,寻址内部ROM;EA = 0,寻址外部ROM地址长度:16位作用:存放程序及程序运行时所需的常数。

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

一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。

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

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

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

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

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

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

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

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

MCS-51单片机的内部存储器

MCS-51单片机的内部存储器
② AC(PSW.6)——辅助进位标志位。在加减运算中,当有低4 位 向 高 4 位 进 位 或 借 位 时 , AC 由 硬 件 置 位 , 否 则 AC 位 被 清 “0”。在进行十进制数运算时需要十进制调整,此时要用 到AC位状态进行判断。
③ F0(PSW.5)——用户标志位。这是一个由用户自定义的标 志位,用户根据需要用软件方法置位或复位。例如用它来控 制程序的转向。
4. 堆栈类型
向上生长型和向下生长型。MCS-51的堆栈是向上生长的。
5. 堆栈使用方法
① 调用子程序或中断时,返回地址(断点)自动进栈。程序返回时, 断点再自动弹回PC。
② 使用专用的堆栈操作指令,进行进出栈操作。保护现场(PUSH); 恢复现场(POP)。
1.4 内部程序存储器
MCS-51单片机的程序计数器PC为16位,因此可以寻址的 地址空间为64KB。8051和8751单片机内部有4KB字节 ROM/EPROM程序存储器(0000H~0FFFH),1000H~FFFFH是外 部扩展程序存储器地址空间。而8052单片机内部有8KB ROM程 序存储器,同样可以扩展到64KB。在64KB程序存储器中,有6 个地址单元具有特殊功能。
3. 堆栈指示器
堆栈共有两种操作:进栈和出栈。
但不论是数据进栈还是出栈,都是对堆栈的栈顶单元进行的, 即对堆栈栈顶单元的写和读操作。为了指示栈顶地址,所以 要设置堆栈指示器SP。SP的内容就是堆栈栈顶的存储单元地 址。
MCS-51单片机由于堆栈设在内部RAM上,因此SP是一个8位 寄存器。实际上SP就是专用寄存器的一员。系统复位后,SP 的内容为07H,但由于堆栈最好在内部RAM的30H~7FH单元中 开辟,所以在程序设计时,应注意把SP值初始化为30H。SP的 内容一旦确定,栈顶的位置就确定了。

MCS-51单片机存储器结构

MCS-51单片机存储器结构

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

那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(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 串行中断地址区。

第三章 MCS51单片机存储器概述

第三章 MCS51单片机存储器概述

(2)位寻址区 内部数据存储器20H一2FH(16个单元) 既可按字节寻址,作为一般工作单元,又可 以按位由CPU直接寻址,进行位操作。这16 个字节每字节8位,共有16×8=128位,占 用地址为00H--7FH(位地址),如表4—2所示。 应用这些位单元,可以方便地进行各种布尔 逻辑操作。
(3)一般缓冲存储区
第三章 MCS-51系列单片机 的存储器组织
3-1 MCS-51系列单片机存储器概述
• • • • • 程序空间 内部数据存储空间 特殊功能寄存器 位地址空间 外部数据I/O空间Fra bibliotekFFFFH
FFH RAM 8052 8752 8032 80H
FFH
FFH
FFFFH
â¿Ì Ͳ³ òÕä п¼ EPROM
位地址 D4 D3
D2
D1
06H
05H
04H
03H
02H
01H
D0 78H 70H 68H 60H 58H 50H 48H 40H 38H 30H 28H 20H 18H 10H 08H 00H
MCS—51外部数据存储器寻址空间为64 KB,这对多数应用领域已足够使用。对外部 数据存储器可用R0、R1及DPTR间接寻址寄存 器。R0、R1为8位寄存器,寻址范围为256B, DPTR为16位的数据指针寄存器,寻址范围为 64KB。
字节地址 2FH 2EH 2DH 2CH 2BH 2AH 29H 28H 27H 26H 25H 24H 23H 22H 21H 20H D7 7FH 77H 6FH 67H 5FH 57H 4FH 47H 3FH 37H 2FH 27H 1FH 17H 0FH 07H D6 D5
(3)一般缓冲存储区 • 内部RAM块中的30H一7FH构成一般缓冲存储区,可 用于存放数据,也可作为堆栈。 • 数据区的规划: (1)用0区或1区; (2)32位; (3)数据区:30H~5FH; (4)规划堆栈区。

MCS-51单片机内部程序存储器ROM结构详解

MCS-51单片机内部程序存储器ROM结构详解

MCS-51单片机内部程序存储器ROM结构详解MCS-51 单片机的程序存储器用于存放编好的程序和表格常数。

8051 片内有4 KB 的ROM,8751 片内有4 KB 的EPROM,8031 片内无程序存储器。

MCS-51 的片外最多能扩展64 KB 程序存储器,片内外的ROM 是统一编址的。

如端保持高电平,8051 的程序计数器PC 在0000H~0FFFH 地址范围内(即前4 KB 地址) 是执行片内ROM 中的程序,当PC 在1000H~FFFFH 地址范围时,自动执行片外程序存储器中的程序;当保持低电平时,只能寻址外部程序存储器,片外存储器可以从0000H 开始编址。

MCS-51 的程序存储器中有些单元具有特殊功能,使用时应予以注意。

其中一组特殊单元是0000H~0002H。

系统复位后,(PC)=0000H,单片机从0000H 单元开始取指令执行程序。

如果程序不从0000H 单元开始,应在这三个单元中存放一条无条件转移指令,以便直接转去执行指定的程序。

还有一组特殊单元是0003H~002AH,共40 个单元。

这40 个单元被均匀地分为5 段,作为5 个中断源的中断地址区。

其中:0003H~000AH 外部中断0 中断地址区000BH~0012H 定时/计数器0 中断地址区0013H~001AH 外部中断1 中断地址区001BH~0022H 定时/计数器1 中断地址区0023H~002AH 串行中断地址区中断响应后,按中断种类,自动转到各中断区的首地址去执行程序,因此在中断地址区中理应存放中断服务程序。

但通常情况下,8 个单元难以存下一个完整的中断服务程序,因此通常也是从中断地址区首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断服务程序的实际入。

MCS-51单片机的硬件结构

MCS-51单片机的硬件结构

MCS-51单⽚机的硬件结构MCS-51单⽚机的基本组成MCS-51是Intel公司⽣产的⼀个单⽚机系列的总称.在功能上,该系列单⽚机有基本型和增强型两⼤类,通常以芯⽚型号的末位数字来区别。

末位数字位“1”的型号是基本型,为“2”的信号是增强型。

MCS-51单⽚机的内部结构如图所⽰,基本结构包括:⼀个8位的CPU及⽚内振荡器;4KB掩膜ROM(8051),4KB EPROM(8751),⽆ROM(8031);128B RAM,21个特殊功能寄存器SFK;4个(P0~P3)8位并⾏I/O接⼝,⼀个可编程全双⼯通⽤异步串⾏接⼝(UART);具有5个中断源,2个优先级;可寻址64KB 的⽚外ROM和64KB的⽚外RAM;两个16位的定时/计数器;具有位操作功能的布尔处理机及位寻址功能。

MCS-51单⽚机的引脚及其功能MCS-51单⽚机的引脚封装MCS-51单⽚机有普通的HMOS芯⽚和CMOS低功耗芯⽚。

HMOS芯⽚采⽤双列直插封装⽅式,⽽CMOS芯⽚采⽤的封装⽅式有双列直插也有⽅形封装的。

尽管封装的⽅式不同,但是它们的结构完全⼀样。

输⼊/输出接⼝MCS-51单⽚机有4个双向8位I/O接⼝,它们是P0、P1、P2、P3。

在⽆外接存储器时,这4个I/O接⼝均可以作为通⽤I/O接⼝使⽤,CPU既可以对它们进⾏字节操作也可以进⾏位操作。

当外接程序存储器或数据存储器时,P0⼝和P2⼝不再作为通⽤I/O⼝使⽤。

此时,P0⼝传送存储器地址的低8位以及双向的8位数据,P2⼝传送存储器地址的⾼8位。

P0⼝和P2共同组成MCS-51单⽚机的16位地址总线,⽽低8位地址总线与8位双向数据总线分时复⽤。

P0⼝P0⼝有8位,每⼀位由⼀个锁存器、两个三态输⼊缓冲器、控制电路和驱动电路组成。

P0⼝有两种功能,⼀是作为通⽤I/O⼝;⼆是当外接存储器时,作为低8位地址总线和8位双向数据总线。

P0 ⼝作为通⽤I/O ⼝作为通⽤I/O ⼝时,P0 ⼝既可以做输⼊⼝,也可以做输出⼝,并且每⼀位都可以设定为输⼊或输出。

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

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

第五讲 MCS-51单片机存储器配置教学方法: 讲授法 教学目的:1、了解特殊功能寄存器名称2、了解单片机位地址空间分配3、掌握MCS-51单片机内部存储器的空间与分配教学重点、难点::单片机内部存储器的空间与分配主要教学内容(提纲):一、MCS-51的存储器结构 二、MCS-51的输入输出结构 三、CPU 的时序 四、单片机的工作过程讲授要点§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个双字节寄存器。

注意PC不在此范围内。

表2-4 P22表中:T2CO;TH2、TL2;RLDH、RLDL属于8032 / 8052。

单片机第2章MCS-51系列单片机的资源配置

单片机第2章MCS-51系列单片机的资源配置

单片机第2章MCS-51系列单片机的资源配置单片机作为一种集成电路芯片,在现代电子技术领域中发挥着重要作用。

MCS-51 系列单片机是其中应用广泛且具有代表性的一类。

要深入了解和运用 MCS-51 系列单片机,就必须清楚其资源配置。

MCS-51 系列单片机的中央处理器(CPU)是其核心部分。

它负责执行指令、进行运算和控制整个系统的工作。

该 CPU 由运算器和控制器组成。

运算器能够进行算术运算和逻辑运算,而控制器则按照程序的指令顺序,有条不紊地控制单片机的各项操作。

在存储资源方面,MCS-51 系列单片机拥有程序存储器和数据存储器。

程序存储器用于存放用户编写的程序代码,通常采用只读存储器(ROM)。

而数据存储器则用于存储运行过程中的临时数据,一般使用随机存取存储器(RAM)。

程序存储器又分为片内程序存储器和片外程序存储器。

片内程序存储器的容量因具体型号而异,一般为 4KB 或 8KB。

当程序较大,片内存储器无法满足需求时,可以通过扩展片外程序存储器来解决。

数据存储器也分为片内数据存储器和片外数据存储器。

片内数据存储器包括工作寄存器区、位寻址区、用户 RAM 区等。

工作寄存器区可以提高数据处理的速度,位寻址区方便对单个位进行操作,用户 RAM区则用于存放用户自定义的数据。

片外数据存储器的扩展则可以满足更大的数据存储需求。

MCS-51 系列单片机的 I/O 端口是其与外部设备进行信息交换的通道。

它共有 4 个 8 位的并行 I/O 端口,分别为 P0、P1、P2 和 P3 端口。

每个端口都可以作为输入或输出使用。

P0 端口是一个三态双向端口,既可以作为地址/数据总线的低8 位,也可以作为普通的 I/O 端口。

但作为普通 I/O 端口使用时,需要外接上拉电阻。

P1 端口是一个准双向端口,通常作为普通的 I/O 端口使用。

P2 端口既可以作为普通的 I/O 端口,也可以在访问片外存储器时作为高 8 位地址线。

  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个存储器空间:
片内程序存储器和片外程序存储器; 片内数据存储器和片外数据存储器;
相关文档
最新文档