450 likes | 647 Views
第 2 章 MCS-51 单片机组成原理. 2.1 MCS-51 单片机的内部结构 2.2 CPU 的结构 2.3 MCS-51 单片机存储器 2.4 时钟电路及时序 2.5 输入 / 输出端口 2.6 MCS-51 单片机的引脚功能 2.7 MCS-51 单片机的工作方式. 退出. 2.1 MCS-51 单片机的内部结构. MCS-51 单片机的内部结构框图如图 2.1 所示. 2.2 CPU 的结构. CPU 包括运算器和控制器二大部分。 2.2.1 运算器
E N D
第2章 MCS-51单片机组成原理 • 2.1 MCS-51单片机的内部结构 • 2.2 CPU的结构 • 2.3 MCS-51单片机存储器 • 2.4 时钟电路及时序 • 2.5 输入/输出端口 • 2.6 MCS-51单片机的引脚功能 • 2.7 MCS-51单片机的工作方式 退出
2.1 MCS-51单片机的内部结构 • MCS-51单片机的内部结构框图如图2.1所示
2.2 CPU的结构 • CPU包括运算器和控制器二大部分。 • 2.2.1 运算器 • 运算器包括算术/逻辑部件(ALU)、累加器A、暂存寄存器、寄存器B、程序状态寄存器(PSW),十进制调整电路等。运算器主要用于实现算术/逻辑运算及位操作运算。下面介绍运算器的各组成部分。 • 1、算术/逻辑部件ALU • 2、累加器A • 3、寄存器B • 4、程序状态字寄存器PSW
CY(PSW.7):进位标志位。在进行加法(或减法)运算时,若运算结果最高位有进位或借位,则CY自动置“1”,否则CY置“0”,在进行布尔操作运算时,CY(简称C)作为布尔处理器。CY(PSW.7):进位标志位。在进行加法(或减法)运算时,若运算结果最高位有进位或借位,则CY自动置“1”,否则CY置“0”,在进行布尔操作运算时,CY(简称C)作为布尔处理器。 • AC:辅助进位标志位。当进行加法或减法时,若低4位向高4位有进位(或借位)时,AC被置“1”,否则AC被置“0”。在十进制调整指令中AC还作为十进制调整的判别位。 • F0:用户标志位。用户可用软件对F0位置“1”或清“0”以决定程序的流向。
OV:溢出标志位,当运算结果溢出时OV为“1”,否则为“0”,此标志位反映了运算结果是否溢出。OV:溢出标志位,当运算结果溢出时OV为“1”,否则为“0”,此标志位反映了运算结果是否溢出。 • PSW.1:未定义位。 • P(PSW.0):奇偶标志位。MCS-51单片机采用的是偶校验。当累加器A中“1”的个数为奇数时,P置“1”,否则P置“0”。此位反映累加器A中内容“1”的奇偶性,它常常用于机间通信。 • RS1、RS0:工作寄存器区选择位。用来选择当前工作的寄存器区。用户通过改变RS1 、RS0的内容来选择当前工作寄存器区。RS1、RS0的内容与工作寄存器区的对应关系如表2-1所示。
2.2.2 控制器 • 1、指令寄存器IR和指令译码器ID。 • 指令寄存器是存放指令代码的地方。当执行指令时,CPU把从程序存储器中读取的指令代码送入指令寄存器,然后指令译码器译码后由定时控制电路发生相应的控制信号,最终完成指令所规定的操作。
2、程序计数器PC • 程序计数器PC的功能与普通微机相同,它用来存放CPU执行的下一条指令的地址。当一条指令按照PC所指的地址从程序存储器中取出后,PC会自动加1,指向下一条指令。程序计数器PC是一个16位的寄存器,可寻址64KB的程序存储器空间。 • 3、堆栈指针SP • 4、数据指针寄存器DPTR
2.2.3 工作寄存器和特殊功能寄存器 • 1、工作寄存器 • MCS-51有32个工作寄存器,分为四个区(或组)每个区为8个寄存器R0、R1、R2、R3、R4、R5、R6、R7,每一时刻只有一个区工作。由PSW寄存器中的RS1、RS0的值来决定当前的工作区: • 当 RS1 RS0=00时,0区为工作区, • RS1RS0=01时,1区为工作区 • RS1RS0=10时,2区为工作区 • RS1RS0=11时,3区为工作区
这32个工作寄存器不但有它们的名称和区号,而且还有地址。00H-1FH共32个单元。这32个工作寄存器不但有它们的名称和区号,而且还有地址。00H-1FH共32个单元。 • 00H~07H为0区,分别对应R0~R7 • 08H~0FH为1区,分别对应R0~R7 • 10H~17H为2区,分别对应R0~R7 • 18H~1FH为3区,分别对应R0~R7
这32个单元为内部数据存储器(即片内RAM)的00H~1FH存贮空间,这与普通微机中的通用寄存器基本相同,所不同的是,普通微机的通用寄存器只有名称,不占有RAM空间,因此只有名字,没有对应的地址;而MCS-51单片机的工作寄存器R0~R7既可以用名字也可以用它的地址来表示。其中R0、R1寄存器除做工作寄存器外还常做间址寻址的地址指针。这32个单元为内部数据存储器(即片内RAM)的00H~1FH存贮空间,这与普通微机中的通用寄存器基本相同,所不同的是,普通微机的通用寄存器只有名称,不占有RAM空间,因此只有名字,没有对应的地址;而MCS-51单片机的工作寄存器R0~R7既可以用名字也可以用它的地址来表示。其中R0、R1寄存器除做工作寄存器外还常做间址寻址的地址指针。 • 2、特殊功能寄存器SFR(又称专用寄存器) • 这21个特殊功能寄存器详情见表2-2。
这21个特殊功能寄存器中,有11个寄存器具有位寻址功能,即寄存器中的每位都具有位地址,可以按位寻址。11个寄存器的位地址如图2-3所示。这21个特殊功能寄存器中,有11个寄存器具有位寻址功能,即寄存器中的每位都具有位地址,可以按位寻址。11个寄存器的位地址如图2-3所示。
2.3.1 程序存储器 • 8051单片机内部有4KB的掩膜ROM、8751单片机内部有4KB的EPROM,而8031内部没有程序存储器,必须外接程序存储器。 • 2.3.2 数据存储器 • MCS-51系列单片机数据存储器分内部数据存储器(即片内RAM)和外部数据存储器(即片外RAM)。 • 1、内部数据存储器
2、外部数据存储器 • 由于MCS-51子系列单片机内部数据存储器只有128个字节,往往不够用,这就需要扩展外部数据存储器,外部数据存储器最多可扩至64KB。
2.4 时钟电路及时序 • 2.4.1 时钟电路 • 1、内部方式时钟电路
2、外部方式时钟电路 • 2.4.2 时序 • 1、基本概念 • (1)振荡周期 • 振荡周期指为单片机提供定时信号的振荡源的周期,即晶体振荡器直接产生的振荡信号的振荡周期。
(2)时钟周期 • 时钟周期是振荡周期的两倍。是对振荡器2分频的信号。时钟周期又称状态周期,用S来表示,一个时钟周期,分为两个节拍,P1和P2节拍。P1节拍通常完成算术逻辑操作,P2节拍通常完成内部寄存器间数据的传递。 • (3)机器周期 • 一个机器周期由6个时钟周期组成,即S1~S6,如果把一条指令的执行过程划分为几个基本操作,则完成一个基本操作所需的时间称为机器周期。 • (4)指令周期 • 指令周期是执行一条指令所需的全部时间。MCS-51单片机的指令周期通常由1~4个机器周期组成。 • 2、几种典型的取指和执行时序
(1)单字节单周期指令 • (2)双字节单周期指令 • (3)单字节双周期指令 • (4)访问外部数据存储器指令MOVX时序
2.5 输入/输出端口 • 2.5.1 P0口 • P0口有8位,每一位由一个锁存器、两个三态输入缓冲器以及控制电路和驱动电路组成,其位结构如图2-7(a)所示。
1、P0口作通用I/O口 • 2、作分时复用的地址/数据总线 • 2.5.2 P1口 • P1口是一个专用的8位准双向I/O口,只具有通用输入/输出口功能,每一位都能设定为输入或输出,它的位结构如图2-7(b)所示。
2.5.3 P2口 • P2口是一个8位准双向I/O口,具有两种功能。一是作通用I/O口用,与P1口相同。二是作扩展系统的高8位地址总线。输出高8位地址,与P0口一起组成16位地址总线。它的位结构如图2-7(c)所示。
2.5.4 P3口 • P3口也是一个8位准双向I/O口,除具有与P1口同样的功能(即可以作通用I/O口使用)外,还具有第二功能。当工作在第二功能时,每位都具有新的功能,各位的定义如表2-4。
P3口的位结构如图2-7(d)所示,当P3口作通用I/O口时,与P1口相同。 P3口的位结构如图2-7(d)所示,当P3口作通用I/O口时,与P1口相同。
2.5.5 P0~P3口的负载能力及接口要求 • P0口的输出级的每一位可驱动8个LSTTL门。P0口作通用I/O口时,由于输出级是开漏电路,故用它驱动NMOS电路时需外加上拉电阻;而作地址/数据总线时,无需外接上拉电阻。 • P1口~P3口的输出级的每一位可驱动4个LSTTL门。由于它们的输出级内部有上拉电阻,因此组成系统时无需外加上拉电阻。
2.6 MCS-51单片机的引脚功能 • MCS-51单片机共有40个引脚。
2.7 MCS-51单片机的工作方式 • MCS-51单片机有三种工作方式,复位方式、程序执行方式以及节电工作方式。 • 2.7.1 复位方式 • 1、单片机复位后的工作状态
2.7.2 程序执行方式 • 1、连续执行方式 • 2、单步执行方式 • 2.7.3 节电工作方式 • 1、HMOS单片机的掉电工作方式 • 2、CHMOS单片机的节电工作方式 • (1)电源控制寄存器PCON
(2)等待工作方式 • 将PCON中的IDL位置1,单片机进入等待工作方式,如图2-11所示。 • (3)掉电工作方式