找到 475 篇文章 关于 8085

8051 程序:两个 8 位数相加

Chandu yadav
更新于 2023年10月31日 02:58:32

29K+ 次浏览

Intel 8051 是一款 8 位微控制器。它拥有许多强大的指令和 IO 访问技术。在本节中,我们将看到一个使用 8051 的最简单的程序。这里我们将使用此微控制器将两个 8 位数相加。寄存器 A(累加器)用作运算中的一个操作数。在不同的寄存器组中,有七个寄存器 R0 – R7。我们可以使用其中的任何一个作为第二个操作数。我们将在地址 20H 和 21H 处取两个数字 5FH 和 D8H,将它们相加后,结果将存储在地址 30H 和 31H 处。  地址值...20H5FH21HD8H...30H00H31H00H...程序MOVR0, #20H;将源地址 20H 设置为 R0 ... 阅读更多

四位十六进制数转换为 ASCII 码在 8051 中

George John
更新于 2020年6月27日 12:53:30

516 次浏览

我们已经了解了如何将十六进制数字转换为其 ASCII 等价物。在本节中,我们将了解如何将两字节(4 位)十六进制数转换为 ASCII 码。这些数字的每个 nibble 都转换为其 ASCII 值。我们使用一个子程序将十六进制数字转换为 ASCII 码。在此程序中,我们多次调用子程序。在内存中,我们存储在地址 20H 和 21H 处的两字节十六进制数。转换后的 ASCII 值存储在地址 30H 到 33H 处。十六进制数是 2FA9H。ASCII 等价物是 32 46 41 39。地址值...20H2FH21HA9H...程序        MOVR0, ... 阅读更多

8051 中的位操作程序

Ankith Reddy
更新于 2020年6月27日 12:54:00

4K+ 次浏览

在本节中,我们将看到一些使用 8051 的位操作。8051 支持对 8 位数的不同位进行一些操作。这些操作例如取反、设置为 1、移动、与、或等。在本例中,我们从地址 10H 获取一个数字 AEH,然后在对该数据执行以下位相关操作后,我们只是将结果存储在地址 30H 处。将对该数据执行的位相关操作如下:取反位 b2将 b5 移动到 b4对 b0 和 b1 的反码进行或运算并存储到 C (b7)设置 b6重置位 b3输入为 AEH位位置b7b6b5b4b3b2b1b0值10101110输出位位置b7b6b5b4b3b2b1b0值01110010输出将是 ... 阅读更多

8051 中的十六进制转换为 ASCII 码

Arjun Thakur
更新于 2020年6月27日 12:54:14

5K+ 次浏览

现在我们将了解如何使用 8051 将十六进制数转换为其 ASCII 等价物。此程序可以将 0-9 和 A-F 转换为其 ASCII 值。我们知道数字 00H 的 ASCII 码是 30H (48D),而 09H 的 ASCII 码是 39H (57D)。因此所有其他数字都在 30H 到 39H 的范围内。0AH 的 ASCII 值是 41H (65D),而 0FH 的 ASCII 值是 46H (70D),因此所有其他字母(B、C、D、E)都在 41H 到 46H 的范围内。这里我们在内存地址 20H 处提供十六进制数字,ASCII 等价物存储在地址 30H 处。地址值...20H0EH21H...程序MOVR0, ... 阅读更多

8051 中的 BCD 码转换为二进制

Chandu yadav
更新于 2020年6月27日 12:54:30

3K+ 次浏览

在这个问题中,我们将了解如何将 8 位 BCD 码转换为其二进制(十六进制)等价物。BCD 码存储在地址 20H 处。转换后,结果将存储在 30H 处。因此,假设数据为 D5H。程序将 D5H 的二进制值转换为 BCD 值 213D。地址值...20H9421H...程序   MOVR0, #20H;初始化数据的地址    MOVA, @R0;从存储在 R0 中的地址获取数据    MOVR2, A;将 A 的内容存储到 R2 中        CLRA;将 A 的内容清零为 00H    MOVR3, #00H LOOP:   ADDA, #01H;递增 A ... 阅读更多

8051 中的二进制转换为 BCD 码

George John
更新于 2020年6月27日 12:54:47

3K+ 次浏览

在这个问题中,我们将了解如何将 8 位二进制数转换为其 BCD 等价物。二进制数存储在地址 20H 处。转换后,结果将存储在 30H 和 31H 处。30H 将保存 MS 部分,而 31H 将保存 LS 部分。因此,假设数据为 D5H。程序将 D5H 的二进制值转换为 BCD 值 213D。地址值...20HD521H...程序MOVR1, #20H;将地址 20H 存储到 R1 中 MOVA, @R1;将数据存储到 Acc 中 MOVB, #0AH;将 B 加载为 AH = 10D DIVAB ;将 A 除以 B MOVR5, B;存储余数 MOVB, #0AH;将 B 加载为 AH = 10D DIVAB ;将 A ... 阅读更多

在 8051 中将多字节 BCD 码右移

Ankith Reddy
更新于 2020年6月27日 12:55:03

306 次浏览

这里我们将看到一个将一些多字节 BCD 码右移的问题。BCD 码右移两位(8 位)。让我们考虑一个四字节 BCD 码 (45 86 02 78) 存储在地址 20H、21H、22H、23H 处。地址 10H 保存整个 BCD 码的字节数。因此,执行此代码后,内容将右移,20H 将保存 00H。地址值...20H4521H8622H0223H78...程序        CLRA;清除寄存器 A         MOVR2, 10H;获取字节计数         INCR2;增加 R2 用于循环         MOVR1, ... 阅读更多

8051 中的程序分支组

Arjun Thakur
更新于 2020年6月27日 12:56:44

5K+ 次浏览

在 8051 微控制器中,逻辑组下有 17 条不同的指令。总共有 46 个操作码。这些指令不影响标志位,但 CJNE 会影响 CY 标志。在这些指令中,使用了 11 位地址和 16 位地址。在下表中,我们将看到助记符、长度、以机器周期表示的执行时间、操作码数量等。助记符字节数执行时间操作码数ACALL addr11228LCALL addr16321RET121RETI121AJMP addr11228LJMP addr16321SJMP rel221JMP @A+DPTR121JZ rel221JNZ rel221CJNE A, a8, rel321CJNE A, #d8, rel321CJNE Rn, #d8, rel328CJNE @Ri, #d8, rel322DJNE Rn, rel228DJNZ a8, rel321NOP111示例序号指令和说明1LJMP LABEL此示例为 LJMP addr16。 ... 阅读更多

8051 中的位处理组

Chandu yadav
更新于 2020年6月27日 13:04:59

3K+ 次浏览

在 8051 微控制器中,逻辑组下有 17 条不同的指令。总共有 17 个操作码。进位标志 (CY) 在不同的位处理指令中充当单比特累加器。在下表中,我们将看到助记符、长度、以机器周期表示的执行时间、操作码数量等。助记符字节数执行时间操作码数CLR C111CLR bit211SETB C111SETB bit211CPL C111CPL bit211ANL C, bit221ANL C, /bit221ORL C, bit221ORL C, /bit221MOV C, bit211MOV bit, C221JC rel221JNC rel221JB bit, rel321JNB bit, rel321JBC bit, rel321示例序号指令和说明1CLR C此指令用于将进位标志清零为 0。2SETB 0D5H此 SETB 类型的指令 ... 阅读更多

8051 中的逻辑组

George John
更新于 2020年6月27日 13:06:59

6K+ 次浏览

在 8051 微控制器中,逻辑组下有 25 条不同的指令。总共有 49 个操作码。进位标志 (CY) 仅受指令 RRC 和 RLC 影响。在下表中,我们将看到助记符、长度、以机器周期表示的执行时间、操作码数量等。助记符字节数执行时间操作码数ANL A, Rn118ANL A, a8211ANL A, @Ri112ANL A, #d8211ANL a8, A211ANL a8, #d8321ORL A, Rn118ORL A, a8211ORL A, @Ri112ORL A, #d8211ORL a8, A211ORL a8, #d8321XRL A, Rn118XRL A, a8211XRL A, @Ri112XRL A, #d8211XRL a8, A211XRL a8, #d8321CLR A111CPL A111RL A111RLC A111RR A111RRC A111SWAP A111示例序号指令和说明1ANL A, R5此 ... 阅读更多

广告