8085微处理器模拟十进制向上计数器
这里我们将看到一个8085微处理器程序。在这个程序中,我们将看到如何模拟十进制向上计数器。
问题陈述−
编写一个8085汇编语言程序来模拟十进制向上计数器。它将从0计数到9。然后再次回到0。
讨论−
在本节中,我们正在模拟十进制向上计数器。这里计数器将从0到99计数100个十进制数字。所有值将在每0.5秒更新一次。对于十进制计数,我们使用DAA指令。
注意:为了简单起见,这里我们将数字存储到内存中。为了像计数器一样模拟它,我们可以使用7段显示器来显示数字
输入
这里我们没有提供任何输入。
流程图
程序
地址 | 十六进制代码 | 标签 | 助记符 | 注释 |
---|---|---|---|---|
F000 | AF | | XRA A | 将A初始化为00H |
F001 | 32, 00, 80 | LOOP | STA 8000H | 将A存储到8000H |
F004 | CD, 10, F0 | | CALL DELAY | 等待0.5秒 |
F007 | 3A, 00, 80 | | LDA 8000H | 从8000H取回数据 |
F00A | C6, 01 | | ADI 01H | 将01H与数字相加 |
F00C | 27 | | DAA | 十进制调整 |
F00D | C3, 01, F0 | | JMP LOOP | 跳转到LOOP |
F010 | 01, FF, FF | DELAY | LXI B,FFFFH | 将BC寄存器对初始化为FFFFH |
F013 | 0B | L1 | DCX B | 减少BC |
F014 | 78 | | MOV A,B | 将B移到A |
F015 | B1 | | ORA C | C和E进行或运算 |
F016 | C2, 13, F0 | | JNZ L1 | 如果Z=0,跳转到L1 |
F014 | C9 | | RET | 从子程序返回 |
输出
数字存储在内存位置8000H中。
广告