51单片机寄存器功能一览表
这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。它的各位功能请看下表:
PSW 程序状态字 | |||||||
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
CY | AC | F0 | RS1 | RS0 | OV |
| P |
下面我们逐一介绍各位的用途
CY:进位标志。
8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。这样就没事了。有进、借位,CY=1;无进、借位,CY=0
例:78H+97H(01111000+10010111)
AC:辅助进、借位(高半字节与低半字节间的进、借位)。
例:57H+3AH(01010111+00111010)
F0:用户标志位
由用户(编程人员)决定什么时候用,什么时候不用。
RS1、RS0:工作寄存器组选择位
通过修改PSW中的RS1、RS0两位的状态,就能任选一个工作寄存器区。这个特点提高了MCS-51现场保护和现场恢复的速度。对于提高CPU的工作效率和响应中断的速度是很有利的。若在一个实际的应用系统中,不需要四组工作寄存器,那么这个区域中多余单元可以作为一般的数据缓冲器使用。
工作寄存器区选择 | ||
RS1 | RS0 | 当前使用的工作寄存器区R0~R7 |
0 | 0 | 0区(00~07H) |
0 | 1 | 1区(08~0Fh) |
1 | 0 | 2区(10~17h) |
1 | 1 | 3区(18~1Fh) |
0V:溢出标志位
运算结果按补码运算理解。有溢出,OV=1;无溢出,OV=0。什么是溢出我们后面的章节会讲到。
P:奇偶校验位
它用来表示ALU运算结果中二进制数位“1”的个数的奇偶性。若为奇数,则P=1,否则为0。运算结果有奇数个1,P=1;运算结果有偶数个1,P=0。
例:某运算结果是78H(01111000),显然1的个数为偶数,所以P=0。
4、DPTR(DPH、DPL)--------数据指针
可以用它来访问外部数据存储器中的任一单元,如果不用,也可以作为通用寄存器来用,由我们自已决定如何使用。分成DPL(低8位)和DPH(高8位)两个寄存器。用来存放16位地址值,以便用间接寻址或变址寻址的方式对片外数据RAM或程序存储器作64K字节范围内的数据操作。
5、P0、P1、P2、P3--------输入输出口(I/O)寄存器
这个我们已经知道,是四个并行输入/输出口(I/O)的寄存器。它里面的内容对应着管脚的输出。
6、IE-----中断充许寄存器
可按位寻址,地址:A8H
IE 中断允许寄存器 | |||||||
B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
EA | - | ET2 | ES | ET1 | EX1 | ET0 | EX0 |
EA (IE.7):EA=0时,所有中断禁止(即不产生中断);EA=1时,各中断的产生由个别的允许位决定
- (IE.6):保留
ET2(IE.5):定时2溢出中断允许(8052用)
ES (IE.4):串行口中断允许(ES=1允许,ES=0禁止)
ET1(IE.3):定时1中断允许
EX1(IE.2):外中断INT1中断允许
ET0(IE.1):定时器0中断允许
EX0(IE.0):外部中断INT0的中断允许
7、IP-----中断优先级控制寄存器
可按位寻址,地址位B8H
51单片机相关文章:51单片机教程
尘埃粒子计数器相关文章:尘埃粒子计数器原理 晶振相关文章:晶振原理
评论