【51单片机】21个专用寄存器

文章详细介绍了微处理器中的一些关键寄存器,包括累加器A和B、程序状态字PSW、堆栈指针SP、数据指针DPTR,以及P0-P3口、中断控制寄存器和定时器/计数器等,这些寄存器在运算、控制和通信中起到重要作用。
摘要由CSDN通过智能技术生成
专用寄存器
标识符名称地址功能
Acc累加器0E0H

大部分单操作数指令的操作取自累加器。

很多双操作数指令的一个操作数取自累加器。

加、减、乘、除算术运算指令的运算结果都存放在累加器A或AB寄存器对中。

指令系统中用A作为累加器的助记符。

BB寄存器0F0H

乘法指令的两个操作数分别取自A 和B 其结果存放在AB寄存器对中。

除法指令中,被除数取自A,除数取自B,商数存放于A,余数存放于B。

在其它指令中,B寄存器可作为RAM中的一个单元来使用。

PSW程序状态字0D0H

程序状态字是一个8位寄存器,它包含了程序状态信息。

组成:Cy  Ac  FO  RS1  RS0  OV  -  P

Cy(PSW.7)进位标志:

在执行某些算术和逻辑指令时,可以被硬件或软件置位或清零。

在布尔处理机中它被认为是位累加器;其重要性相当于一般中央处理机中的累加器A 。

Ac(PSW.6)辅助进位标志符:

当进行加法或减法操作而产生由低4位数(十进制的一个数引向高4位数进位或借位时,Ac将被硬件置位,否则就被清零。

Ac被用于十进制调整。

FO(PSW.5)标志O:

是用户定义的一个状态标记,可以用软件来使它置位或清零,也可以用软件测试FO以控制程序的流向。

RS1,RS0(PWS.4,PSW.3)寄存器区选择控制位1和0:

可以用软件来置位或清零以确定工作寄存器区。

RS1 RS0

  0      0 —— 区 0(00H~07H)

  0      1 —— 区 1(08H~0FH)

  1      0 —— 区 2(10H~17H)

  1      1 —— 区 3(18H~1FH)

OV(PSW.2)溢出标志:

溢出标志常用于用ADD和SUBB指令对带符号数作加减运算时,OV= 1表示加减运算的结果超出了目的寄存器A所能表示的带符号数(2的补码)的范围。

无符号数乘法指令MUL的执行结果也会影响溢出标志。若置于累加器A和寄存器B的两个数的乘积超过255时,OV=1, 否则OV=0。此积的高8位放在B 内,低 8位放在 A内。因此, OV= 0意味着只要从 A中取得乘积即可;否则要从 BA寄存器对中取得乘积。

除法指令DIV也会影响溢出标志。当除数为0时,OV= 1,否则OV=0。

PSW.1未使用

P(PSW.0)奇偶标志:

每个指令周期都由硬件来置位或清0,以表示累加器A中1的位数的奇偶数。若1的位数为奇数,则P置位,否则清0。此标志位对串行通信中的数据传输有重要的意义。在串行通信中常用奇偶校验的办法来检验数据传输的可靠性。在发送端可根据P的值对数据的奇偶位置位或清零。若通信协议中规定采用奇校验的办法,则P=0时,应对数据(假定由A取得)的奇偶位置位;否则就清0。

SP堆栈指针81H

栈指针SP是一个8位专用寄存器。它指示出堆栈顶部在内部RAM中的位置。系统复位后,SP初始化为07H,使得堆栈事实上由08H单元开始。考虑到08H~lFH单元分属于工作寄存器区 1~3,若程序设计中要用到这些区,则最好把SP值改置为 1FH或更大的值。SP的初始值越小,堆栈深度就可以越深。堆栈指针的值可由软件改变,因此堆伐在内部 RAM中的位置比较灵活。

除用软件直接改变SP值外,在执行PUSH,POP指令,各种子程序调用,中断响应,子程序返回(RET)和中断返回(RETI)等指令时,SP值将自动增量或减量。

DPTR数据指针83H和82H

数据指针DPTR是一个16位专用寄存器,其高位字节寄存器用DPH表示;低位字节寄存器用 DPL 表示。

既可以作为一个 16位寄存器 DPTR来处理,也可以作为两个独立的8位寄存器DPH和DPL来处理。

DPTR主要用来存放16位地址,当对 64KB外部数据存储器空间寻址时,可作为间址寄存器用。

在访问程序存储器时,DPTR可用作基址寄存器,有一条采用基址个变址寻址方式的指令MOVX A,@A + DPTR,常用于读取存放在程序存储器内的表格常数。

P0P0口80HP0口锁存器
P1P1口90HP1口锁存器
P2P2口0A0HP2口锁存器
P3P3口0B0HP3口锁存器
IP中断优先级控制寄存器0B8H
IE中断允许寄存器0A8H
TMOD定时器/计数器方式控制寄存器89H
TCON定时器/计数器寄存器88H
TH0定时器/计数器0(高位字节)8CH
TL0定时器/计数器0(低位字节)8AH
TH1定时器/计数器1(高位字节)8DH
TL1定时器/计数器1(低位字节)8BH
SCON串行控制寄存器98H
SBUF串行数据缓冲器99H

用于存放欲发送或已接收的数据,它实际上由两个独立的寄存器组成,一个是发送缓冲器,另一个是接收缓冲器。当要发送的数据传送到SBUF时,进的是发送缓冲器。当要从SBUF读数据时,则取自接收缓冲器,取走的是刚接收到的数据。

PCON电源控制寄存器97H

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值