Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 84
DEMP
DEMP : Đây là chương trình con có nhiệm vụ lấy nội dung trong
bốn ô mã phím.
Input : Lấy nội dung trong các ô mã phím.
( Add
qp+0
, Add
qp+1,
Add
qp+2,
Add
qp+3
)
Output : Kết quả được lưu trữ vào cặp thanh ghi DE
Có gọi ORMP
Ngoài DE chương trình không thay đổi nội dung các
thanh ghi.
DEMP
PUSH PSW LDA Add
QP+1
PUSH B ORA B
LDA Add
QP+0
MOV D, A
RLC CALL ORMP
RLC MOV E, A
RLC POP B
RLC POP PSW
MOV B, A RET
DPFIND
DPFIND : Đây là chương trình con có nhiệm vụ hiển thò “FIND”
Input : Không
Output : Hiển thò
Không thay đổi nội dung các thanh ghi
Có gọi DELAY 0.1
Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 85
DPFIND
PUSH PSW MVI A, 83H
MVI A, C3 STA Add
CT79
STA Add
CT79
MVI A, 5EH
MVI A,01H STA Add
DT79
CALL DELAY 0.1 MVI A, 86H
MVI A, 80H STA Add
CT79
STA Add
CT79
MVI A, 80H
MVI A, 71 STA Add
DT79
STA
Add
DT79
MVI A, 02H
MVI A, 81H CALL DELAY 0.1
STA Add
CT79
MVI A, 87H
MVI A, 10H STA Add
CT79
STA Add
DT79
MVI A, 80H
MVI A, 82H STA Add
DT79
STA Add
CT79
POP PSW
MVI A, 54H RET
STA ADD
DT79
DPHL
DPHL : Đây là chương trình con có nhiệm vụ hiển thò nội dung
thanh ghi HL ra led 7 đoạn.
Input : Nội dung thanh ghi HL.
Output : Hiển thò
Không thay đổi nội dung các thanh ghi
Có gọi CODE2
Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 86
DPHL
PUSH PSW CALL CODE2
PUSH D MVI A, 82H
MOV A, H STA Add
CT79
CALL CODE2 MOV A, D
MVI A, 80H STA Add
DT79
STA Add
CT79
MVI A, 83H
MOV A, D STA Add
CT79
STA Add
DT79
MOV A,E
MVI A, 81H STA Add
DT79
STA Add
CT79
POP D
MOV A, E POP PSW
STA Add
DT79
RET
MOV A,L
DPHLM
DPHLM : Đây là chương trình con có nhiệm vụ hiển thò đòa chỉ và
dữ liệu hiện tại đòa chỉ đó.
Input : HL chứa đòa chỉ cần hiển thò.
Ouput : Hiển thò
Không thay đổi nội dung các thanh ghi
Có gọi DPHL và DPM.
DPHLM
PUSH PSW STA Add
CT79
CALL DPHL MVI A, 00H
MVI A, 84H STA Add
DT79
STA Add
CT79
CALL DPM
MVI A, 00H POP PSW
STA Add
DT79
RET
MVI A, 85H
Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 87
DPM
DPM : Là chương trình con hiển thò thông báo nạp đòa chỉ vào
thanh ghi PC.
Input : Không
Output : Hiển thò
Không ảnh hưởng các thanh ghi
Có gọi DELAY 0.1
DPM
PUSH PSW MVI A, 87H
PUSH B STA Add
CT79
PUSH D MOV A, E
MOV A, M STA Add
DT79
CALL CODE2 STA Add
HT+7
MVI A, 86H POP D
STA Add
CT79
POP B
MOV A, D POP PSW
STA Add
DT79
RET
STA Add
HT+6
DP PC
DP PC : Là chương trình con hiển thò thông báo nạp đòa chỉ vào
thanh ghi PC.
Input : Không
Output : Hiển thò
Không ảnh hưởng tới các thanh ghi
Có gọi DELAY 0.1
Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 88
DP PC
PUSH PSW MVI A, 39H
MVI A, C3H STA Add
DT79
STA Add
CT79
MVI A, 82H
MVI A, 01H STA Add
CT79
CALL DELAY 0.1 MVI A, 48H
MVI A, 80H STA Add
DT79
STA Add
CT79
MVI A, 83H
MVI A,63H STA Add
CT79
STA Add
DT79
MVI A, 00H
MVI A, 81H STA Add
DT79
STA Add
CT79
POP PSW
RET
DP REG
DP REG : Đây là chương trình con có nhiệm vụ hiển thò nội dung
thanh ghi A.
Input : Nạp thanh ghi cần hiển thò vào A.
Output : Hiển thò
Có gọi CODE2
DP REG
PUSH PSW MVI A, 87H
PUSH B STA Add
CT79
PUSH D MOV A, E
CALL CODE2 STA Add
DT79
MVI A, 86H STA Add
HT+7
STA Add
CT79
POP D
MOV A, D POP B
STA Add
DT79
POP PSW
STA Add
HT+6
RET
Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 89
CODE 1
CODE 1 : Là chương trình con đổi các số Hexa từ 00H 0FH ra
một kí tự 7 đoạn bằng cách tra bảng mã.
Input : Nạp mã cần đổi vào thanh ghi A
Output : Kết quả được ghi vào thanh ghi A.
Không thay đổi nội dung các thanh ghi ngoài thanh ghi
A
CODE 1
PUSH H
MOV L, A
MVI H, ; nạp đòa chỉ cao bảng mã
MOV A, M
POP H
RET
CODE 2
CODE 2: Đây là chương trình con đổi mã hai kí tự Hexa ra hai kí
tự led 7 đoạn.
Input : Nạp mã cần chuyển đổi vào A.
Output : Ký tự hiển thò cho 4 bit cao được lưu vào thanh ghi D
Ký tự hiển thò cho 4 bit thấp lưu vào thanh ghi E
Có gọi CODE 1
CODE 2
Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 77
PUSH PSW
PUSH B
MOV B, A
RRC
RRC
RRC
RRC
ANI 0FH
CALL CODE 1
MOV D, A
MOV A, B
ANI 0FH
CALL CODE 1
MOV E, A
POP B
POP PSW
RET
HELLO
HELLO : Là chương trình con hiển thò chữ “HELLO”, sau đó, hiển thò
con trỏ.
Input : Không
Output : Hiển thò
Chương trình không thay đổi nội dung các thanh ghi
Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 89
HELLO
PUSH B MVI A, 02H
PUSH PSW CALL DELAY 0.1
MVI B, 00H MVI A, 3F
MVI A, C3H STA Add
DT79
STA Add
CT79
MVI A, 02H
MVI A, 01H CALL DELAY 0.1
CALL DELAY 0.1 MVI A, 00H
MVI A,98H STA Add
DT79
STA Add
CT79
INR B
MVI A, 76H MOV A, B
STA Add
DT79
CPI 08H
MVI A, 02H JZ *2
CALL DELAY 0.1 JMP *1
MVI A, 79H MVI A, 91H
STA Add
DT79
STA Add
CT79
MVI A. 02H MVI A, 3FH
CALL DELAY 0.1 STA Add
DT79
MVI A, 38H STA Add
DT79
STA Add
DT79
STA Add
DT79
MVI A, 02H STA Add
DT79
CALL DELAY 0.1 MVI A, 80H
MVI A, 38H STA Add
CT79
STA Add
DT79
POP PSW
POP B
RET
KYTUB
KYTUB : Là một chương trình con hiển thò kí tự và dấu bằng.
Input : Nạp mã 7 đoạn của kí tự cần hiển thò vào thanh ghi B.
Output : Hiển thò kí tự và dấu bằng.
Không làm thay đổi nội dung các thanh ghi.
Thieỏt keỏ Thieỏt bũ thửùc taọp vi xửỷ lớ 8085 Trang 90
KYTUB
PUSH PSW
MVI A, 80H
STA Add
CT79
MOV A, B
STA Add
DT79
MVI A, 81H
STA Add
CT79
MVI A, 48H
STA Add
DT79
MVI A, 82H
STA Add
CT79
MVI A, 00H
STA Add
DT79
MVI A, 83H
STA Add
CT79
MVI A, 00H
STA Add
DT79
MVI A, 84H
STA Add
CT79
MVI A, 00H
STA Add
DT79
MVI A, 85H
STA Add
CT79
MVI A, 00H
STA Add
DT79
POP PSW
RET
Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 78
ORMP
ORMP : Đây là chương trình con hợp hai byte mã phím thành một
byte.
Input : Lấy dữ liệu trong Add
qp+2
và Add
qp+3
Output : Kết quả được trữ trong thanh ghi A.
Chương trình không thay đổi các thanh ghi khác.
ORMP
PUSH B MOV B, A
LDA Add
qp+2
LDA Add
qp+3
RLC ORA B
RLC POP B
RLC RET
RLC
XADD
XADD : Đây là chương trình con hiển thò “ADD” ra màn hình.
Input : Không
Output : Hiển thò
Chương trình không thay đổi nội dung các thanh ghi.
Có gọi chương trình DELAY 0.1
XADD
PUSH PSW STA Add
CT79
MVI A, C3H MVI A, 5EH
STA Add
CT79
STA Add
DT79
MVI A, 01H MVI A, 82H
CALL DELAY 0.1 STA Add
CT79
MVI A, 80H MVI A, 5EH
STA Add
CT79
STA Add
DT79
MVI A, 77H POP PSW
STA Add
DT79
RET
MVI A, 81H