8051单片机中使用的不同类型的寄存器

寄存器是机器的主要部分微控制器和处理器提供了一种快速收集和存储数据的方法。如果我们想通过控制器或处理器执行加法、减法等操作数据,我们不能直接在内存中完成,但它需要寄存器来处理和存储数据。微控制器包含几种类型的寄存器,可以根据它们的内容或操作指令进行分类。

8051微控制器中不同类型的寄存器

注册


寄存器是CPU中的一个小地方,可以存储少量的数据,用于执行各种操作,如加法和乘法,并将结果数据加载到主存储器中。寄存器包含存储数据的内存地址。寄存器的大小是非常重要的现代的控制器.例如,对于64位寄存器,CPU尝试将两个32位数字相加并给出64位结果。

类型的注册

8051单片机主要包含两种寄存器:

  • 通用寄存器(字节可寻址寄存器)
  • 特殊函数寄存器(位可寻址寄存器)
8051 RAM内存
8051 RAM内存

8051单片机由256字节的RAM组成,它分为两种方式,如128字节用于一般用途和128字节用于特殊函数寄存器(SFR)内存。用于一般用途的内存称为RAM,用于SFR的内存包含所有外围相关寄存器,如累加器、' B '寄存器、计时器或计数器和中断相关寄存器。

通用寄存器

通用内存
通用内存

通用存储器称为8051微控制器的RAM,分为银行区、位寻址区和暂存区3个区域。银行包含不同的通用寄存器,如R0-R7,并且所有这样的寄存器都是字节可寻址的寄存器,只存储或删除一个字节的数据。


银行和注册

B0、B1、B2和B3代表银行,每家银行包含8个通用寄存器,范围从R0到R7。所有这些寄存器都是字节可寻址的。通用寄存器与通用寄存器之间的数据传输是不可能的。这些银行是由程序状态字(PSW)寄存器选择的。

通用寄存器
通用寄存器

PSW(程序状态字)寄存器

PSW寄存器是位和字节可寻址寄存器。这个寄存器反映了在控制器中执行的操作的状态。PSW寄存器通过RS1和RS0决定银行选择,如下所示。PSW的物理地址从D0h开始,通过D0h到D7h访问各个位。

PSW寄存器
PSW寄存器

携带国旗(C): Carry标志位的地址为D7。当从第7位生成位时,此进位标志将受到影响。
当C=0时进位重置
C = 1集

携带国旗
携带国旗

辅机国旗(AC):辅助进位地址为D5。当从第3位到第4位生成一个位时,这个辅助进位将受到影响。
AC=0辅助复位
设置AC=1辅助

辅助携带(AC)
辅助携带(AC)

溢出国旗(OV):溢出标志位地址为D2。当从第6位到第7位产生一个位时,溢出标志将受到影响。

OV=0溢出标志重置
OV=1溢出标志集

溢出的旗帜
溢出的旗帜

平价国旗(P):校验标志位地址为D0。在执行算术运算时,如果结果为1,则设置奇偶标志,否则重置。
卢比和RS0
PSW寄存器中的RS1和RS0位用于选择RAM中不同的存储位置(bank0到bank4)。

银行选择寄存器
银行选择寄存器

下面是使用该寄存器的示例。

下面的示例演示了两个数字的加法,然后使用程序集级程序将最终值存储在Bank1寄存器中。

Org 0000 h
MOV PSW, # 00 h
MOV, 15
添加一个,20
MOV 00 h
结束

用于移动bank0寄存器R0-R5中的6个自然数的汇编程序

Org 0000h(起始地址声明)
MOV PSW, #00h(打开bank0内存)
MOV r0, #00h (bank0内存的起始地址)
MOV r1, # 01 h
MOV r2, # 02 h
MOV r2, # 03 h
MOV r3, # 04 h
MOV r4, # 5 h
结束

汇编程序移动bank1寄存器R0-R7中的6个自然数

Org 0000h(起始地址声明)
MOV PSW, #08h(打开bank1内存)
MOV r0, 00h(值发送到bank1内存)
MOV r1, 02年h
MOV r2, 02年h
MOV r2, 03 h
MOV r3, 04 h
MOV r4, 05年h
MOV r5, 06 h
MOV r6, 07年h
MOV r7, 08年h
结束

特殊功能寄存器(SFR)

专用函数寄存器是上层RAM在8051单片机中.这些寄存器包含所有外围相关寄存器,如P0、P1、P2、P3、计时器或计数器、串口和中断相关寄存器。SFR内存地址从80h开始到FFh。SFR寄存器由位地址寄存器和字节地址寄存器实现。

特殊功能寄存器(SFR)

特殊功能寄存器(SFR)

累加器、B寄存器、Po、P1、P2、P3、IE寄存器都是位可寻址寄存器,其余都是字节可寻址寄存器。

蓄电池

累加器也被称为ACC或A,它是一个位,也是一个由累加器地址编址的字节寄存器。如果你想使用一个位可寻址寄存器,你可以使用一个单位(E0)的寄存器,你可以使用一个8位累加器作为一个字节可寻址寄存器。累加器保存大多数算术和逻辑运算的结果。

累加寄存器
累加寄存器

与累加器一起使用的用于减法的汇编程序

Org 0000 h
MOV R0, # 09 h
MOV A, #03h(1字节数据)
SUBB A, 01h(1字节数据)
结束

基址寄存器

b寄存器是位和字节可寻址的寄存器。您可以通过物理地址F0h访问1位或所有8位。假设要访问位1,我们必须使用f1。B寄存器只用于乘法和除法运算。

基址寄存器
基址寄存器

与b寄存器一起使用的乘法汇编程序

Org 0000 h
MOV, # 09 h
MOV B, # 03 h
MUL A, B(存储在A中的最终值)
结束
与b寄存器一起使用的除法汇编程序
Org 0000 h
MOV, # 09 h
MOV B, # 03 h
DIC A, B(存储在A中的最终值)
结束

端口寄存器

8051单片机由4个输入输出端口(P0、P1、P2、P3)或32个i /O引脚组成。每个销用晶体管设计和P寄存器。的销的配置对于依赖于寄存器逻辑状态的微控制器来说是非常重要的。引脚配置为输入1或输出0取决于逻辑状态。如果逻辑1被应用到P寄存器的位上,输出晶体管关闭作为输入引脚的适当引脚。

端口寄存器8051
端口寄存器8051

装配程序切换Port0的led

ORG 0000 h
返回:MOV P0, #00h
驱使着DEL1
MOV P0, # 0 ff
驱使着DEL1
SJMP返回
Del1: mov r2, #200
Del: DJNZ r0, #230
DJNZ R2,▽
受潮湿腐烂
结束

计数器和寄存器

许多微控制器由一个或多个组成定时器和计数器.定时器被用来产生宝贵的时间延迟和定时器的来源是一个晶体振荡器。计数器用于计算外部事件的数量,例如客观的计数器,计数器的源是施加在计数器引脚上的外部脉冲。

8051单片机由两个16位定时器和计数器组成,如定时器0和定时器1。两个计时器都由一个16位寄存器组成,其中较低的字节存储在TL中,较高的字节存储在TH中。定时器可以作为一个计数器以及计时操作,取决于时钟脉冲的来源到计数器。

8051微控制器中的计数器和计时器包含两个特殊的功能寄存器:定时器模式寄存器(TMOD)和定时器控制寄存器(TCON),用于激活和配置计时器和计数器。

移位寄存器的类型

移位寄存器是一种顺序逻辑电路,主要用于存储数字数据。移位寄存器是位可寻址寄存器,只存储一位数据。移位寄存器由触发器构成——一组触发器连接成一个链,这样一个触发器的输出将成为下一个触发器的输入。

所有的触发器都是由d触发器实现的时钟信号驱动的。移位寄存器主要用于串行通信

它们可分为四类:

  • 串行输入串行输出(SISO)
  • 串行输入并行输出(SIPO)
  • 并行输入串行输出(PISO)
  • 并联进并联出(PIPO)
D -触发器注册
D -触发器注册

这些都是8051微控制器中不同类型的寄存器。我们希望我们已经成功地为您提供了相关的内容和适当的程序为每个注册。此外,如果您想了解其他几个寄存器的编码,可以在下面评论与我们联系。

照片学分:

4评论

  1. aron rackara 说:

    这是我今年喜欢的最好的资源网站。
    谢谢。

  2. vimalesh 说:

    在第一个程序中,预期的位置是银行1即08h,但它被发送到00h,这是怎么可能的?但是我喜欢你解释整件事的方式!!

  3. 说真的,考试前的头脑风暴太棒了!非常有益的。

  4. Sandesh 说:

    谢谢很多!我终于明白了。

添加评论