Ứng dụng CPU Z80 - Thiết kế và thi công hệ thống báo giờ tự động - 12




LD

BC,138BH

REPH1:

XOR

A


DEC

BC


CP

B


JR

NZ,REPH1S


LD

HL,1000H


LD

(HL),L


LD

HL,1050H


LD

A,(1004H)


LD

(HL),A


INC

HL


LD

A,(1005H)


LD

(HL),A


INC

HL


LD

A,(1006H)


LD

(HL),A


INC

HL


LD

A,(1007H)


LD

(HL),A


CALL

DISPLAY


POP

HL


POP

DE


POP

BC


POP

AF


EI



RETI


Có thể bạn quan tâm!

Xem toàn bộ 105 trang tài liệu này.

Ứng dụng CPU Z80 - Thiết kế và thi công hệ thống báo giờ tự động - 12


Chương trình SKIPTIME.

Mục đích : Thực hiện chức năng về Skiptime : Xem, Xóa, Đặt Ngõ vào : Bảng Skiptime và các phím được ấn

Ngõ ra : Skiptime trong bảng có thể bị xóa, có thể có Skiptime mới được đặt. Hiển thị những thông tin cần thiết về thời gian và báo lỗi

Các thanh ghi sử dụng : A, BC, DE, HL, IY

Các chương trình con sử dụng : DISPLAY, KEYPRO, ERROR


ORG 0028H SKIPTIME: PUSH AF

PUSH BC

PUSH DE

PUSH HL

LD HL,1000H

LD (HL),01H

LD A,10010000B

LD (2001H),A

LD HL,2000H

LD (HL),01101101B

LD (HL),00000110B




LD

(HL),01110011B


LD

(HL),01111000B


LD

(HL),00000110B


LD

(HL),01010100B


LD

(HL),01111001B


LD

BC,0FFFFH

REPT:

XOR

A


DEC

BC


CP

B


JR

NZ,REPT

VIEW0:

LD

IY,1028H


LD

D,01H

VIEW:

XOR

A


LD

(1050H),A


LD

(1053H),A


LD

A,(IY+0)


LD

(1051H),A


LD

B,(IY+1)


LD

HL,1052H


LD

(HL),B


CALL

DISPLAY

WT:

LD

BC,0D07H

WAIT:

XOR

A


DEC

BC


CP

B


JR

NZ,WAIT


LD

A,(4000H)

KEY1:

CP

0FDH


JR

NZ,KEY2


LD

A,(1002H)


CP

0H


JR

Z,WT


CP

D


JR

Z,WT


INC

D


INC

IY


INC

IY


JR

VIEW

KEY2:

CP

0FBH


JR

NZ,KEY3


LD

A,01H


CP

D


JR

Z,WT


DEC

D


DEC

IY


DEC

IY


JR

VIEW

KEY3:

CP

0EFH


JR

NZ,KEY4


LD

HL,1002H


LD

A,(HL)


CP

0H


JP

NZ,DEL




CALL

ERROR


JP

VIEW0

DEL:

DEC

(HL)


SUB

D


ADD

A,A


INC

A


INC

A


LD

C,A


LD

B,00H


PUSH

IY


POP

HL


LD

D,H


LD

E,L


INC

HL


INC

HL


LDIR



JR

VIEW0

KEY4:

CP

0FEH


JR

NZ,KEY5


LD

A,(1002H)


CP

0AH


JR

NZ,SET


CALL

ERROR


JP

VIEW

SET:

ADD

A,A


LD

BC,1028H


LD

H,00H


LD

L,A


ADD

HL,BC


LD

BC,00H


CALL

KEYPRO


LD

HL,1002H


INC

(HL)


JP

VIEW

KEY5:

CP

0F7H


JP

NZ,VIEW

EXIT:

LD

A,10010000B


LD

(2001H),A


XOR

A


LD

HL,2000H


LD

(HL),A


LD

(HL),A


LD

(HL),A


LD

(HL),A


LD

(HL),A


LD

(HL),A


LD

(HL),A


LD

(HL),A


LD

BC,138BH

REPT1:

XOR

A


DEC

BC


CP

B


JR

NZ,REPT1


LD HL,1000H

LD (HL),L

LD HL,1050H

LD A,(1004H)

LD (HL),A

INC HL

LD A,(1005H)

LD (HL),A

INC HL

LD A,(1006H)

LD (HL),A

INC HL

LD A,(1007H)

LD (HL),A

CALL DISPLAY POP HL

POP DE

POP BC

POP AF EI

RETI


Chương trình KEYPRO cho Settime

Mục đích : Xử lí bàn phím để thay đổi thứ, giờ, phút trên màn hình và ghi vào bộ nhớ địa chỉ trong HL

Ngõ vào : mã của phím được ấn .

Ngõ ra : thứ, giờ, phút thay đổi trên màn hình và lưu vào bộ nhớ thứ, giờ, phút đã thay đổi

Các thanh ghi sử dụng : D, BC, HL, AF Chương trình con sử dụng : DISPLAY


KEYPRO:


LD


A,D


LD

(1050H),A


PUSH

BC


LD

A,B


LD

(1051H),A


LD

A,C


LD

(1052H),A


LD

A,00H


LD

(1053H),A


CALL

DISPLAY


LD

BC,0D07H

LOOP1:

XOR

A


DEC

BC


CP

B


JR

NZ,LOOP1


LD

A,(4000H)




POP

BC

KEY1:

CP

0FCH


JR

NZ,KEY2


INC

B


LD

A,18H


CP

B


JR

NZ,KEYPRO


LD

B,00H


JR

KEYPRO

KEY2:

CP

0FAH


JR

NZ,KEY3


DEC

B


LD

A,0FFH


CP

B


JR

NZ,KEYPRO


LD

B,17H


JR

KEYPRO

KEY3:

CP

0FDH


JR

NZ,KEY4


INC

C


LD

A,03CH


CP

C


JR

NZ,KEYPRO


LD

C,00H


JR

KEYPRO

KEY4:

CP

0FBH


JR

NZ,KEY5


DEC

C


LD

A,0FFH


CP

C


JR

NZ,KEYPRO


LD

C,03BH


JR

KEYPRO

KEY5:

CP

0EDH


JR

NZ,KEY6


INC

D


LD

A,09H


CP

D


JR

NZ,KEYPRO


LD

D,02H


JR

KEYPRO

KEY6:

CP

0EBH


JR

NZ,KEY7


DEC

D


LD

A,01H


CP

D


JR

NZ,KEYPRO


LD

D,08H


JR

KEYPRO

KEY7:

CP

0F7H


JR

NZ,KEYPRO


LD

(HL),D


INC

HL




LD INC LD

(HL),B HL (HL),C


LD

A,10010000B


LD

(2001H),A


XOR

A


LD

HL,2000H


LD

(HL),A


LD

(HL),A


LD

(HL),A


LD

(HL),A


LD

(HL),A


LD

(HL),A


LD

(HL),A


LD

(HL),A


LD

BC,138BH

WT:

XOR

A


DEC

BC


CP

B


JR

NZ,WT


RET


Chương trình KEYPRO cho Hottime, Skiptime

Mục đích : Xử lí bàn phím để thay đổi giờ, phút trên màn hình và ghi vào bộ nhớ địa chỉ trong HL

Ngõ vào : mã của phím được ấn .

Ngõ ra : giờ, phút thay đổi trên màn hình và lưu vào bộ nhớ giờ, phút đã thay đổi

Các thanh ghi sử dụng : BC, HL, AF Chương trình con sử dụng : DISPLAY



KEYPRO:


PUSH LD


BC A,B


LD

(1051H),A


LD

A,C


LD

(1052H),A


LD

A,00H


LD

(1053H),A


CALL

DISPLAY


LD

BC,0D07H

LOOP1:

XOR

A


DEC

BC


CP

B


JR

NZ,LOOP1


LD

A,(4000H)


POP

BC

KEY1:

CP

0FCH




JR

NZ,KEY2


INC

B


LD

A,18H


CP

B


JR

NZ,KEYPRO


LD

B,00H


JR

KEYPRO

KEY2:

CP

0FAH


JR

NZ,KEY3


DEC

B


LD

A,0FFH


CP

B


JR

NZ,KEYPRO


LD

B,17H


JR

KEYPRO

KEY3:

CP

0FDH


JR

NZ,KEY4


INC

C


LD

A,03CH


CP

C


JR

NZ,KEYPRO


LD

C,00H


JR

KEYPRO

KEY4:

CP

0FBH


JR

NZ,KEY5


DEC

C


LD

A,0FFH


CP

C


JR

NZ,KEYPRO


LD

C,03BH


JR

KEYPRO

KEY5:

CP

0F7H


JR

NZ,KEYPRO


LD

(HL),B


INC

HL


LD

(HL),C


LD

A,10010000B


LD

(2001H),A


XOR

A


LD

HL,2000H


LD

(HL),A


LD

(HL),A


LD

(HL),A


LD

(HL),A


LD

(HL),A


LD

(HL),A


LD

(HL),A


LD

(HL),A


LD

BC,138BH

WT:

XOR

A


DEC

BC


CP

B


JR

NZ,WT


RET


Chương trình DISPLAY.

Mục đích : hiển thị thứ, giờ, phút, giây ra led 7 đoạn Ngõ vào : Thứ, giờ, phút, giây

Ngõ ra : thứ, giờ, phút, giây hiện trên led 7 đoạn Các thanh ghi sử dụng : AF, BC, DE, HL

7 đoạn của led 7 đoạn tương ứng với 7 bit của byte hiển thị như sau


A

B

C

D

E

F

G

D0

D1

D2

D3

D4

D5

D6

DISPLAY:


AGAIN:


NEXT1:


NEXT2:


NEXT3:

PUSH PUSH PUSH PUSH LD

LD LD INC LD CP JP LD SCF

CCF CP JR SCF CCF CP JR ADD JR SCF CCF CP JR ADD JR SCF CCF CP JR ADD JR SCF

CCF

AF BC DE HL

HL,104FH

C,10001110B DE,1040H HL

A,54H L

Z,EXITD A,(HL)


0AH

C,DISP


14H NC,NEXT1 A,06H

DISP


1EH NC,NEXT2 A,0CH

DISP


28H NC,NEXT3 A,12H

DISP

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 08/09/2023