2 mcs-51 单片微机系统结构

32
2 MCS-51 单单单单单 单单

Upload: eamon

Post on 06-Jan-2016

110 views

Category:

Documents


0 download

DESCRIPTION

2 MCS-51 单片微机系统结构. 一、 MCS-51 单片机的逻辑结构. 1. 基本组成. 2. 内部逻辑结构. CPU 以 ALU 为中心的运算器 以定时控制逻辑为中心的控制器 内部数据寄存器 字节地址 00H ~ 7FH 内部程序存储器 8051 系列 4K 字节 字节地址 0000H ~ 0FFFH 定时 / 计数器 8051 系列 2×16 位 8052 系列 3×16 位. 并行 I/O 口 P0 、 P1 、 P2 、 P3 共 4 组 32 根 I/O 口线 一个全双工串行口 中断系统 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 2  MCS-51 单片微机系统结构

2 MCS-51 单片微机系统结构

Page 2: 2  MCS-51 单片微机系统结构

一、一、 MCS-51MCS-51 单片机的逻辑结构单片机的逻辑结构

1.1. 基本组成基本组成

CPU

4K ROM 128 RAM

I/O

2×16T/C

总线

总线扩展控制 串行口

振荡器及定时电路

中断

中断 并行I /O口 输入 输出

定时/计数器频率基准源

Page 3: 2  MCS-51 单片微机系统结构

2.2. 内部逻辑结构内部逻辑结构

Page 4: 2  MCS-51 单片微机系统结构

①① CPU CPU

以以 ALUALU 为中心的运算器为中心的运算器以定时控制逻辑为中心的控制器以定时控制逻辑为中心的控制器

②② 内部数据寄存器内部数据寄存器字节地址 字节地址 00H00H ~~ 7FH 7FH

③③ 内部程序存储器内部程序存储器80518051 系列 系列 4K4K 字节字节字节地址 字节地址 0000H0000H ~~ 0FFFH0FFFH

④④ 定时定时 // 计数器计数器80518051 系列 系列 2×162×16 位位80528052 系列 系列 3×163×16 位位

Page 5: 2  MCS-51 单片微机系统结构

⑤⑤ 并行并行 I/OI/O 口口P0P0 、、 P1P1 、、 P2P2 、、 P3 P3 共共 44 组 组 3232 根根 I/OI/O 口线口线

⑥⑥ 一个全双工串行口一个全双工串行口⑦⑦ 中断系统中断系统

中断系统是为了使单片机具有实时控制能力而设中断系统是为了使单片机具有实时控制能力而设计的内部电路,两个优先级计的内部电路,两个优先级

⑧⑧ 时钟电路时钟电路⑨⑨ 位处理器(图中未画出)位处理器(图中未画出)

将将 PSWPSW 中的中的 CyCy 位作为位累加器使用位作为位累加器使用⑩⑩ 总线总线

Page 6: 2  MCS-51 单片微机系统结构

二、二、 80518051 单片微机引脚功能说明单片微机引脚功能说明

Page 7: 2  MCS-51 单片微机系统结构

①① 主电源引脚(主电源引脚( VssVss 、、 VccVcc )) 2020 脚、脚、 4040 脚脚②② 外部振荡器引脚(外部振荡器引脚( XTAL1XTAL1 、、 XTAL2XTAL2 )) 1919 脚、脚、 1818 脚脚③③ 控制、选通或电源复用引脚控制、选通或电源复用引脚

RST/ VRST/ VPDPD (( 99 脚):复位输入脚):复位输入 // 备用电源输入复用备用电源输入复用 ALE/ PROGALE/ PROG (( 3030 脚):允许地址锁存信号输出脚):允许地址锁存信号输出 //

编程脉冲输入编程脉冲输入 PSENPSEN (( 2929 脚):访问外部程序存储器选通信号脚):访问外部程序存储器选通信号 EA/ VEA/ VPPPP (( 3131 脚):访问内部或外部程序存储器脚):访问内部或外部程序存储器

选择信号选择信号 // 编程电压输入编程电压输入④④ 多功能多功能 I/OI/O 口引脚口引脚

P0P0 口(口( 3232 ~~ 3939 脚)脚) P1P1 口(口( 11 ~~ 88 脚)脚) P2P2 口(口( 2121 ~~ 2828 脚)脚) P3P3 口(口( 1010 ~~ 1717 脚):提供第二特殊功能脚):提供第二特殊功能

(( RXD/TXD/INTRXD/TXD/INT00/INT/INT11/T/T00/T/T11/WR/RD/WR/RD ))

Page 8: 2  MCS-51 单片微机系统结构

三、中央处理器三、中央处理器 CPUCPU

运算器运算器

运算器包括算术/逻辑运算部件运算器包括算术/逻辑运算部件 (ALU)(ALU) 、布尔处、布尔处理器、暂存器、累加器理器、暂存器、累加器 AA 、寄存器、寄存器 BB 、程序状态字寄、程序状态字寄存器(存器( PSWPSW )等等。运算器主要用于实现算术)等等。运算器主要用于实现算术 // 逻辑逻辑运算、位操作运算和数据传送等操作。下面介绍运算器运算、位操作运算和数据传送等操作。下面介绍运算器的各组成部分。的各组成部分。

11 、算术/逻辑部件、算术/逻辑部件 ALUALU

22 、累加器、累加器 AA

33 、寄存器、寄存器 BB

44 、程序状态字寄存器、程序状态字寄存器 PSWPSW

CPUCPU 包括运算器和控制器二大部分。包括运算器和控制器二大部分。

Page 9: 2  MCS-51 单片微机系统结构

【累加器【累加器 AA 】】

地址:地址: E0HE0H

存放操作数,是存放操作数,是 ALUALU 输入的一个重要来源输入的一个重要来源 是是 ALUALU 运算结果的暂存单元,用于存放运算的运算结果的暂存单元,用于存放运算的

中间结果中间结果 是数据传送的中转站,单片机中的大部分数据传是数据传送的中转站,单片机中的大部分数据传

送都通过累加器进行送都通过累加器进行 在变址寻址方式中把累加器作为变址寄存器使用在变址寻址方式中把累加器作为变址寄存器使用

Page 10: 2  MCS-51 单片微机系统结构

【寄存器【寄存器 BB 】】 主要用于乘除运算主要用于乘除运算 乘法:乘积的高乘法:乘积的高 88 位存于位存于 BB 中,低中,低 88 位存于位存于 AA 中中 除法:除法: BB 中为余数,中为余数, AA 中为商值中为商值 例如:例如: MUL ABMUL AB A×B→A×B→ (( BABA )) BB 中高中高 88 位位

AA 中低中低 88 位位 DIV ABDIV AB A÷B→A÷B→ (( AA ) 商) 商

(( BB ) 余) 余数数

Page 11: 2  MCS-51 单片微机系统结构

【程序状态字【程序状态字 PSWPSW 】】

CCYY(PSW(PSW··7):7): 进位标志位。在进行加法(或减法)运算时,若运算结进位标志位。在进行加法(或减法)运算时,若运算结果最高位有进位或借位,则果最高位有进位或借位,则 CCYY 自动置“自动置“ 1”1” ,否则,否则 CCYY 置“置“ 0”0” ,在,在进行布尔操作运算时,进行布尔操作运算时, CCYY (简称(简称 CC )作为布尔累加器。)作为布尔累加器。

AC(PSWAC(PSW··6):6): 辅助进位标志位。当进行加法或减法时,若低辅助进位标志位。当进行加法或减法时,若低 44 位向位向高高 44 位有进位(或借位)时,位有进位(或借位)时, ACAC 被置“被置“ 1”1” ,否则,否则 ACAC 被置“被置“ 0”0” 。。在十进制调整指令中在十进制调整指令中 ACAC 还作为十进制调整的判别位。还作为十进制调整的判别位。

F0(PSWF0(PSW··5):5): 用户标志位。用户可用软件对用户标志位。用户可用软件对 F0F0 位置“位置“ 1”1” 或清“或清“ 0”0”

以决定程序的流向。以决定程序的流向。 OV(PSWOV(PSW··2):2): 溢出标志位,当运算结果溢出时溢出标志位,当运算结果溢出时 OVOV 置“置“ 1”1” ,否则为,否则为

““ 0”0” ,此标志位反映了运算结果是否溢出。,此标志位反映了运算结果是否溢出。 OVOV == CC77○C○C66

有符号数超过范围:有符号数超过范围: -128-128 ~~ 127 127 乘法积超过乘法积超过 255 255 除数为除数为 00

Page 12: 2  MCS-51 单片微机系统结构

【程序状态字【程序状态字 PSWPSW 】】 (( 续续 )) PSW.1PSW.1 :未定义位。:未定义位。 PP (( PSWPSW··00 ):奇偶标志位。):奇偶标志位。 MCS-51MCS-51 单片机采用的是单片机采用的是偶偶校验。校验。

当累加器当累加器 AA 中“中“ 1”1” 的个数为奇数时,的个数为奇数时, PP 置“置“ 1”1” ,否则,否则 PP 置“置“ 0”0” 。。此位反映累加器此位反映累加器 AA 中内容“中内容“ 1”1” 的奇偶性,它常常用于机间通信。的奇偶性,它常常用于机间通信。

RS1(PSWRS1(PSW··4)4) 、、 RS0(PSWRS0(PSW··3)3) :工作寄存器组选择位。用来选择:工作寄存器组选择位。用来选择当前工作的寄存器组。每个寄存器组有当前工作的寄存器组。每个寄存器组有 88 个个 88 位得工作寄存器。位得工作寄存器。用户通过改变用户通过改变 RS1 RS1 、、 RS0RS0 的内容来选择当前工作寄存器组。的内容来选择当前工作寄存器组。 RSRS

11 、、 RS0RS0 的内容与工作寄存器组的对应关系如表所示。的内容与工作寄存器组的对应关系如表所示。

Page 13: 2  MCS-51 单片微机系统结构

控制器 控制器 

11 )指令寄存器)指令寄存器 IRIR 和指令译码器和指令译码器 IDID

指令寄存器是存放指令代码的地方。当执行指指令寄存器是存放指令代码的地方。当执行指

令时,令时, CPUCPU 把从程序存储器中读取的指令代码送入把从程序存储器中读取的指令代码送入

指令寄存器,然后指令译码器译码后由定时控制电路指令寄存器,然后指令译码器译码后由定时控制电路

发生相应的控制信号,最终完成指令所规定的操作。发生相应的控制信号,最终完成指令所规定的操作。

Page 14: 2  MCS-51 单片微机系统结构

22 )程序计数器)程序计数器 PCPC (( 1616 位)位)程序计数器程序计数器 PCPC 的功能与普通微机相同,它用来的功能与普通微机相同,它用来

存放存放 CPUCPU 执行的下一条指令的地址。当一条指令按照执行的下一条指令的地址。当一条指令按照PCPC 所指的地址从程序存储器中取出后,所指的地址从程序存储器中取出后, PCPC 会自动加会自动加11 ,指向下一条指令。程序计数器,指向下一条指令。程序计数器 PCPC 是一个是一个 1616 位的寄位的寄存器,可寻址存器,可寻址 64KB64KB 的程序存储器空间。不可对的程序存储器空间。不可对 PCPC 寻寻址,不能读写。址,不能读写。

33 )堆栈指针)堆栈指针 SPSP (( 88 位)位) 遵循先进后出的原则,遵循先进后出的原则, SPSP 总是指向栈顶且装有数总是指向栈顶且装有数

据据 .. 数据称为堆栈元素。数据称为堆栈元素。44 )数据指针)数据指针 DPTRDPTR (( 1616 位)位)

DPHDPH :: DPTRDPTR 的高位字节,的高位字节,DPLDPL :: DPTRDPTR 的低位字节的低位字节

Page 15: 2  MCS-51 单片微机系统结构

四、时钟电路、时序四、时钟电路、时序 振荡电路振荡电路

Page 16: 2  MCS-51 单片微机系统结构

时钟电路时钟电路

振荡器

÷2Q

Q P1

P2

ALE

机器周期

÷3

÷6

XTAL1

XTAL2

内部时钟电路

S1

P1 P2

S2

P1 P2

P2

P1二分

Page 17: 2  MCS-51 单片微机系统结构

时序时序

11 )基本概念)基本概念

(( 11 )振荡周期 )振荡周期 TToscosc

振荡周期指为单片机提供定时信号的振荡源的周期,振荡周期指为单片机提供定时信号的振荡源的周期,即晶体振荡器直接产生的振荡信号的振荡周期。即晶体振荡器直接产生的振荡信号的振荡周期。

(( 22 )时钟周期 )时钟周期 SS

时钟周期是振荡周期的两倍。是对振荡器时钟周期是振荡周期的两倍。是对振荡器 22 分频的分频的信号。时钟周期又称状态周期,用信号。时钟周期又称状态周期,用 SS 来表示,一个时钟周来表示,一个时钟周期,分为两个节拍,期,分为两个节拍, P1P1 和和 P2P2 节拍。节拍。 P1P1 节拍通常完成算节拍通常完成算术逻辑操作,术逻辑操作, P2P2 节拍通常完成内部寄存器间数据的传递。节拍通常完成内部寄存器间数据的传递。

Page 18: 2  MCS-51 单片微机系统结构

(( 33 )机器周期)机器周期一个机器周期由一个机器周期由 66 个时钟周期组成,即个时钟周期组成,即 S1S1 ~~ SS

66 ,如果把一条指令的执行过程划分为几个基本操作,,如果把一条指令的执行过程划分为几个基本操作,则完成一个基本操作所需的时间称为机器周期。 则完成一个基本操作所需的时间称为机器周期。

(( 44 )指令周期)指令周期指令周期是执行一条指令所需的全部时间。指令周期是执行一条指令所需的全部时间。 MCMC

S-51S-51 单片机的指令周期通常由单片机的指令周期通常由 11 ~~ 44 个机器周期组成。个机器周期组成。22 )时序之间的关系)时序之间的关系

振荡周期振荡周期 TTocsocs == 1/f1/foscosc

时钟周期时钟周期 SS== 2T2Toscosc

地址锁存有效信号地址锁存有效信号 ALE=6TALE=6Toscosc

机器周期=机器周期= 12T12Toscosc

指令周期=指令周期= 11 ~~ 44 个机器周期个机器周期

Page 19: 2  MCS-51 单片微机系统结构

『练一练』

若若 MCS-51MCS-51 单片机外接晶振为单片机外接晶振为 12MHz12MHz 时,则单时,则单片机的四个周期的具体值为:片机的四个周期的具体值为:振荡周期=振荡周期= 1/12MHz1/12MHz == 1/12μs1/12μs == 0.0833μs0.0833μs

时钟周期=时钟周期= 1/6μs1/6μs == 0.167μs0.167μs

机器周期=机器周期= 1μs1μs

指令周期=指令周期= 11 ~~ 4μs4μs

Page 20: 2  MCS-51 单片微机系统结构

33 )几种典型的取)几种典型的取指指 // 执行时序执行时序(( 11 )单字节单)单字节单周期指令周期指令(( 22 )双字节单)双字节单周期指令周期指令(( 33 )单字节双)单字节双周期指令周期指令(( 44 )访问外部)访问外部数据存储器指令数据存储器指令MOVXMOVX 时序时序

Page 21: 2  MCS-51 单片微机系统结构

五、并行五、并行 I/OI/O 口结构口结构

字节地址:字节地址: 80H 80H 位地址:位地址: 80H80H ~~ 87H87H

P0P0 口有8位口线,是漏极开路的准双向口有8位口线,是漏极开路的准双向 I/OI/O 口、亦口、亦是低是低 88 位地址位地址 // 数据总线口。结构如图所示。数据总线口。结构如图所示。

P0.n锁存器

P0.n

Q

QD

读锁存器

写锁存器

内部总线

读引脚

T1

T2

VCC

MUX

/地址 数据 控制

【【 P0P0 口】口】

Page 22: 2  MCS-51 单片微机系统结构

【【 P1P1 口】口】字节地址:字节地址: 90H 90H 位地址:位地址: 90H90H ~~ 97H97H

P1P1 口是一个专用的口是一个专用的 88 位准双向位准双向 I/OI/O 口,只具有通用输口,只具有通用输入入 // 输出口功能,内部自带上拉电阻。作输入时应先向其输出口功能,内部自带上拉电阻。作输入时应先向其锁存器写入“锁存器写入“ 1”1” 使得使得 FETFET截止。它的位结构如图所示。截止。它的位结构如图所示。

P1.n锁存器

P1.n

Q

QD

读锁存器

写锁存器

内部总线

读引脚

内部上拉电阻

T

VCC

Page 23: 2  MCS-51 单片微机系统结构

【【 P2P2 口】口】字节地址:字节地址: A0H A0H 位地址:位地址: A0HA0H ~~ A7HA7H

P2P2 口是一个口是一个 88 位准双向位准双向 I/OI/O 口,具有两种功能。一是作通口,具有两种功能。一是作通用用 I/OI/O 口用,与口用,与 P1P1 口相同。二是作系统扩展外部存储器的高口相同。二是作系统扩展外部存储器的高88 位地址总线。输出高位地址总线。输出高 88 位地址,与位地址,与 P0P0 口一起组成口一起组成 1616 位地址位地址总线。它的位结构如图所示。总线。它的位结构如图所示。

P2.n锁存器

P2.n

Q

QD

读锁存器

写锁存器

内部总线

读引脚

T

VCC地址 控制

内部上拉电阻

MUX

Page 24: 2  MCS-51 单片微机系统结构

【【 P3P3 口】口】字节地址:字节地址: B0H B0H 位地址:位地址: B0HB0H ~~ B7HB7H

P3P3 口也是一个口也是一个 88 位准双向位准双向 I/OI/O 口,除具有与口,除具有与 P1P1 口口同样的功能(即可以作通用同样的功能(即可以作通用 I/OI/O 口使用,内部带上拉电口使用,内部带上拉电阻)外,还具有第二功能。当工作在第二功能时,每位阻)外,还具有第二功能。当工作在第二功能时,每位都具有新的功能,各位的定义如表。都具有新的功能,各位的定义如表。

Page 25: 2  MCS-51 单片微机系统结构

【【 P0P0 ~~ P3P3 口的负载能力及接口要口的负载能力及接口要求】求】

P0P0 口的输出级的每一位可驱动口的输出级的每一位可驱动 88 个个 LSTTLLSTTL

门。门。 P0P0 口作通用口作通用 I/OI/O 口时,由于输出级是漏极口时,由于输出级是漏极开路,故用它驱动开路,故用它驱动 NMOSNMOS 电路时需外加上拉电电路时需外加上拉电阻;而作地址阻;而作地址 // 数据总线时,无需外接上拉电阻。数据总线时,无需外接上拉电阻。

P1P1 口~口~ P3P3 口的输出级的每一位可驱动口的输出级的每一位可驱动 44 个个LSTTLLSTTL门。由于它们的输出级内部有上拉电阻,门。由于它们的输出级内部有上拉电阻,因此组成系统时无需外加上拉电阻。因此组成系统时无需外加上拉电阻。

Page 26: 2  MCS-51 单片微机系统结构

六、复位电路及复位状态六、复位电路及复位状态11 )复位电路)复位电路 单片机复位电路包括片内、片外两部分。外部复位电路单片机复位电路包括片内、片外两部分。外部复位电路就是为内部复位电路提供两个机器周期以上的高电平而设计就是为内部复位电路提供两个机器周期以上的高电平而设计的。的。 MCS-51MCS-51 单片机通常采用上电自动复位和按键手动复位单片机通常采用上电自动复位和按键手动复位两种方式。如图所示。两种方式。如图所示。

Page 27: 2  MCS-51 单片微机系统结构

22 )单片机复位后的状态)单片机复位后的状态 单片机运行出错或进入死循环时,可按复位键重新运单片机运行出错或进入死循环时,可按复位键重新运行。行。 2121 个特殊功能寄存器复位后的状态为确定值,如个特殊功能寄存器复位后的状态为确定值,如表所示。表所示。

Page 28: 2  MCS-51 单片微机系统结构

七、 MCS-51 单片机的节电工作方式

22 )) HMOSHMOS单片机的掉电方式单片机的掉电方式

11 )) CHMOSCHMOS 单片机的节电工作方式单片机的节电工作方式

冻结运行方式将 PCON 中的 IDL 位置 1 ,单片机进入冻结运行方式。此时 CPU 进入冻结状态,内部时钟只供给中断系统、定时器、串行口, CPU 状态被完整地保存

电源控制寄存器 PCON

掉电工作方式 PD置 1 ,各功能停止, RAM 和 SFR 内容被保存RST/VPD 引脚

Page 29: 2  MCS-51 单片微机系统结构

电源控制寄存器 PCON ( 97H )—— 特殊功能寄存器 PCON 不能按位寻址——

☞ SMOD:在串行口工作方式 1、 2、 3 中, 是波特率加倍位 =1 时,波特率加倍 =0 时,波特率不加倍。 (在 PCON中只有这一个位与串口有关 )

☞ GF1,GF0:用户可自行定义使用的通用标志位☞ PD:掉电方式控制位☞ IDL:待机方式 (空闲方式 )控制位

SMOD — — — GF1 GF0 PD 1DL

PCON

Page 30: 2  MCS-51 单片微机系统结构

☞ PD:掉电方式控制位 =0:常规工作方式。 =1 :进入掉电方式 : 振荡器停振 片内 RAM和 SRF的值保持不变 P0—P3口维持原状。 程序停止 只有复位能使之退出掉电方式。

SMOD — — — GF1 GF0 PD IDLPCON

Page 31: 2  MCS-51 单片微机系统结构

☞ IDL:待机方式 (空闲方式 )控制位 =0:常规工作方式。 =1 :进入待机方式: 振荡器继续振荡 中断、定时器、串口功能继续有效 片内 RAM和 SRF 保持不变 CPU状态保持、 P0—P3口维持原状 程序停顿。 中断和复位能退出待机 , 继续后面的程序。

SMOD — — — GF1 GF0 PD 1DL

PCON

Page 32: 2  MCS-51 单片微机系统结构

☞ PD:掉电控制位 =0:常规方式。 =1 :掉电方式 : 振荡器停振 片内 RAM和 SRF不变P0—P3口维持原状 程序停止只有复位能退出掉电

☞ IDL:待机控制位 =0:常规方式。 =1 :待机方式: 振荡器继续振荡 中断 ,定时器 ,串口有效 片内 RAM和 SRF不变CPU状态 ,P0—P3 维持原状 程序停顿。中断和复位能退出待机 , 继续后面的程序。

SMOD — — — GF1 GF0 PD 1DL

PCON