单片机
返回首页

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

2022-03-07 来源:eefocus

全部的特殊功能寄存器:

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

特殊寄存器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、RS1RS0: 寄存器组选择位,在内存中有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时,所对应的中断源被设置为高优先级。

进入单片机查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • 基于灵动MM32W0系列MCU的指夹血氧仪控制及OTA升级应用方案分享

精选电路图
  • 1瓦线性调频增强器

  • 1瓦四级调频发射机

  • 500W MOS场效应管电源逆变器,12V转110V/220V

  • 红外开关

  • LM317过压保护

  • 0-30V/20A 大功率稳压电源(采用LM338)

    相关电子头条文章