使用查詢表的延時流水燈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 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告