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 提供了就近存储数据的便利,有利于提高单片机的运算速度。

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

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

MCS51系列单片机芯片结构

MCS51系列单片机芯片结构
(2)控制器电路
控制器电路包括程序计数器PC、PC加1寄存器、指令寄 存器、指令译码器、数据指针DPTR、堆栈指针SP、缓冲器以 及定时与控制电路等。控制电路完成指挥控制工作,协调单 片机各部分正常工作。
2. 定时器/计数器
MCS-51单片机片内有两个16位的定时/计数器,即定 时器0和定时器1。它们可以用于定时控制、延时以及对外 部事件的计数和检测等。
电源引脚Vcc和Vss
Vcc:电源端,接+5V。
Vss:接地端。
时钟电路引脚XTAL1和XTAL2
XTAL1:接外部晶振和微调电容的一端,在片内它是振荡 器倒相放大器的输入,若使用外部TTL时钟时,该引脚必须接 地。
XTAL2:接外部晶振和微调电容的另一端,在片内它是振 荡器倒相放大器的输出,若使用外部TTL时钟时,该引脚为外 部时钟的输入端。
5. 串行I/O口
MCS-51单片机具有一个采用通用异步工作方式的全双 工串行通信接口,可以同时发送和接收数据。
6. 中断控制系统
8051共有5个中断源,即外中断2个,定时/计数中断2个 ,串行中断1个。
7. 时钟电路
MCS-51芯片内部有时钟电路,但晶体振荡器和微调电 容必须外接。时钟电路为单片机产生时钟脉冲序列,振荡器 的频率范围为1.2MHz~12MHz,典型取值为6MHz。
地址锁存允许ALE
系统扩展时,ALE用于控制地址锁存器锁存P0口输出的低 8位地址,从而实现数据与低位地址的复用。
外部程序存储器读选通信号
是读外部程序存储器的选通信号,低电平有效。
程序存储器地址允许输入端 /VPP 当为高电平时,CPU执行片内程序存储器指令,但当PC 中的值超过0FFFH时,将自动转向执行片外程序存储器指令 。当为低电平时,CPU只执行片外程序存储器指令。

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

第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负载。 注意:准双向口与双向三态口的差别。 注意:准双向口与双向三态口的差别。

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

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系列单片机的结构

MCS-51系列单片机的结构
石英晶体振荡器产生的振荡信号送至内部时钟电路产生时钟 脉冲信号。
上一页 下一页 返回
2.1 MCS-51单片机的内部结构
3.控制总线
(1)
:ALE为地址锁存允许信号。在访问外部
存储器时,ALE用来把扩展地址低8位锁存到外部锁存器。在
不访问外部存储器时,ALE引脚以不变的频率(时钟振荡器频
率的1/6)周期性地发出正脉冲信号,因而它又可用作外部定
品有8031和87510 8031是一个无ROM的8051,它从外部ROM 获取所用的指令,8751是一个用EPROM代替ROM的8051, 除此之外,三者的内部结构及引脚完全相同。今后,除特另 11说明外,用8051这个名称来代表8031、8051和87510
上一页 下一页 返回
2.1 MCS-51单片机的内部结构
二功能是在访问外部存储器时,它分时作为低8位地址线和8 位双向数据线。当P0口作为普通输入口使用时,应先向口锁 存器写“1”。 (2) P1口(P1. 0~P1. 7)是一个内部带上拉电阻的准双向I/O口。 当P1口作为普通输入口使用时,应先向口锁存器写“1” 。
上一页 下一页 返回
2.1 MCS-51单片机的内部结构
(1)带进位和不带进位的加法。 (2)带借位减法。 (3) 8位无符号数乘法和除法。 (4)逻辑与、或、异或操作。 (5)加1、减1操作。 (6)按位求反操作。 (7)循环左、右移位操作。 (8)半字节交换。 (9)二一十进制调整。 (10)比较和条件转移的判断等操作。
上一页 下一页 返回
2.1 MCS-51单片机的内部结构
2)指令寄存器IR (Instruction Register) 指令寄存器是一个8位寄存器,用于暂存待执行的指令,等

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

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单片机存储器结构介绍

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单⽚机的基本组成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 ⼝既可以做输⼊⼝,也可以做输出⼝,并且每⼀位都可以设定为输⼊或输出。

MCS51系列单片机存储器.ppt

MCS51系列单片机存储器.ppt

7FH
数据 缓冲区
30H 2FH
20H 1FH 18H 17H
10H 0FH
08H 07H Βιβλιοθήκη 0H位寻址区 (位地址为 00H~7FH)
3区 2区 1区 0区
80 个字节为数据缓冲区(含堆栈) 16 个字节为位寻址区 32 个字节为四个工作寄存器区
(1)工作寄存器区:00H~1FH为4个工作寄存器区,每区8个 单元,分别称为R0、R1、R2、R3、R4、R5、R6、R7,且4个 区的工作寄存器同名。实际上,它们都是通用的数据寄存器, 可用于寄存器地址和数据,其中R0、R1还可作为间接寻址寄存 器使用。当程序中需使用工作寄存器时,必须先指出它们是哪 一个区的,这是由特殊功能寄存器PSW中的RS1和RS0两位来选 择的。 (2)位寻址区:20H~2FH这16个字节的每一位都可以单独进 行操作,每一位有一个地址,称为位地址,例如20H单元的位 地址为00H~07H。共有128个位地址。 (3)数据缓冲区:30H~3FH这80个字节为一般的数据缓冲区, 但通常将堆栈区放在这个空间。由于复位后堆栈指针自动指向 07H(即工作寄存器区),故在程序开始需要用指令将SP设置 在30H以后。
第三章 MCS-51系列单片机存储器
3.1 MCS-51系列单片机系统的存储器配置
8051的存储器有4个不同的逻辑空间,即内部程 序存储器、内部数据存储器、外部程序存储器、外部 数据存储器。它们分别由不同的指令和寻址方式访问, 对外部的两个逻辑空间还使用不同的读控制信号。 MCS-51系列单片机8051的存储器配置 图见下页
1.程序计数器PC 程序计数器PC用于存放下一条要执行指令的地址(PC总是指 向程序存储器地址),是一16位专用寄存器,寻址范围64K 字 节 , PC 在 物 理 结 构 上 是 独 立 的 , 不 属 于 特 殊 功 能 寄 存 器 SFR块。

第2章 MCS-51系列单片机的结构及原理

第2章 MCS-51系列单片机的结构及原理

2.3 引脚功能——封装形式
40P6-PDIP
单 片 机 技 术
2.3 引脚功能——引脚含义
P1. 0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST RXD/ P3. 0 TXD/ P3.1 INT0/ P3.2 INT1/ P3.3 T0/ P3.4 T1/ P3.5 WR/ P3.6 RD/ P3.7 XTAL2 XTAL1 VSS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 24 22 21 VCC P0. 0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA ALE PSEN P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2. 0
2mcs51系列单片机的内部总体结构88微处理器运算部件b数据存储器ramp0口p2口程序存储器特殊功特殊功能寄存器sfrromepromvccvss图21mcs51单片机的基本结构控制部件p1口p3口串行口定时计数器中断系统88xtal1xtal2psenaleeareset端口0驱动器端口2驱动器ram地址锁存器ram1288端口0锁存器端口2锁存器rom4k8b寄存器程序地址寄存器缓冲器寄存器vcc5vvss堆栈指针spacctmp2tmp1p00p07p20p27图22mcs51片内总体结构框图rstpc1寄存器pcdptr指针p10p17psw端口3锁存器端口1锁存器端口1驱动器端口3驱动器scontl0tmodth1iepconth0sbuftxrx中断串行口和定时器逻辑tcontl1iposcp30p37alepsenxtal2xtal1alu指令寄存器定时与控制指令译码器返回本节2

MCS-51单片机的硬件结构

MCS-51单片机的硬件结构

XTAL1 19
VSS
20
8031 8051 8751
40 VCC 39 P0.0 38 P0.1 37 P0.2 36 P0.3 35 P0.4 34 P0.5 33 P0.6 32 P0.7 31 EA/Vpp 30 ALE/PROG 29 PSEN 28 P2.7
27 P2.6 26 P2.5 25 P2.4 24 P2.3
P1.0 1 P1.1 2 P1.2 3 P1.3 4
P1.4 5 P1.5 6 P1.6 7 P1.7 8 RST/VPD 9
RXD/P3.0
10
TXD/P3.1
11
INT0/P3.2
12
INT1/P3.3
13
T0/P3.4
14
T1/P3.5
15
WR/P3.6
16
RD/P3.7
17
XTAL2 18
17
RD(外部数据存储器读脉
P3.7
冲)
返回本节
2.2 MCS-51单片机的引脚及片外总线结构
2.2.1 MCS-51单片机芯片引脚描述 2.2.2 MCS-51单片机的片外总线结构
返回本章首页
2.2.1 MCS-51单片机芯片引脚描述
图2-7为MCS-51单片机的引脚配置图。 1.主电源引脚VCC和VSS 2.外接晶振引脚XTAL1和XTAL2 3.控制或其他电源复用引脚RST/ VPD、ALE/、 和/VPP 4.输入/输出引脚P0、P1、P2、P3(共32根)
VCC
P2.7 PP22..56 P2.4 P2.3 P2.2 P2.1 P2.0 PPP000...756
P0.3 P0.2 P0.1 P0.0
ALE

MCS-51系列单片机的硬件结构

MCS-51系列单片机的硬件结构

9
பைடு நூலகம்
四、定时器计数器: 定时器计数器: 8031有两个 位的定时器计数器。 有两个16位的定时器计数器 有两个 位的定时器计数器。 五、串行口 8031有一个全双工的串行口。 有一个全双工的串行口。 有一个全双工的串行口 六、中断系统 8031有5个中断源。 有 个中断源 个中断源。 接口, 、 、 、 它们是 七、有四个输入输出(I/O)接口,P0、P1、P2、P3它们是 有四个输入输出 接口 构成计算机系统与外部接口的部件。 构成计算机系统与外部接口的部件。 七部份后面都有章节专门介绍。 四~七部份后面都有章节专门介绍。 七部份后面都有章节专门介绍
3
二、控制器: 控制器: 1.定时控制逻辑: 定时控制逻辑: 定时控制逻辑 (1)时钟 XTAL1 、XTAL2:时钟电路产生计算机工作的统一 ) : 节拍,计算机的每一步动作都由这个节拍控制。 节拍,计算机的每一步动作都由这个节拍控制。时钟电路的构成见 书上P11页所示。 页所示。 书上 页所示 (2)复位信号 )复位信号RESET:当RESET引脚保持两个机器周期以上 : 引脚保持两个机器周期以上 高电平时,单片机内部复位,此时各部份电路均为一个固定的初始 高电平时,单片机内部复位, 状态。复位电路的构成见P29页。复位后各寄存器的初始状态见书 状态。复位电路的构成见 页 上表2-3。 上表 。 (3)地址锁存信号 ALE: ) : (4)外部存储器选通信号 PSEN: ) : (5) 内外存储器选择线 EA: : (6)电源 +5V VCC、接地端 VSS ) 、
(3)30H~7FH字节地址,共80字节,只能字节寻址。 字节地址, 字节, 字节地址 字节 只能字节寻址。 3.片内特殊功能寄存器 片内特殊功能寄存器(SFR) 片内特殊功能寄存器 8031单片机片内 单片机片内SFR共有 个,它们离散地分布在字节地址为 共有21个 单片机片内 共有 80H~FFH之间,见P17页表。每个 之间, 页表。 都有其特殊的用途, 之间 页表 每个SFR都有其特殊的用途,将在后 都有其特殊的用途 续章节中陆续讲到。注意: 续章节中陆续讲到。注意: 之间地址范围有128字节 字节, 只有21个 ★80H~FFH之间地址范围有 字节,而SFR只有 个,其中许 之间地址范围有 只有 空地址无定义,不可操作。 多 空地址无定义,不可操作。 ★SFR中可位寻址的是字节地址可被 除尽的,即地址末位为 或 中可位寻址的是字节地址可被8除尽的 中可位寻址的是字节地址可被 除尽的,即地址末位为0或 8的那些 的那些SFR。 的那些 。 操作时指令中出现的常不是它们的地址而是它们的名字, ★对SFR操作时指令中出现的常不是它们的地址而是它们的名字, 操作时指令中出现的常不是它们的地址而是它们的名字 例如MOV A ,#01H,其中的 就是 就是SFR的名字,其地址是 的名字, 例如 ,其中的A就是 的名字 其地址是E0H。 。 4.片外数据存储器 片外 片外数据存储器(片外 片外数据存储器 片外RAM): : 8031片外数据存储器可扩充 片外数据存储器可扩充64K字节,地址范围是 字节, 片外数据存储器可扩充 字节 地址范围是0000H~FFFFH。 。 见存储器总体结构映象图: 见存储器总体结构映象图:

MCS51单片机的引脚及内部结构

MCS51单片机的引脚及内部结构
﹡P3口(P3.0~P3.7) :8位准双向并行I/O接口。 P3口除 了具有通用I/O口的功能外,同时它的每一个引脚还具有第 二功能。
P3口各引脚对应的第二功能
P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7
RXD TXD /INT0 /INT1 T0 T1
/WR /RD
PSW各位定义
D7H D6H D5H D4H D3H D2H D1H D0H CY AC F0 RS1 RS0 OV — P
(1)CY(PSW.7):进位标志位 (2)AC(PSW.6):辅助进位标志位。 (3)F0 (PSW.5):用户标志位。 (4)RS1、RS0(PSW.4、PSW.3):工作寄存器组选择位。 用于选择CPU当前使用寄存器组。
(二)内部数据存储器低128字节
内部数据存储器低128字节按其用途划分为三个区 •工作寄存器区 •位寻址区 •用户RAM区
片内RAM低128字节的配置
30H~7FH 20H~2FH 18H~1FH 10H~17H 08H~0FH 00H~07H
用户RAM区(数据缓冲区) 位寻址区(00H~7FH) 工作寄存器区3区(R7~R0) 工作寄存器区2区(R7~R0) 工作寄存器区1区(R7~R0) 工作寄存器区0区(R7~R0)
单片机硬件系统
一、MCS-51单片机的引脚及内部结构
(一)89C51单片机的引脚
1、电源引脚: VCC:外接+5V;GND:电源地线。 2、时钟引脚 XTAL1、XTAL2为内部振荡器的两条引出线. 3、控制引脚 (1)ALE/PROG:地址锁存控制信号/编程脉冲输 入端 ﹡ ALE:在系统扩展时,ALE用于控制P0口输出的低 8位地址锁存,以实现低8为地址和数据的隔离。 ﹡ PROG:在EEPROM或EPROM编程期间,该引脚 用来输入一个编程脉冲。

mcs-51系列单片机基本结构与工作原理

mcs-51系列单片机基本结构与工作原理

寄存器间接寻址
直接寻址 直接寻址
直接寻址
寄存器寻址 寄存器间接寻址
(4)MOV 60H,@R1
表2-2 特殊功能寄存器SFR的名称及地址(一)
§ MCS-51的扩展应用
一、单片机扩展的基本概念 1、单片机最小系统:使单片机运行的最少器件构成的 系统,就是最小系统。 无ROM芯片:8031 必须扩展ROM,复位、晶振电路 有ROM芯片:89C51等,不必扩展ROM,只要有复位、 晶振电路 2、扩展使用的三总线: 地址总线:由外部程序存储器取指,P0-低8位; P2-高8位 数据总线:指令输入,P0 控制总线:RD、WR、 ALE、 PSEN
立即数寻址
变址间接寻址 相对寻址 位寻址
程序存储器(操作常数)
程序存储器(@A+DPTR、@A+PC) 程序存储器(修改了PC值) 内部数据存储器及特殊功能寄存器中 某些单元位
Example 判断下列指令各操作数的寻址方式
(1)MOV A , #65H
(2)MOV @R1,65H (3)MOV 30H,R2 寄存器寻址 立即数寻址
(读、 写、地址锁存允许、 外程序存储器读选通)
图2-5 8051特殊功能寄存器地址分布图
二、存储器的扩展
1、随机读写存储器RAM的扩展 :数据存储器一般采用RAM芯片, 这种存储器在电源关断后,存储的数据将全部丢失。有两大类: 动态RAM(DRAM),一般容量较大,易受干扰,使用略复杂。例 2116、2186 静态RAM(SRAM),在工业现场常使用SRAM,例:6264、6116
二、专用寄存器组
1、程序计数器 PC 16位计数器,指向程序存储器中被执行的指令所在的地址。本身没 有地址,在物理上独立。 寻址范围0000~FFFFH的64KB空间。 2、数据指针DPTR 16位地址指针,可寻址范围0000~FFFFH 的64KB空间,可指向程 序、数据存储器。 3、堆栈指针SP 8位地址寄存器,SP用来管理堆栈。它指向内部RAM的一个存储单 元,且总是指向栈顶单元。 MCS-51的堆栈是内部RAM中的一个部分,符合“先进后出、后进 先出”原则。 4、累加器ACC ACC是一个具有特殊用途的8位寄存器,主要用于存放操作数或运算 结果。8051指令系统中多数指令的执行都要通过累加器ACC进行。因此, 在CPU中,累加器的使用频率是很高的。也可简写累加器A。

MCS-51单片机的内部结构

MCS-51单片机的内部结构
作为一般的寄存器用。
整理ppt
6
MCS-51的CPU:运算器 2.寄存器 (3) 程序状态字PSW
➢程序状态字是8位寄存器,用于指示程序运行状态信息。 ➢其中有些位是根据程序执行结果由硬件自动设置的,而 有些位可由用户通过指令方法设定。
PSW中各标志位名称及定义如下:
位序 D7 D6 D5 D4 D3 D2 D1 D0 位标志 C AC F0 RS1 RS0 OV — P
写操作,但可以通过转移、调用、返回等指令改变 其内容,以实现程序的转移。 ✓ PC的寻址范围为64KB,即地址空间为0000~0FFFFH。
整理ppt
14
MCS-51的CPU:控制器
数据指针DPTR
✓ 数据指针DPTR为16位寄存器,它是MCS—51中 唯一的一个16位寄存器。
✓ DPTR通常在访问外部数据存储器时作为地址指 针使用,寻址范围为64KB。
✓ 编程时,既可按16位寄存器使用,也可作为两 个8位寄存器分开使用。DPH 为DPTR的高八位 寄存器,DPL 为DPTR的低八位寄存器。
1
组1
08~0FH
1
0
组2
10~17H
1
1
组3
18~1FH
整理ppt
10
程序状态字PSW
位序 D7 D6 D5 D4 D3 D2 D1 D0 位标志 CY AC F0 RS1 RS0 OV — P
OV:溢出标志位
在带符号数(补码数)的加减中,OV=1表示运算的结果 超出了累加器A的八位符号数表示范围(-128~ +127),产生溢出,因此运算结果是错误的。OV=0, 表示未超出表示范围,运算结果正确。
传送、位与、位或等位操作。另外某些控制转移
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

因此以上地址单元不能用于存放程序的其他内容,只能存放中断服务程序。

但是通常情况下,每段只有8个地址单元是不能存下完整的中断服务程序的,因而一般也在中断响应的地址区安放一条无条件转移指令,指向程序存储器的其它真正存放中断服务程序的空间去执行,这样中断响应后,CPU读到这条转移指令,便转向其他地方去继续执行中断服务程序。

数据存储器
数据存储器也称为随机存取数据存储器。

MCS-51单片机的数据存储器在物理上和逻辑上都分为两个地址空间,一个是内部数据存储区和一个外部数据存储区。

MCS-51内部RAM有128或256个字节的用户数据存储(不同的型号有分别),它们是用于存放执行的中间结果和过程数据的。

MCS-51的数据存储器均可读写,部分单元还可以位寻址。

8051内部RAM共有256个单元,这256个单元共
分为两部分。

其一是地址从00H—7FH单元(共128个字节)
为用户数据RAM。

从80H—FFH地址单元(也是128个字节)
为特殊寄存器(SFR)单元。

从图1中可清楚地看出它们的
结构分布。

在00H—1FH共32个单元中被均匀地分为四块,每
块包含八个8位寄存器,均以R0—R7来命名,我们常称这
些寄存器为通用寄存器。

这四块中的寄存器都称为R0—R7,
那么在程序中怎么区分和使用它们呢?聪明的INTEL工程
师们又安排了一个寄存器——程序状态字寄存器(PSW)来
管理它们,CPU只要定义这个寄存的PSW的第3和第4位(RS0
和RS1),即可选中这四组通用寄存器。

对应的编码关系如
图2所示。

内部RAM的20H—2FH单元为位寻址区,既可作为一般单元用字节寻址,也可对它们的
位进行寻址。

位寻址区共有16个字节,128个位,位地址为00H—7FH。

位地址分配如表1所示,
CPU能直接寻址这些位,执行例如置“1”、清“0”、求“反”、转移,传送和逻辑等操作。


们常称MCS-51具有布尔处理功能,布尔处理的存储空间指的就是这些为寻址区。

特殊功能寄存器
特殊功能寄存器(SFR)也称为专用寄存器,特殊功能寄存器反映了MCS-51单片机的运行状态。

很多功能也通过特殊功
能寄存器来定义和控制程序的执行。

MCS-51有21个特殊功能寄存器,它们被离散地分布在内部RAM的80H—FFH地址中,这些寄存的功能已作了专门的规定,用户不能修改其结构。

表2是特殊功能寄存器分布一览表,我们对其主要的寄存器作一些简单的介绍。

程序计数器PC(program
Counter) Array程序计数器在物理上是独
立的,它不属于特殊内部数据存储
器块中。

PC是一个16
用于存放一条要执行的指令地址,
寻址范围为64kB,PC有自动加1功
能,即完成了一条指令的执行后,
其内容自动加1。

PC本身并没有地
址,因而不可寻址,用户无法对它
进行读写,但是可以通过转移、调
用、返回等指令改变其内容,以控
制程序按我们的要求去执行。

累加器ACC(Accumulator
累加器A是一个最常用的
专用寄存器,大部分单操作指令的
一个操作数取自累加器,很多双操
作数指令中的一个操作数也取自累
加器。

加、减、乘、除法运算的指
令,运算结果都存放于累加器A或
AB累加器对中。

大部分的数据操作
都会通过累加器A进行,它形象于
一个交通要道,在程序比较复杂的
运算中,累加器成了制约软件效率
的“瓶颈”,它的功能较多,地位
也十分重要。

以至于后来发展的单
片机,有的集成了多累加器结构,
或者使用寄存器阵列来代替累加
器,即赋予更多寄存器以累加器的
功能,目的是解决累加器的“交通
堵塞”问题。

提高单片机的软件效
率。

寄存器B
在乘除法指令中,乘法指令中的两个操作数分别取自累加器A和寄存器B,其结果存放于AB寄存器对中。

除法指令中,被除数取自累加器A,除数取自寄存器B,结果商存放于累加器A,余数存放于寄存器B中。

程序状态字(Program Status Word)。

相关文档
最新文档