使用邏輯控制器實現十進位制計數器


我們用匯編語言編寫了 8085 程式,僅用於實現邏輯控制器介面使用的十進位制計數器。起始計數的輸入必須透過完整介面輸入,此外,我們還可以在介面上顯示計數。

我們考慮一個示例程式:

它後面的程式應該總是一個無限迴圈,直到使用者輸入包含有效兩位二進位制編碼十進位制值僅對埠 B。然後,透過傳送到埠 A 來顯示初始計數。每次延遲 0.5 秒時,計數的值就會以十進位制方式遞增 1,並且僅傳送到埠 A 終端進行顯示。計數值從 99 翻滾到 00 後,操作會一直重複下去。

示例程式程式碼如下:

; FILE NAME COUNTER.ASM
ORG C000H

PA EQU D8H
PB EQU D9H
PC EQU DAH

CTRL EQU DBH

DELAY EQU 04BEH

MVI A, 10001010B
OUT CTRL ; Configure 8255 ports in desired modes
; All the next 9 instructions will ensure that control is transferred to next portion of program
; only after Port B receives a valid 2-digit BCD input.
AGAIN: IN PB
ANI 0FH

CPI 0AH
JNC AGAIN

IN PB
ANI F0H

CPI A0H
JNC AGAIN

IN PB
REPEAT: OUT PA ; Now displaying the count value
PUSH PSW

LXI D, FFFFH
CALL DELAY ; Generating delay of 0.5 second

POP PSW
ADI 01H
DAA ; Incrementing A value in decimal
JNZ REPEAT

JMP AGAIN

更新日期:2019-07-30

251 次瀏覽

開啟你的 職場道路

透過完成該課程獲取認證

開始
廣告
© . All rights reserved.