11K+ 次浏览
在 8051 微控制器中,算术指令组下有 24 条不同的指令。总共有 64 条操作码。进位标志 (CY)、辅助进位 (AC) 和溢出标志 (OV) 会根据 ADD、ADDC、SUBB 等指令的结果而变化。乘法和除法指令会清除进位标志,并且不会影响 AC 标志。乘法执行后,如果结果大于 FFH,则 OV 标志为 1,否则为 0。类似地,除法执行后,如果除法前 B 的内容为 00H,则 OV 标志为 1,否则为 0。DA ... 阅读更多
在 8051 微控制器中,数据传输指令组下有 28 条不同的指令。总共有 79 条操作码。数据传输指令不会影响标志,但如果使用数据传输指令更改了 A 寄存器的值,则 P(奇偶校验)标志可能会更改。类似地,当数据传输到 PSW 寄存器时,标志将发生变化。在下表中,我们将看到助记符、长度、以机器周期表示的执行时间、操作码数量等。助记符字节数执行时间操作码数量MOV A, Rn 1 1 8MOV A, a8 2 1 1MOV A, @Ri 1 1 2MOV A, #d8 2 1 1MOV Rn, A 1 1 8MOV Rn, a8 2 2 8MOV Rn, ... 阅读更多
23K+ 次浏览
8051 微控制器的指令可以分为五个不同的组。这些组如下所示:数据传输组、算术组、逻辑组、程序跳转组、位处理组。这个位处理组也称为布尔变量操作。像 8085 一样,有些指令有两个操作数。第一个操作数是目标,第二个操作数是源。在下面的例子中,你将看到一些符号。符号如下所示:Rn = 从 R0 到 R7 的任何寄存器 Ri = R0 或 R1 d8 = 任何 8 位立即数数据 (00H 到 FFH) d16 = 16 位立即数数据 a8 = 8 位地址位 = 8 位地址 ... 阅读更多
157K+ 次浏览
在本节中,我们将了解 8051 微控制器的不同寻址方式。在 8051 中,存在 1 字节、2 字节指令,很少有 3 字节指令。操作码长度为 8 位。由于操作码是 8 位数据,因此共有 256 种可能性。在 256 种可能性中,实现了 255 条操作码。时钟频率为 12MHz,因此 64 种指令类型只需 1 µs 即可执行,其余只需 2 µs。乘法和除法运算需要 4 µs 来执行。在 8051 中,有六种寻址方式:立即寻址方式、寄存器寻址方式、直接寻址方式、寄存器间接寻址方式、索引寻址方式、隐含寻址方式。立即寻址方式在此立即寻址方式中,数据 ... 阅读更多
2K+ 次浏览
现在让我们从程序员的角度来看一下内部寄存器、内存和其他细节。这些组件包括:八个寄存器 (8 位) R0 到 R7 寄存器 A 和 B。这些也是 8 位寄存器 PSW、堆栈指针 (SP)、四个端口 (P0 到 P3)。这些也是 8 位 16 位 DPTR 寄存器。它分为两个 8 位寄存器,分别是 DPH 和 DPL 从 08H 到 7FH 的数据 RAM 从 0000H 到 FFFFH 的程序存储器 16 位程序计数器 (PC)
17K+ 次浏览
8051 微控制器的内部 RAM 有两个部分。第一个部分用于寄存器组、位寻址内存位置、堆栈等。另一部分是 SFR(特殊功能寄存器)区域。在此微控制器中,只能使用 SFR 区域中的 21 个地址。在这 21 个位置中,有 11 个是位寻址 SFR 位置。位寻址 SFR 如下所示:寄存器字节地址位地址P0(端口 0)80H 80H 到 87HP1(端口 1)90H 90H 到 97HP2(端口 2)A0H A0H 到 A7HP3(端口 3)B0H B0H 到 B7HPSW D0H D0H 到 D7H寄存器 A(累加器)E0H E0H 到 E7H寄存器 B F0H F0H 到 F7HTCON(定时器控制)88H 88H 到 8FHSCON(串行控制)98H 98H 到 9FHIE(中断使能)A8H A8H 到 AFHIP(中断优先级)B8H B8H 到 BFH现在让我们 ... 阅读更多
34K+ 次浏览
8051 的内部数据内存分为两组。一组是八个寄存器,另一组是暂存器内存。这八个寄存器是 R0 到 R7。地址范围 00H 到 07H 用于访问寄存器,其余为暂存器内存。8051 提供四个寄存器组,但一次只能使用一个寄存器组。要选择寄存器组,可以使用 PSW(程序状态字)的两位。因此,可以使用以下寻址方式来选择寄存器组。地址范围寄存器组00H 到 07H寄存器组 008H 到 0FH寄存器组 110H 到 ... 阅读更多
8051 具有 128 字节的片上 RAM。因此,访问该 RAM 区域的地址空间为 00H 到 7FH。当我们需要更多数据内存时,可以使用外部 RAM。外部 RAM 的地址空间为 0000H 到 FFFFH。可以添加外部和内部数据内存来增加数据内存的总量。当我们尝试访问外部数据内存时,则读取 RD 或写入 WR 将是 8051 的输出。外部数据内存地址可以是 8 位或 16 位宽。通常,使用一个 8 位地址 ... 阅读更多
我们已经讨论过 8051 微控制器具有内部程序存储器。在这个芯片中,有一个 EA 引脚。它指示外部访问。因此,通过使用此引脚,我们可以检查是否使用了内部程序存储器。因此,当此引脚有低电平时,不使用内部 4K 字节的程序存储器,但在这种情况下,它只能访问 ROM。当我们尝试访问外部数据内存时,则读取 RD 或写入 WR 将是 8051 的输出。因此,要从 ... 阅读更多
6K+ 次浏览
8051 微控制器有各种版本。这些版本是 8051H、8051BH 和 8051CH。这里我们将看到普通的 8051 微控制器。该微控制器使用 +5V 直流电源工作。由于它具有片上时钟电路,因此我们只需要在 XTAL1 和 XTAL2 引脚之间使用晶体振荡器以及两个附加电容。正如我们提到的那样,普通时钟频率为 12MHz,但 8051 的其他一些版本使用 20MHz 晶体振荡器。有一个时钟分频电路来分频时钟频率以提供内部时钟脉冲。因此,对于 12MHz 时钟,它被分成 ... 阅读更多