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

合集下载

MCS-51单片机系统结构

MCS-51单片机系统结构
*缓存发给外设的数据、控制命令和外设提供 的运行状态信息;
*提供驱动外设的电压或电流; *DMA(直接存储器存取)控制和中断控制。
16
1.1 单片微型计算机
一、单片机的发展历史
第一阶段(1976-1978):单片机的探索阶段。探索
计算机的单芯片集成,单片机(Single Chip Microcomputer) 的定名即缘于此。产品以Intel公司的MCS-48为代表。
9
➢数据总线 DB:CPU与存储器、I/O接口之间 (双向)传送数据的公共通路。 * 数据总线的条数决定CPU一次最多可以传送的
数据宽度(位数)。 如:8位机的DB有8条,CPU一次可读写8位数据
16位机的DB有16条,CPU一次可读写16位
➢控制总线 CB:用来传送各种控制或状态信号 * CPU送出和接受的对存储器、I/O接口读写
运算器 控制器 寄存器组
内存储器
输入输出 接口电路
总线
外部设备
软件
7
二、微型计算机的结构
AB: Address Bus DB: Data Bus CB: Control Bus








CPU
地址总线 AB
I/O

I/O




设口备源自输 出 设 备I/O 接 口
数据总线 DB
控制总线 CB
特点: • 以微处理器(CPU)为核心 • CPU与其他部件间通过三总线连接
BUS
I/O接口
C/T
4
系统级——微型计算机系统
• 以微型计算机为中心,配以相应的外围设 备以及控制微型计算机工作的软件,就构 成了完整的微型计算机系统。

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单片机的内部结构

§ 2.2.2 控制器
1.程序计数器PC ( Program Counter );
程序计数器PC:程序地址指示器,是16位专用 寄存器,其内容表示下一条要执行的指令的16位 地址。
PC具有自动加1的功能。 系统复位后,PC=0000H。
§ 2.2.2 控制器
§2.2.1 运算器
(3)程序状态字PSW(字节地址:D0H)
寄存当前指令执行的某些状态;反映指令执行结果的一些 特征。
1)四个状态标志位
C:进位标志位 AC:半进位标志位 P:奇偶标志位 OV:溢出标志位
2)设定标志位 F0、F1标志位:用户标志位 RS1、RS0:工作寄存器组 指针
§2.2.1 运算器
(2)基本结构: 1)CPU 2)存储器 3)输入/输出 接口电路 4)总线
§2.1 MCS-51单片机结构
总 体 结 构
§2.1 MCS-51单片机结构
基本特性
•CPU :8位 •存储器:
•128字节RAM •21个专用寄存器(亦称特殊功能寄存器SFR) •4K字节ROM存储器 •并行口:4个8位并行口 •串行口:1个全双工的串行口 •定时器/计数器:2个16位的定时器/计数器 •中断系统:5个中断源,两个中断优先级 •寻址范围: 64K字节(程序存储区和外部数据存储区各64K)
RS1 RS0 00 01 10 11
寄存器区 0区 1区 2区 3区
§2.2.1 运算器
程序状态字
Cy AC F0 RS1 RS0 OV F1 P
⑤溢出标志OV: Overflow flag
作有符号数进行算术运算时,若计算结果超出-128~+127 范围,则OV置1,否则置0。
§2.2.1 运算器

第2章 MCS-51单片机的内部结构

第2章 MCS-51单片机的内部结构
P3.4 T0 P3.3 INT1 外部中断1请求 外部中断 请求 计数器0外部输入 计数器 外部输入
当3个准双向I/O口作输入口使用时,要向该口先写“1”, 个准双向I/O口作输入口使用时,要向该口先写“ I/O口作输入口使用时 P3.5 T1 计数器1外部输入 计数器 外部输入 P3.6 WR 外部数据存储器 另外准双向I/O口无高阻的“浮空”状态。 I/O口无高阻的 另外准双向I/O口无高阻的“浮空”状态。
2.4.2 内部数据存储器 共128个字节, 128个字节, 128个字节 字节地址为00H 7FH。 00H~ 字节地址为00H~7FH 00H~1FH:32个单 00H~1FH:32个单 元,是4组通用工作 寄存器区 20H~2FH:16个单 20H~2FH:16个单 可进行128 128位的 元,可进行128位的 位寻址 30H FH: 用户RAM 30H ~ 7FH : 用户 RAM 区 , 只能进行字节寻 址 , 用作数据缓冲区 以及堆栈区。 以及堆栈区。
I/O口引脚 2.2.3 I/O口引脚 P0口 双向8位三态I/O I/O口 地址总线( (1) P0口:双向8位三态I/O口,地址总线(低8位)及 数据总线分时复用口,可驱动8个LS型TTL负载。 数据总线分时复用口,可驱动8 LS型TTL负载。 负载 P1口 准双向I/O I/O口 可驱动4 LS型TTL负载 负载。 (2) P1口:8位准双向I/O口,可驱动4个LS型TTL负载。 转义引 引脚 与地址总线 ( 高 8 位 ) 复 功能说明 准双向I/O I/O口 (3) P2口:8位 准双向I/O 口, 与地址总线( 脚 可驱动4 LS型TTL负载 负载。 用,可驱动4个LS型TTL负载。RXD 串行数据接收端 P3.0 准双向I/O I/O口 双功能复用口,可驱动4 (4) P3口:8位 准双向I/O 口, 双功能复用口 ,可驱动 4 P3.1 TXD 串行数据发送端 P3.2 INT0 外部中断0请求 外部中断 请求 LS型TTL负载 负载。 个LS型TTL负载。 注意:准双向口与双向三态口的差别。 注意:准双向口与双向三态口的差别。

MCS-51存储器和位处理器

MCS-51存储器和位处理器

只能寄存器间接寻址
FFH
52子系列才有 的RAM区
8052 256字节
80H 7FH
8051 128字节
30H 2FH
20H
普通RAM区 位寻址区
1FH 00H
工作寄存器区
FFH SFR分布在 80H-FFH 其中92个位 可位寻址
80H
只能直接寻址
5)变址寻址(基址寄存器+变址寄存器间接寻址)
变址寻址只能对程序存储器中数据进行操作。由于程序存 储器是只读的,因此变址寻址只有读操作而无写操作,在指 令符号上采用MOVC的形式(如图所示)。
V. 用户自定义的符号地址
例如:专用寄存器中的PSW.5位
ⅰ. SERB D5H
ⅲ. SETB D0.5H
ⅱ. SETB F0
ⅳ. SETB PSW.5
片内RAM中有128个位可 按位寻址的位,位地址: 00H—7FH分布在: 20H—2FH单元;
另外,在SFR中还有92个 位可按位寻址
D7 D6 D5 D4 D3 D2 D1 D0 2FH 7F 7E 7D 7C 7B 7A 79 78
...
...
FFFFH
外 部 数 据 存 储 器
(64KB)
0000H
程序存储器
内部数据 存储器
外部数据 存储器
3. MCS-51的寻址方式
寻址:在单片机的存储空间中寻找指令规定的操作数据的 地址,并将操作数取出来。在一条指令中,通常是根据指 令的源操作数来决定寻址方式的。
1)立即寻址
指令中直接给出操作数的寻址方式。立即操作数用前面
【存储器区的低128字节】
(2)内部数据存储区 高128单元
【特殊功能寄存器SFR】

51单片机存储器内部结构

51单片机存储器内部结构

MCS-51单片机在物理结构上有四个存储空间:1、片内程序存储器2、片外程序存储器3、片内数据存储器4、片外数据存储器但在逻辑上,即从用户的角度上,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即128B内RAM 和 SFR区。

作用:作数据缓冲器用。

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

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

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

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

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

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

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

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

MCS-51单片机内部结构

MCS-51单片机内部结构8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。

8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:·中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

·数据存储器(RAM):8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。

·程序存储器(ROM):8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。

·定时/计数器(ROM):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。

·并行输入输出(I/O)口:8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。

·全双工串行口:8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

·中断系统:8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。

·时钟电路:8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。

单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。

MCS-51的基本结构及工作原理


工作寄 0 存器组 地址
00H 08H -07H -0FH R0 -R7 R0 -R7
10H 18H -17H -1FH R0 -R7 R0 -R7
寄存器
工作寄存器组选择 RS1,RS0为PSW的两个位
特殊功能寄存器(片内高 特殊功能寄存器 片内高128B 80H~FFH) 片内高
21个专用寄存器SFR 这21个中,凡是字节能被8整除的SFR还可以进行位寻址。 部分SFR(6个,其它的在具体应用时介绍)
系统保留单元: 0000H~002BH 单片机复位后 PC=0000H
内部4KB ROM,片外可扩展64KB, 片内外统一编址,地址指针为16位程序计数器PC, 范围为0000H~FFFFH EA为高电平时,片内外ROM统一编址,为低电平时,只在片外寻址
Page 13
(2)数据存储器 )
该存储器用于存放数据或程序运行时的中间结果。
Page 16
引脚
转义引脚 RXD TXD INT0 INT1 T0 T1 WR RD
功能说明 串行数据接收端 串行数据发送端 外部中断0请求 外部中断1请求 计数器0外部输入 计数器1外部输入 外部数据存储器 写 外部数据存储器 读
3、可编程I/O简介 、可编程 简介
四个双向8位 四个双向 位 P0~P3 1锁存器 并行I/O口 1输出驱动器 1输入缓冲器
程序计数器PC 程序计数器PC 控制器 CPU 运算器 指令寄存器 指令译码器 数据指针dptr 数据指针dptr 累加器ACC 累加器ACC 程序状态寄存器PSW 程序状态寄存器PSW 程序存储器EPROM 程序存储器EPROM 4KB 存储器 8051 数据存储器RAM 数据存储器RAM 256B
4个8位可编程I/O接口:P0,P1,P2,P3 位可编程I/O接口:P0, I/O接口 2个16位定时计数器:T0、T1 16位定时计数器: 位定时计数器 1个全双工串行口 5个中断源

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单片机的内部存储器

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

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

相关文档
最新文档