使用查找表的延时流水灯8085程序。


我们将在这里学习如何使用8085实现带延时的流水灯。

问题陈述

编写8085程序,使用从内存地址8100H开始存储的字查找表实现带适当延时的流水灯显示。

讨论

模式存储在8100H地址及以后的位置。我们使用8255端口IC在LED显示器上显示内容。显示完成后,它调用延迟函数等待一段时间,然后从内存调用下一个字节进行显示。因此,显示模式如下所示:

 

程序

地址
十六进制代码
标签
助记符
注释
8000
31, 00, 82
START
LXI SP, 8200 H
初始化堆栈指针
8003
0E, 15
 
MVI C, 14 H
初始化计数器
8005
21, 00, 81
 
LXI H, 8100 H
指向模式输入缓冲区
8008
3E, 99
 
MVI A, CW
将控制字加载到累加器
800A 
D3, 43
 
OUT 43 H
将控制字输出到控制寄存器
800C 
7E
AGAIN
MOV A, M
读取模式字节
800D 
D3, 41
 
OUT 41 H
输出到B端口
800F 
CD, 20, 80
 
CALL DELAY
调用延迟子程序
8012
2C
 
INR L
指向下一个位置
8013
0D
 
DCR C
递减计数器
8014
C2, 0C, 80
 
JNZ AGAIN
如果未耗尽,则再次执行
8017
76
 
HLT
停止
8020
C5
DELAY
PUSH B
保存B。此延迟子程序使用2个单寄存器A和D以及1个寄存器对BC
8021
F5
 
PUSH PSW
保存PSW
8022
16, 0F
 
MVI D, 0F H
加载外循环计数器
8024
01, 00, 10
ST
LXI B, 1000 H
加载内循环计数器
8027
0B
L
DCX B
递减内循环计数器
8028
79
 
MOV A, C
如果未耗尽,则再次执行内循环
8029
B0
 
ORA B
 
802A 
C2, 27, 80
 
JNZ L
 
802D 
15
 
DCR D
递减外循环计数器
802E 
C2, 24, 80
 
JNZ ST
如果未耗尽,则再次执行外循环
8031
F1
 
POP PSW
恢复PSW
8032
C1
 
POP B
恢复B
8033
C9
 
RET
返回到调用程序

 

 

 

更新于:2019年7月30日

851 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告