单片机原理与应用第二章-MCS51单片机体系结构-8031系统结构

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MCS-51单片机中有两个16位的定时器/计数器T0和T1,它 们由4个8位寄存器(TL0, TH0, TL1和TH1)组成,2个16位定时 器/计数器是完全独立的。可以单独对这4个寄存器进行寻址,但 不能把T0和T1当做16位寄存器来使用。
(10)串行数据缓冲器(SBUF)
串行数据缓冲器SBUF用于存放需要发送和接收的数据,它 由两个独立的寄存器组成(发送缓冲器和接收缓冲器),要发 送和接收的操作其实都是对串行数据缓冲器SBUF进行的。
1051(1K)/2051(2K)/4051(4K) 128 (20条引脚DIP封装)
2
15
1
5
89C系列
(常用型)
89C51(4K)/89C52(8K) (40条引脚DIP封装)
128/ 256
2/3
32
1 5/6
8051的存储器结构
1.特点:8051的存储器结构与常见的微型计算机的配置方式不 同,它把程序存储器和数据存储器分开,有各自的寻址系 统、控制信号和功能。
0FFFH 4KB ROM
EA 1
0000H
1000H 0FFFH
EA 0
0000H
0000H
片内存储器
片外扩展存储器
三个逻辑空间:
片内外统一寻址的64KB程序存储器空间,地址范围为0000H~ FFFFH。
64KB的片外数据存储器空间,地址范围也为0000H~FFFFH。
256B的片内数据存储器空间,地址范围为00H~FFH。
(2)累加器A (Accumulator)
累加器A是8位寄存器,又记做ACC,是一个最常用的专 用寄存器。在算术/逻辑运算中用于存放操作数或结果。
(3)寄存器B
寄存器B 是8位寄存器,是专门为乘除法指令设计的,也 作通用寄存器用。
(4)工作寄存器 内部RAM的工作寄存器区00H~1FH共32个字节被均匀地分
一般将随机存储器(RAM)用做数据存储器。可寻址空间为 64KB。MCS-51数据存储器可分为片内和片外两部分。
片外RAM:
最大范围:0000H~FFFFH, 64KB;用指令MOVX访问。
片内RAM:
最大范围:00H~FFH, 256B;用指令MOV访问。又分 为两部分:低128B(00~7FH) 为真正的RAM区,高128B (80~FFH)为特殊功能寄存器 (SFR)区。如右图所示。
(1)运算器
组成:8位算术逻辑运算单元ALU(Arithmetic Logic Unit)、 8位累加器A(Accumulator)、8位寄存器B、程序状态字寄 存器PSW(Program Status Word)、8位暂存寄存器TMP1 和TMP2等。
功能:完成算术运算和逻辑运算。
(2)控制器
组成:程序计数器PC(Program Counter)、指令寄存器IR (Instruction Register)、指令译码器ID(Instruction Decoder)、堆栈指针SP、数据指针DPTR、定时控制逻辑 和振荡器OSC等电路。
其中C6为D6向D7的进位标志。
分析:1.若将数据当作无符号数进行运算,则CY=1表示 结果大于255。
2.若将数据当作带符号数进行运算,则OV=1表示 溢出,结果出错;OV=0,结果正确。
(6)数据指针DPTR(Data Pointer)
数据指针DPTR是16位的专用寄存器,即可作为16位寄存器 使用,也可作为两个独立的8位寄存器DPH (高8位) 、DPL (低8位)使用。 DPTR主要用作16位间址寄存器,访问程序存 储器和片外数据寄存器。 (7)堆栈指针SP(Stack Pointer)
8031最小应用系统
P0口作为地址/数据总线;P2口 作为地址总线(高8位)
外接程序 存储器
在程序存储器中,以下6个单元具有特殊含义 0000H:单片机复位后的程序入口地址。 0003H:外部中断0的中断服务程序入口地址。 000BH:定时器0的中断服务程序入口地址。 0013H:外部中断1的中断服务程序入口地址。 001BH:定时器1的中断服务程序入口地址。 0023H:串行口的中断服务程序入口地址。
成四个组(区),每个组(区)有8个寄存器,分别用R0~R7表 示,称为工作寄存器或通用寄存器,其中,R0、R1还经常用于 间接寻址的地址指针。在程序中通过程序状态字寄存器(PSW) 第3、4位设置工作寄存器区。
(5)程序状态字PSW (Program Status Word) 程序状态字PSW是8位寄存器,用于存放程序运行的状态信
中 断 源
Intel 51
子系列
8031 8051 80C31 80C51
百度文库
8751 128 87C51 字节
(4K字节) (4K字节)
2x16
4x8位
1
5
Intel 52
子系列
8032 8052
8752
256
80C32 80C52 87C52 字节
(8K字节) (8K字节)
3x16
4x8位
1
6
ATEML
2.配置:8051的存储器在结构上分为片内数据存储器、片内程 序存储器、片外数据存储器和片外程序存储器4个存储空间。 但从用户使用的角度看,8051的存储器分为3个逻辑空间。
存储空间分布图
FFFFH
64KB ROM
FFFFH 64KB RAM
(I/O)RAM
FFH SFR
80H 7FH RAM 00H
功能:CPU根据PC中的地址将欲执行指令的指令码从存储器中 取出,存放在IR中,ID对IR中的指令码进行译码,定时控制 逻辑在OSC配合下对ID译码后的信号进行分时,以产生执行 本条指令所需的全部信号。
系列

片内存储器(字节) 片内ROM 有ROM 有EPROM
片内 RAM
定时器 计数器
并行 串行 I/O I/O
1.2.1 MCS-51单片机的内部结构
MCS-51单片机的组成: CPU(进行运算、控制)、RAM(数 据存储器)、ROM(程序存储器)、I/O口(串口、并口)、 内部总线和中断系统等。组成框图如下:
1. 中央处理器(CPU)
组成:运算器、控制器。8051的CPU包含以下功能部件: (1)8位CPU。 (2)布尔代数处理器,具有位寻址能力。 (3)128B内部RAM数据存储器,21个专用寄存器。 (4)4KB内部掩膜ROM程序存储器。 (5)2个16位可编程定时器/计数器。 (6)32个(4×8位)双向可独立寻址的I/O口。 (7)1个全双工UART(异步串行通信口)。 (8)5个中断源、两级中断优先级的中断控制器。 (9)时钟电路,外接晶振和电容可产生1.2MHz~12 MHz的时钟频率。 (10)外部程序/数据存储器寻址空间均为64KB。 (11)111条指令,大部分为单字节指令。 (12)单一+5V电源供电,双列直插40引脚DIP封装。
5.定时器/计数器
8051内部有两个16位可编程序的定时器/计数器,均为 二进制加1计数器,分别命名为T0和T1。
(1)程序计数器PC(Program Counter)
程序计数器PC在物理上是独立的,它不属于SFR存储器块。 PC是一个16位的计数器,专门用于存放CPU将要执行的指令 地址(即下一条指令的地址),寻址范围为64KB,PC有自动 加1功能,不可寻址,用户无法对它进行读写,但是可以通过 转移、调用、返回等指令改变其内容,以控制程序执行的顺序。
SP
74H 73H
72H 34H 71H 12H 70H
(8)I/O口专用寄存器(P0, P1, P2, P3)
8051片内有4个8位并行I/O接口P0, P1, P2和P3,在SFR中相 应有4个I/O口寄存器P0, P1, P2和P3。
(9)定时器/计数器(TL0, TH0, TL1和TH1)
注意:上述存储区的划分不是绝对的。
存储器的访问
FFFFH
64KB ROM
FFFFH 64KB RAM
(I/O)RAM
FFH SFR
80H 7FH RAM 00H
0FFFH 4KB ROM
EA 1
0000H
1000H 0FFFH
EA 0
0000H
0000H
MOV指令
片内存储器
MOVC指令 PSEN(-)信号
(11)其他控制寄存器
除上述外,还有IP, IE, TCON, SCON和PCON等几个寄存器, 主要用于中断、定时和串行口的控制,
I/O接口是MCS-51单片机对外部实现控制和信息交换的 必经之路,用于信息传送过程中的速度匹配和增加它的负 载能力。
8051内部有4个8位并行接口P0, P1, P2, P3,有1个全双 工的可编程串行I/O接口。
息,PSW中各位状态通常是在指令执行的过程中自动形成的, 但也可以由用户根据需要采用传送指令加以改变。其定义格式 如下页表所示。
其中:Cy:进借位标志;
AC:辅助进借位标志;
F0 :用户标志; RS1、RS0:工作寄存器组(区)选择(如下表所示); OV:溢出标志位,两个带符号数运算,若有溢出(结果超 出-128~+127时)置1;
MCS-51的存储器可分为程序存储器和数据存储器,又 有片内和片外之分。 (1)程序存储器
一般将只读存储器(ROM)用做程序存储器。可寻址 空间为64KB,用于存放用户程序、数据和表格等信息。
MCS-51单片机按程序存 储器可分为内部无ROM型 (如8031)和内部有ROM型 (如8051)两种,连接时 EA 引脚有区别。程序存储器结 构如右图所示:
片外扩展存储器
MOVX指令 RD(-) WR(-)
MCS-51有21个特殊功
能寄存器(也称为专用寄 存器),包括算术运算寄 存器、指针寄存器、I/O口 锁存器、定时器/计数器、 串行口、中断、状态、控 制寄存器等,它们被离散 地分布在内部RAM的 80H~FFH地址单元中(不 包括PC) ,共占据了128 个存储单元,构成了SFR存 储块。其字节地址可被8整 除的SFR可位寻址。SFR反 映了MCS-51单片机的运行 状态。特殊功能寄存器分 布如右表所示。
内部RAM的 20H~2FH单元为 位寻址区,既可 作为一般单元用 字节寻址,也可 对它们的位进行 寻址。位地址为 00H~7FH。 CPU 能直接寻址这些 位(称MCS-51具 有布尔处理功 能),位地址分 配如右表所示。
数据缓冲 与堆栈区
位地址(二进制 位的地址)
单元地址
工作寄存器区共有32个单 元,地址00H~1FH,分为4 组,每组有8个工作寄存器 (R0~R7)。
堆栈是一种数据结构,是内部RAM的一段区域。堆栈存取 数据的原则是“后进先出”。堆栈指针SP是一个8位寄存器,用 于指示堆栈的栈顶,它决定了堆栈在内部RAM中的物理位置。
MCS-51单片机的堆栈地址向大的方向变化(与微机堆栈地 址向小的方向变化相反)。系统复位后,SP初值为07H,实际应 用中通常根据需要在主程序开始处对堆栈指针SP进行初始化, 一般设置SP为60H。
P:奇偶标志位。A中有奇数个1时置1,否则P=0。
例:
1100 1011 +)1 1 1 1 1 0 0 0
1 1100 0011 CY=1 AC=1 P=0 OV= CY C6 =0
0101 0100 +)0 1 1 0 1 0 0 1
1011 1101 CY=0 AC=0 P=0
OV= CY C6 =1
SP自动加1,SP=72H;将数据34H压入SP所指的堆栈单元(72H )。
如图所示:
初始状态
反之,现在要将堆栈单元的内容弹出的话,过程如下: 将SP所指堆栈单元(72H)的内容34H弹出;SP自动减1,SP=71H; 将SP所指堆栈单元(71H)的内容12H弹出;SP自动减1,SP=70H。
初始状态
设立堆栈的目的是用于数据的暂存,中断、子程序调用时 断点和现场的保护与恢复。
堆栈 什么是堆栈?
是RAM中一个 专用的连续存 储区,是一种 单端读写操作 的存储结构。 51单片机的堆 栈在片内RAM 开辟。
例:假设SP=70H,将数据12H、34H依次压入堆栈的过程 如下。
SP自动加1,SP=71H;将数据12H压入SP所指的堆栈单元(71H );
2.1 MCS51单片机硬件结构及引脚 2.2 MCS51单片机外部引脚 2.3 MCS51单片机的工作方式 2.4 单片机的时序 2.5 中断系统
MCS-51系列单片机都是以Intel公司最早的典型产品8051 为核心,增加了一定的功能部件后构成的,因此,本章以 8051为主介绍MCS-51系列单片机 。
相关文档
最新文档