51单片机之特殊功能寄存器SFR

全部的特殊功能寄存器:

在这里插入图片描述
在这里插入图片描述

特殊寄存器1、ACC(A):累加器

ALU(算数运算逻辑单元,是运算器的重要部件)在进行运算时,数据绝大部分来源于累加器A,运算的结果通常也送回累加器A

特殊寄存器2、B:辅助寄存器

此寄存器是为乘法和除法指令而设置的

以乘法为例:一个8bit的数和另一个8bit的数进行乘法运算,得到的结果为一个16bit的数,此时就需要俩个8bit寄存器来存放结果,辅助寄存器B就派上了用场,一般的,我们用B来存放高8bit,用A来存放低8bit。
在这里插入图片描述

以除法为例:在计算1除以3时,所得的结果以商和余数的形式保存,一般的,A用于保存商,B用于保存余数
在这里插入图片描述

特殊寄存器3、标志寄存器PSW:

一般用于保存指令执行结果的状态,即当前cpu所处的一些状态,是一个8bit寄存器

PSW的内部位含义:

在这里插入图片描述

1、C: 进位标志位,当累加器中从D7位向更高位进位或借位时,但由于寄存器大小限制不存在D8,此时用C来标志,当产生进位或者借位时这一位置1。
2、AC:辅助进位标志位,当D3位向D4位进位或者借位时,此标志位置1
3、F0:用户标志位 ,用户通过编程自定义使用
4、RS1\RS0: 寄存器组选择位,在内存中有8个为一组的通用寄存器,一共4组。但是同一时刻只能使用其中的某一组,RS0、RS1即用于选择使用4组中的哪一组寄存器。下图为具体对应关系:

在这里插入图片描述

5、OV:溢出标志位 ,一个8位寄存器可以表示的范围为**-128~127** ,当我们相加的结果不在这个范围的时候,此时溢出位为1
6、P: 累加器运算完成后,统计累加器中1的个数,1为偶数个,P为0。这里容易犯一个错误,此标志位的含义是一个数用二进制表示的时候1的个数,并不表示这个数是奇数还是偶数,例如14,二进制中有3个1,但数本身是偶数。

举个例子:不做解释了

在这里插入图片描述

特殊寄存器4、PC:程序计数器

51单片机专门设置一个16位的PC,用于指示下一时刻CPU将要执行的程序指令在ROM中的位置,由于PC指针长度位16位,所以单片机的程序存储器ROM空间大小为2^16 = 64Kb,从0000~FFFFH

特殊寄存器5、SP:堆栈指针

为实现堆栈操作而设置的指针

特殊寄存器6、DPTR:数据指针

特殊寄存器7、TMOD:定时/计数器的方式寄存器

该寄存器是用于控制定时/计数器的工作方式的特殊寄存器,内部详细位如下图:
在这里插入图片描述

1、M0、M1:用于确定定时器\计数器的工作方式:
在这里插入图片描述
2、C/T:定时或计数方式选择位,用这一位来确定时钟信号是来自内部还是外部
当C/T = 1,工作在计数器方式;反之工作在定时器方式
4、GATE:门控位,用于控制定时器/计数器的启动是否受外部中断请求信号(INT0,INT1)的影响,例如:当T0想要工作且GATE位为1时,就必须要求INT0位为1

特殊寄存器8、TCON:定时/计数器控制寄存器

该寄存器用来控制定时器/计数器的停止与启动
内部位:
在这里插入图片描述

1、TF0、TF1:溢出标志位,当计数满时,由硬件使他值位
2、TR0、TR1:中断启动位,1启动,0停止
3、IE0、IE1:
4、IT0、IT1:

特殊寄存器9、SCON:串行口控制寄存器

用于串行通信的控制
在这里插入图片描述

1、SM0、SM1:串行口工作方式选择位
在这里插入图片描述
2、SM2:多机通信控制位
3、REN:允许接受控制位,只有置1时,单片机才允许接收外部串行数据
4、TB8:用于保存发送的第9位数据
5、RB8:用于保存接收的第9位数据
6、TI:发送中断标志位,完成一次发送时自动由0变1
7、RI:接收中断标志位,完成一次接收时自动由0变1

特殊寄存器10、PCON:电源控制寄存器

用于对波特率进行控制
在这里插入图片描述

SMOD位为1时,串行通信在方式1、2、3下波特率加倍

特殊寄存器11、IE:中断允许控制寄存器

MCS-51单片机没有专门的开中断和关中断的指令,只能通过中断允许寄存器IE的各位来控制
在这里插入图片描述

1、EA:总中断允许控制位
2、ET2、ET1、ET0:定时器/计数器T2、T1、T0的溢出中断允许位
3、ES:串行口中断允许位
4、EX0、EX1:外部中断INT1、INT0的中断允许位

特殊寄存器12、IP:中断优先级控制寄存器

用于手动修改优先级顺序
在这里插入图片描述

1、PT0、PT1、PT2:定时器T2、T1、T0的中断优先级控制位
2、PS:串行口的中断优先级控制位
3、PX0、PX1:外部中断INT0、INT1的中断优先级控制位
当IP中的某一位置1时,所对应的中断源被设置为高优先级。

  • 6
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值