8051微控制器特殊功能寄存器(SFRS)

在以前的8051微控制器教程中,我们已经看到了指令集和寻址模式。在本教程中,我们将看看8051微控制器特殊功能寄存器或SFRS。

如果你记得的话8051微控制器内存组织教程,8051微控制器的内部RAM或数据存储器分为通用寄存器,位寻址寄存器,寄存器库和特殊功能寄存器或SFR。

8051微控制器特殊功能寄存器用于编程和控制定时器,串口,I / O端口等不同的硬件外设等。实际上,通过操纵8051微控制器特殊功能寄存器(SFR),您可以评估或更改操作模式8051微控制器。

作为提醒,以下图像显示了8051微控制器内部RAM的基本结构。

8051微控制器特殊功能寄存器(SFRS)图像1

8051微控制器特殊功能寄存器(SFRS)

8051微控制器特殊功能寄存器充当控制表,监控和控制8051微控制器的操作。如果您在内部RAM结构中观察到,则将80h到FFH的地址空间分配给SFRS。

在这128个内存位置(80h至FFH)中,只有21个位置实际分配给SFR。每个SFR都有一个字节地址,也是一个唯一的名称,它指定其目的。

由于SFR是内部RAM结构的一部分,因此您可以访问SFR,就像访问内部RAM一样。主要区别是地址空间:前128个字节(00h至7FH)是针对常规内部RAM,接下来的128字节(80h至FFH)用于SFR。

小费:由于分配了可能的128个SFR存储器位置中的21个,建议在编程期间不访问其余寄存器或存储器位置。

在进一步进一步之前,请了解8051微控制器架构

列出8051微控制器特殊功能寄存器

  • A或ACC.
  • B.
  • DPL.
  • DPH.
  • IE
  • IP.
  • P0.
  • P1.
  • P2.
  • P3.
  • PCON.
  • PSW.
  • sc
  • SBUF.
  • SP.
  • TMOD.
  • TCON.
  • TL0.
  • Th0.
  • TL1
  • TH1

8051微控制器特殊功能寄存器类别

所有21 8051微控制器特殊功能寄存器(SFR)以及其功能和内部RAM地址在下表中给出。

8051微控制器特殊功能寄存器(SFRS)图像2

有很多方法可以对这21个特殊功能寄存器进行分类,但我找到了以下方式作为合适的方式。8051微控制器的21个特殊功能寄存器分为七组。他们是:

数学或CPU寄存器:A和B.

状态寄存器:PSW(程序状态字)

指针寄存器:DPTR(数据指针 - DPL,DPH)和SP(堆栈指针)

I / O端口锁存器:P0(端口0),P1(端口1),P2(端口2)和P3(端口3)

外围控制寄存器:PCON,SCON,TCON,TMOD,IE和IP

外设数据寄存器:TL0,TH0,TL1,TH1和SBUF

CPU或数学寄存器

A或累加器(ACC)

累加器或寄存器A是最重要的,最使用的8051微控制器SFR。寄存器A位于SFR存储空间中的地址E0H。累加器用于保持几乎所有ALU操作的数据。

使用累加器的一些操作是:

  • 算术运算,如添加,减法,乘法等。
  • 逻辑运营等,或者,不等等
  • 数据传输操作(8051和外部存储器之间)

“累加器”名称来自该寄存器用于累积(或存储)所有算术和大多数逻辑操作的结果。

8051微控制器特殊功能寄存器(SFRS)图像3

b(寄存器b)

B寄存器与乘法和划分操作中的ACC一起使用。对仅在寄存器A和B中存储的数据执行这两个操作。在乘法操作期间,其中一个操作数(乘法器或多乘数)是B寄存器中的存储器,以及结果的更高字节。

在划分操作的情况下,B寄存器持有除数以及结果的其余部分。它也可以用作正常操作的通用寄存器,并且通常用作程序员用作辅助寄存器来存储临时结果。

寄存器B位于SFR地址空间的地址F0H。

8051微控制器特殊功能寄存器(SFRS)图像4

程序状态字(PSW)

PSW或程序状态字寄存器也称为标志寄存器,并且是重要的SFR之一。PSW寄存器由标志位组成,该标志位有助于程序员检查结果的条件并进行决策。

标志是1位存储元素,其存储并指示通过执行某些指令生成的结果的性质。以下图像显示了PSW寄存器的内容。

8051微控制器特殊功能寄存器(SFR)图像5

下表描述了每个标志的函数。

8051微控制器特殊功能寄存器(SFR)图像6

指针寄存器

数据指针(DPTR - DPL和DPH)

数据指针是16位寄存器,并且物理地是DPL(数据指针低)和DPH(数据指针高)SFR的组合。数据指针可以用作单个16位寄存器(作为DPTR)或两个8位寄存器(作为DPL和DPH)。

DPTR没有物理内存地址,但DPL(DPTR的下字节)和DPH(更高字节的DPTR)在SFR存储空间中具有单独的地址。dpl = 82h和dph = 83h。

DPTR寄存器由程序员寻址外部存储器(程序 - ROM或DATA - RAM)使用。

8051微控制器特殊功能寄存器(SFRS)图像7_1

堆栈指针(SP)

SP或Stack指针指向堆栈的顶部,它表示要访问的下一个数据。堆栈指针可以使用PUSH,POP,CALL和RET说明进行访问。堆栈指针是一个8位寄存器,并且在复位后,堆栈指针用07h初始化。

在将新数据字节写入堆栈时,SP(堆栈指针)自动递增1,并且新数据在地址SP + 1上写入。当从堆栈读取数据时,从SP中的地址检索数据,之后SP由1(SP-1)递减。

8051微控制器特殊功能寄存器(SFRS)图像8_1

I / O端口寄存器(P0,P1,P2和P3)

8051微控制器四端口可用作输入和/或输出。这四个端口是P0,P1,P2和P3。每个端口具有相同名称的相应寄存器(端口寄存器也是P0,P1,P2和P3)。端口寄存器的地址如下:P0 - 80H,P1 - 90H,P2 - A0H和P2 - B0H。

这些SFR中的每个位对应于8051微控制器中的一个物理引脚。所有这些端口寄存器都是位寻址和字节可寻址。在端口寄存器位上写入1或0将在相应引脚上作为适当的电压(5V和0V)反映。

如果设置了端口位(声明为1),则相应的端口引脚将被配置为输入,并且类似地,如果端口位被清除(声明为0),则相应的端口引脚被配置为输出。复位后,设置所有端口位(1),因此,所有端口引脚都被配置为输入。

8051微控制器特殊功能寄存器(SFRS)图像9_1

外围控制寄存器

PCON(功率控制)

PCON或电源控制寄存器,因为名称建议用于控制8051微控制器的电源模式,位于SFR存储空间的87小时。在PCON寄存器中使用两个位,可以将微控制器设置为空闲模式和断电模式。

笔记:PCON寄存器不是位寻址。

在空闲模式期间,微控制器将使时钟信号停止到ALU(CPU),但它被给予定时器,串行,中断等的其他外设。为了终止空闲模式,您必须使用中断或硬件复位。

在断电模式下,振荡器将停止,电源将减少到2V。要终止断电模式,必须使用硬件重置。

除了这两个,PCON寄存器也可用于少量额外用途。PCON寄存器中的SMOD位用于控制串行端口的波特率。

PCON寄存器中有两个通用标志位,程序员在执行期间可以使用。

8051微控制器特殊功能寄存器(SFRS)图像10_1

下表描述了PCON寄存器中每个位的功能。

少量

象征 描述 附加信息
7. sm 串行通讯。波特率修改位

如果1,则使用定时器1.如果0,正常定时器1波特率,请加倍波特率。

6 - 4

- -

3.

GF1.

通用用户标志(第1位)

2 GF0. 通用用户标志(位0)

1

PD. 击中钻头 要输入电源,请设置为1
0. idl. 空闲模式位

要输入空闲模式,请设置为1

SCON(串行控制)

串行控制或SCON SFR用于控制8051微控制器的串行端口。它位于98h的地址。使用SCON,可以控制串口的串口的操作模式,串口的波特率,并使用串行端口发送或接收数据。

SCON寄存器还包括在传输或接收数据字节时自动设置的位。

8051微控制器特殊功能寄存器(SFR)图像11

下表描述了SCON寄存器中每个位的功能。

少量

象征 描述
7. SM0.

串口模式选择位0

6.

SM1. 串口模式选择位1
5. SM2.

多处理器Comm。少量

4.

接收启用位
3. TB8

传输位8.

2

RB8. 收到的第8位
1 TI.

传输中断标志

0.

ri.

接收中断标志

串口模式选择位(SM0和SM1)确定UART的模式以及波特率。下表概述了串口模式选择位如何用于配置8051的串口(UART)。

串口模式选择位

SM0.

SM1. 模式 描述 波特率
0. 0. 0. 8位同步移位寄存器模式

固定波特率

(振荡器/ 12的频率)

0.

1 1 8位标准UART

模式

可变波特率(可以由计时器1设置)
1 0. 2 9位多处理器Comm。模式

固定波特率

(振荡器/ 32的频率/振荡器/ 64的频率/ 64

1

1 3. 9位多处理器Comm。模式

可变波特率(可以由计时器1设置)

TCON(定时器控制)

定时器控制或TCON寄存器用于启动或停止8051微控制器的定时器。它还包含指示定时器是否已溢出的位。TCON SFR还包括中断相关位。

8051微控制器特殊功能寄存器(SFRS)图像12

下表提供了TCON SFR中的每个位的描述。

少量

象征 描述

附加信息

7.

TF1. 定时器1溢出标志 计时器1溢出(全部1s至0)设置。当处理器在001BH处执行ISR时清除。
6. TR1 定时器1运行控制位

要启用定时器/计数器,请设置为1.清除以停止计时器。

5.

TF0. 定时器0溢出标志 定时器0溢出(全部1s至0)设置。当处理器在000BH执行ISR时清除。
4. TR0. 定时器0运行控制位

要启用定时器/计数器,请设置为1.清除以停止计时器。

3.

IE1. ext。中断1边旗 在INT1(P3.3)上收到高到低电平的设置。当处理器在0013h执行ISR时清除。
2 IT1 ext。中断1型控制位

如果1,则中断1发生在下降沿。如果0,则中断1在低电平上发生。

1

IE0. ext。中断0边缘标志 在INT0上收到高到低电平时设置为1(P3.2)。当处理器在0003h执行ISR时清除。
0. IT0. ext。中断0类型控制位

如果1,则在下降沿发生中断0。如果0,则中断0发生在低电平上。

TMOD(定时器模式)

TMOD或定时器模式寄存器或SFR用于设置定时器T0和T1的操作模式。较低的四个位用于配置Timer0,并且越高的四个位用于配置Timer1。

8051微控制器特殊功能寄存器(SFRS)图像13

下表给出了TMod SFR中的每个位的简要说明。

少量

象征

描述

7/3

或门启用位
6/2 C / TX.

选择计时器或计数器模式

5/1

TXM1 定时器/计数器操作模式选择位1
4/0 TXM0.

定时器/计数器操作模式选择位0

Gatex位用于相对于INTX引脚操作TIMERX,或者无论INTX引脚如何。

  • 只有在设置TR1(在TCON中)并且INT1上的信号很高时,才操作GATE1 = 1 ==> TIMER1。
  • 门1 = 0 ==> Timer1无论INT1引脚上的信号如何,都必须设置TR1(在TCON中)。
  • 只有在设置TR0(在TCON中)并且INT0上的信号很高时,才操作GATE0 = 1 ==> TIMER0。
  • Gate0 = 0 ==> Timer0无论INT0引脚上的信号如何,都必须设置TR0(在TCON中)。

使用C / TX位选择计时器计数的脉冲源。

  • C / T1 = 1 ==> TIMER1从引脚T1(P3.5)计数脉冲(计数器模式)
  • C / T1 = 0 ==> Timer1计数来自内部振荡器的脉冲(定时器模式)
  • C / T0 = 1 ==> Timer0计数来自引脚T0(P3.4)的脉冲(计数器模式)
  • C / T0 = 0 ==> Timer0计数来自内部振荡器的脉冲(定时器模式)

TXM0.

TXM1 模式

描述

0.

0. 0. 13位定时器模式(THX - 8位和TLX - 5位)

0.

1 1 16位定时器模式
1 0. 2

8位自动重新加载定时器模式

1 1 3.

两个8位定时器模式或分割定时器模式

笔记:对于定时器0和计时器1的X = 0 x = 0。

IE(中断启用)

IE或中断使能寄存器用于启用或禁用单个中断。如果设置有点,则启用相应的中断,如果该位清除,则禁用中断。IE寄存器的位7,即EA位用于启用或禁用所有中断。

8051微控制器特殊功能寄存器(SFR)图像14

下表描述了IE寄存器中的每个位的功能。

少量

象征 描述

附加信息

7.

ea 全局中断使能位。 如果设置为1,则可以启用单个中断。如果设置为0,则禁用所有中断。
6. -

-

5.

ET2. 预订的
4. es. 串口中断使能位

如果设置为1,则启用串行端口中断。如果设置为0,则禁用串行端口中断。

3.

ET1. 定时器1溢出中断使能位 如果设置为1,则启用计时器1溢出中断。如果设置为0,则禁用定时器1溢出中断。
2 ex1. ext。中断1启用位

如果设置为1,则。中断1已启用。如果设置为0,则。中断1被禁用。

1

ET0. 定时器0溢出中断使能位 如果设置为1,则启用定时器0溢出中断。如果设置为0,则禁用计时器0溢出中断。
0. ex0. ext。中断0启用位

如果设置为1,则。中断0已启用。如果设置为0,则。中断0已禁用。

笔记:中断使能(IE)SFR是位寻址。

IP(中断优先级)

IP或中断优先级寄存器用于设置中断的优先级,高或低。如果清除一点,则相应的中断被分配低优先级,并且如果设置该位,则会分配高优先级的中断。

8051微控制器特殊功能寄存器(SFRS)图像15

下表描述了IP寄存器中每个位的功能。

少量

象征

描述

7.

- -
6. -

-

5.

PT2. 预订的
4. PS.

串口中断的优先级

3.

PT1. 定时器1溢出中断的优先级
2 PX1.

EXT的优先权。中断1

1

PT0. 定时器0溢出中断的优先级
0. PX0.

EXT的优先权。中断0.

笔记:中断优先级(IP)SFR为位可寻址。

外围数据寄存器

SBUF(串行数据缓冲区)

串行缓冲区或SBUF寄存器用于在传输或接收时保持串行数据。

8051微控制器特殊功能寄存器(SFRS)图像16

TL0 / TH0(计时器0低/高)

定时器0由两个SFRS:TL0和TH组成。TL0是较低字节,TH0是更高的字节和一起形成16位TIMER0寄存器。

8051微控制器特殊功能寄存器(SFRS)图像17

TL1 / TH1(计时器1低/高)

TL1和TH1是计时器0的较低和更高字节。

8051微控制器特殊功能寄存器(SFRS)图像18

在本教程中,我们已经看到了8051微控制器特殊功能寄存器(SFR),他们的地址,结构,复位值等。

6回应

发表评论

您的电子邮件地址不会被公开。必需的地方已做标记*