MCS-51单片机存储器结构

合集下载

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

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 运算器

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个中断源

2.2MCS—51单片机的存储器

2.2MCS—51单片机的存储器

2.2 MCS—51单片机的存储器MCS-51的存储器结构与常见的微型计算机的配置方式不同,它把程序存储器和数据存储器分开,各有自己的寻址系统、控制信号和功能。

程序存储器用来存放程序和始终要保留的常数,数据存储器通常用来存放程序运行中所需要的常数或变量。

MCS-51的存储器结构如图2.4所示。

在本节中我们将对单片机的内部数据存储器、内部程序存储器和外部存储器分别作一介绍。

图2.4 MCS-51存储器配置2.2.1 内部数据存储器对于8051单片机,其内部共有256个数据存储器单元,其中低128字节(00H~7FH)为真正的用户RAM区,其空间分配如图2.5所示;高128字节(80H~FFH)为特殊功能寄存器区。

1. 内部数据存储器低128单元在低128字节存储单元中,前32个单元(00H~1FH)作为工作寄存器使用,这32个寄存器分作4组,每组由8个通用寄存器(R0~R7)组成,组号依次为0、1、2和3。

通过对程序状态字中RS1和RS0的设置,可以决定选用哪一组工作寄存器,通常没有选中的单元也可作为一般的数据缓存使用。

系统上电复位时,默认选中第0组寄存器。

在表2-1中给出了工作寄存器地址表。

表2-1 工作寄存器地址表工作寄存器中R0和R1可以进行直接寻址或间接寻址,而R2~R7只可以进行直接寻址。

通用寄存器为CPU提供了数据就近存取的便利,大大提高了单片机的处理速度。

在工作寄存器后的16个数据单元(20H~2FH),它们既可以作为一般的数据单元使用,由可以按位对每个单元进行操作,因此这16个数据单元又称作位寻址区。

位寻址区共计128位,其位地址为00H~0FH,位地址表如表2-2。

表2-2 内部RAM位寻址区的位地址。

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单片机的串行口及控制寄存器

位序
B7
B6
B5
B4
B3
B2
B1
B0
位符
smod
/
/
/
GF1
Hale Waihona Puke GF0PDIDL

PD和IDL:是CHMOS单片机用于进入低功耗方式的控制位,在第 2章中已介绍过这两位的应用。
GF1和GF0:用户使用的一般标志位。
smod:串行口波特率倍增位,当smod=1时,串行口波特率增加 1倍。系统复位时,smod=0。
位地 址
位符 号
0AFH 0AEH 0ADH 0ACH 0ABH 0AAH 0A9H 0A8 H
EA
/
/
ES
ET1
EX1
ET1 EX0
其中与串行口有关的是ES位。当ES=0时,禁止串行口的中断; 当ES=1时,表示允许串行口中断。EX0、ET0、EX1、ET1分别表示 对外中断0、定时器/计数器0、外中断1、定时器/计数器1个中断 源的中断允许控制,EA是中断总允许控制位,详见本书第5章介绍。
PCON寄存器的B6、B5、B4位未定义。
3. 中断允许寄存器IE
中断允许寄存器IE,是MCS-51单片机中实现是否开放某 中断源中断的控制寄存器,在第5章中已做过介绍。IE寄存 器 是 可 寻 址 的 寄 存 器 , 其 字 节 地 址 为 0 A8H, 位 地 址 由 0A8H~0AFH,IE寄存器各位定义如下:
0BBH PT1
0BAH PX1
0B9H PT0
0B8H
PX0
其中与串行口有关的是PS位,当PS=0时,表示串行口中断处于 低优先级别;当PS=1时,表示串行口中断处于高优先级别。PX0、 PT0、PX1、PT1分别控制外中断0、定时器/计数器0、外中断1、定 时器/计数器1中断源的中断优先级别,详见本书第5章介绍。

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

小结:
堆栈是一个“后进先出”的 内部RAM区,在数据进出堆 栈时,SP的值将自动增减, 但始终指向最后进入或即将 弹出数据的单元(即栈顶)
SP当前值
栈 顶
35H 34H 33H 32H 数据进入堆栈称“进栈(压栈)” 31H 数据从堆栈取出称“出栈(弹栈)” 30H
压栈:先SP增1,然后装入数据 出栈:先取出数据,然后SP减1。

三、专用功能寄存器 (特殊功能寄存器)SFR

MCS-51单片机内各种控制 寄存器和状态寄存器都是以 专用功能寄存器(或称特殊 功能寄存器)的形式出现的, 它们的地址分布在80H~FFH 区间。 每个寄存器都有相应的地址, 可以象访问内部RAM一样访 问。 MCS-51共有21个寄存器,只 占80H~FFH中的一部分,PC 除外。
总结§2.2 存储器
一、程序存储器 二、片内数据存储器(分三个区) 三、专用寄存器(特殊功能寄存器) 四、位存储器 五、外部数据存储器
片 内
§2.3 并行输入/输出端口结构
PSW各位定义如下
⑸. OV (PSW.2)溢出标志
当执行算术指令时,由硬件置位或清零,以指示溢出状态。 ①当执行加法或减法指令时有: OV = Cs ㈩ Cp 加法:用Cs和Cp表示有进位 减法:用Cs和Cp表示有借位
②无符号数乘法或除法指令 :执行结果也会影响OV标志,详 见MUL和DIV指令的说明。
ห้องสมุดไป่ตู้
介绍几个常用SFR
1、累加器 ACC
累加器是一个最常用的专用寄存器。大多数单操作数指令的 操作数取自累加器,很多双操作数指令的一个操作数也 取自累加器
2、B寄存器
在乘除指令中用到了B寄存器,在其它指令中,B寄存器可 以用作计数器或一般RAM单元。

2 MCS-51系列单片机的结构和原理

2 MCS-51系列单片机的结构和原理

0023H~002AH
地址去执行程序
串行中断地址区
中断响应后,系统能按中断种类,自动转到各中断区的首
但8个单元难以存下一个完整的中断服务程序, 故一般在中断地址区首地址开始存放一条无条件转移指令
JMP、 AJMP以便中断响应后,通过中断地址区,转到
中断服务程序的实际入口地址去
2.3.4 堆栈操作 堆栈只允许在其一端进行数据插入和数据删除操作的线性表 数据写入堆栈称为插入运算(入栈),PUSH 从堆栈中读出数据称为删除运算(出栈),POP
地址:80H~FFH 存放相应功能部件 的控制命令、状态 或数据 21个专用寄存器
(SFR)
(1)累加器A (Accumulator) 累加器A是8位寄存器,又记做ACC,是一个最常用的专用 寄存器。在算术/逻辑运算中用于存放操作数或结果。
(2)寄存器B 寄存器B 是8位寄存器,是专门为乘除法指令设计的,也 作通用寄存器用。
I/O口P0、P1、P2、P3集数据输入缓冲、数据输出驱动及锁
存等多项功能于一体
• 字节地址为90H,位地址为90H~97H,只作通用I/O口使用. • 由一个数据输出锁存器、两个三态输入缓冲器和输出驱动电 路组成。 内有电阻, 输出时无需 外接上拉电 阻 P1口作输出口 使用时: 内部总线 输出数据给输 出数据锁存器 的输入数据线 D.
1. 芯片封装形式
双列直插式DIP(Dual In line Package) 44引脚方形扁平式QFP(Quad Flat Package)
2. 芯片引脚介绍
1)输入/输出口线 4个8位双向口线
2)ALE 地址锁存控制信号 • 在系统扩展时,用于控制把P0口输出的低8位地址
送入锁存器锁存起来,以实现低位地址和数据的分

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 串行中断地址区。

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)。

1
2
3
4
8051 1
2
3
16
0013H ——外中断1入口
001BH —— T1溢出中断入口
0023H ——串口中断入口
002BH —— T2溢出中断入口
内部数据存储器RAM
物理上分为两大区:00H ~ 7FH即128B内RAM 和SFR区。

作用:作数据缓冲器用。

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

那么设
8031
8051
8031 8031
8051
40
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。

位地址分配如下表所示:
10
3
1283216
80
128
128
51128。

相关文档
最新文档