#STC89C51# #STC89C52# #AT89S51# #AT89C52#--8051内核单片机原理及汇编(三):CPU

成就更好的自己

AT89S51的CPU由运算器和控制器构成;

一.运算器

算数逻辑运算单元ALU

ALU功能强大,可以进行各种数学运算和逻辑运算,此外还具有位操作功能;

累加器A

累加器A在特殊功能寄存器区,但是却是CPU使用最频繁的一个8位寄存器

(1).累加器A是ALU单元的输入数据源之一,也是ALU运算后结果的存放单元;

(2).累加器A的进位标志位Cy(位于程序状态字寄存器PSW中)非常特殊,因为它同时又是位处理器的位累加器;

程序状态字寄存器PSW

  程序状态字寄存器PSW位于特殊功能寄存器区,地址字节D0H;其中存储了包含程序运行过程的各种信息,如图:

D7

D6

D5

D4

D3

D2

D1

D0

Cy

Ac

F0

RS1

RS0

OV

---

P

(1)Cy(PSW.7)PSW.7是Cy即C,来源于最近一次算术指令或逻辑指令执行时软硬件的改写。

(2)Ac(PSW.6) 辅助进位标志位,用于BCD码的十进制调整运算。当低四位向高四位借进位时Ac被置1,否则清0。此位也可和DA指令结合起来用。

(3)F0(PSW.5)用户使用的状态标志位。这个你可以任意使用。

(4)RS1、RS0(PSW.4、PSW.3):4组工作寄存器区选择控制位1和位0。

RS1

RS0

所选的4组工作寄存器

0

0

0区;地址00H~07H

0

1

1区;地址08H~0FH

1

0

2区;地址10H~17H

1

1

3区;地址18H~1FH

 

(5)OV(PSW.2)溢出标志位 在执行算术指令时,指示运算是否产生溢出。

       溢出OV=1,否则OV=0;

(6)PSW.1位: 保留位,未用。

(7)P(PSW.0)奇偶标志位

P=1,A中“1”的个数为奇数

P=0,A中“1”的个数为偶数

二.控制器

控制器主要包括程序计数器PC,指令寄存器,指令译码器,定时及控制电路;

其中最主要的是程序计数器PC;

当执行一条指令时,首先需要根据PC中存放的指令地址,将指令由内存取到指令寄存器中,此过程称为“取指令”。与此同时,PC中的地址或自动加1或由转移指针给出下一条指令的地址。此后经过分析指令,执行指令。完成第一条指令的执行,而后根据PC取出第二条指令的地址,如此循环,执行每一条指令。

程序计数器的宽度决定了程序寄存器的地址范围,AT89S51的PC位数为16位;

故可以对64KB的程序进行寻址。

发布了9 篇原创文章 · 获赞 5 · 访问量 969

猜你喜欢

转载自blog.csdn.net/qq_36098477/article/details/105364077