21.3MCS-51单 (一)中央处理器( ACC CPU由运算器和 TMPI TMP2 核心,完成运算和控 ALU PSW 1.运算器 内部总线 组成:算术逻辑运算器ALU,算术累加器ACC,寄存器 B,暂存器TMP1,暂存器TMP2,布尔累加器Cy等。 功能:进行移位、算术运算和逻辑运算;MCS-51运算器 还包含有一个布尔(位)处理器,用来处理位操作
11 (一) 中央处理器(CPU) CPU由运算器和控制器组成,它是单片机的 核心,完成运算和控制操作。 2.1.3 MCS-51单片机的内部结构 1. 运算器 TMP1 TMP2 ALU PSW ACC TMP1 TMP2 ALU PSW ACC 运算器 内部总线 组成:算术逻辑运算器ALU,算术累加器ACC,寄存器 B,暂存器TMP1,暂存器TMP2,布尔累加器Cy等。 功能:进行移位、算术运算和逻辑运算;MCS-51运算器 还包含有一个布尔(位)处理器,用来处理位操作
2..3MCS51单片机的内部结构 (1)累加器A(ACC)(8位) 功能:暂存操作数及保存运算结果; A是MCS-51单片机中最繁忙的寄存器; (2)寄存器B(8位) 功能:用于乘法、除法运算,对于其它指令可作为 个寄存器使用; (3)程序状态字寄存器PSW(8位) 功能:存放累加器A在运算过程标志位(P,OV,AC, Cy)的状态;指出CPU所使用的当前工作寄存器组
12 (1)累加器A(ACC)(8位) 功能:暂存操作数及保存运算结果; A是MCS-51单片机中最繁忙的寄存器; (2)寄存器B(8位) 功能:用于乘法、除法运算,对于其它指令可作为一 个寄存器使用; (3 )程序状态字寄存器PSW(8位) 功能:存放累加器A在运算过程标志位(P,OV,AC, Cy)的状态;指出CPU所使用的当前工作寄存器组。 2.1.3 MCS-51单片机的内部结构
2.13MCS51单片机的内部结构 程序状态字寄存器 PSW.7PSW6 PSW.5 PSW.O PSWCY AC RSIRSOOV P >CY(PSW7)进位借位标志位ary 若ACC在运算过程中发生了进位或借位,则CY=1;否 则=0。它也是布尔处理器的位累加器,可用于布尔操作。 AC(PSW6)半进位借位标志位( Attached Carry) 若AC在运算过程中,D3位向D4位发生了进位或借位, 则AC=1,否则=0 FO(PSW.5)—用户标志位(Fl ag 0: user definable flag) 13
13 CY AC F0 RS1 RS0 OV P PSW.7 PSW.0 ➢ CY (PSW.7) 进位/借位标志位(Carry)。 若ACC在运算过程中发生了进位或借位,则CY=1;否 则=0。它也是布尔处理器的位累加器,可用于布尔操作。 ➢ AC(PSW.6)半进位/借位标志位(Attached Carry)。 若AC在运算过程中,D3位向D4位发生了进位或借位, 则AC=1,否则=0。 ➢ F0 (PSW.5) ——用户标志位(Flag 0: user definable flag)。 PSW.6 PSW.5 2.1.3 MCS-51单片机的内部结构 PSW 程序状态字寄存器
2.1.3MCS51单片机的内部结构 程序状态字寄存器 PSW PSW.4 PSW.3 PSW.O PSW CY AC FO RSI RSOOV RSl(PSW4)、RS0(PSW3)工作寄存器组选择位( Register Selection) RS1,RS0=00则选择了工作寄存器组0区R0~R7分别 代表08H~0FH单元。 RS1,RS0=01则选择了工作寄存器组1区R0~R7分别 代表08H~0FH单元。 RS1,RS0=10则选择了工作寄存器组2区R0~R7分别 代表10H~17H单元。 RS1,RS0=11则选择了工作寄存器组3区R0~R7分 别代表18H~1FH单元
14 2.1.3 MCS-51单片机的内部结构 PSW.7 PSW.0 RS1(PSW.4)、RS0(PSW.3)工作寄存器组选择位(Register Selection)。 RS1,RS0 = 0 1 则选择了工作寄存器组 1 区R0~R7分别 代表08H ~0FH单元。 RS1,RS0 = 1 0 则选择了工作寄存器组 2 区 R0~R7分别 代表10H ~17H单元。 RS1,RS0 = 1 1 则选择了工作寄存器组 3 区R0~R7分 别代表18H ~1FH单元。 CY AC F0 RS1 RS0 OV P PSW.4 PSW.3 RS1,RS0 = 0 0 则选择了工作寄存器组 0 区R0~R7分别 代表08H ~0FH单元。 PSW 程序状态字寄存器
21.3MCS51单片机的内部结构 程序状态字寄存器 PSW.7 PSW.2 PSW.1 PSW.O PSW CY AC FO RSIRSOOV P OV(PSW2)溢出标志位( Overflow) OV=1时特指累加器在进行带符号数(-128+127)运算时出 错(超出范围);OV=0时未出错。 PSWl未定义 Reserved) P(PSW0)奇偶标志位( Parity Bit) P=1表示累加器ACC中“1的个数为奇数 P=0表示累加器ACC中“1”的个数为偶数 CPU随时监视着ACC中的“1的个数并反映在PSW中 AC,CyOV,P通常在有A累加器参与远算的情况下欧爽, 它们反映A累加器参与运算后的状态变化。 15
15 CY AC F0 RS1 RS0 OV P PSW.7 PSW.0 OV (PSW.2)溢出标志位(Overflow)。 OV=1时特指累加器在进行带符号数(-128—+127)运算时出 错(超出范围);OV=0时未出错。 PSW.1 未定义(Reserved)。 P (PSW.0)奇偶标志位(Parity Bit)。 P=1表示累加器ACC中“1”的个数为奇数 P=0表示累加器ACC中“1”的个数为偶数 CPU随时监视着ACC中的“1”的个数,并反映在PSW中 PSW.2 PSW.1 2.1.3 MCS-51单片机的内部结构 PSW AC, Cy, OV, P通常在有A累加器参与运算的情况下改变, 它们反映A累加器参与运算后的状态变化。 程序状态字寄存器