You are on page 1of 29

Hang EQU P1

Cot EQU P2

hang1 bit P3.0

hang2 bit P3.1

hang3 bit P3.2

hang4 bit P3.3

cot1 bit P3.4

cot2 bit P3.5

cot3 bit P3.6

cot4 bit P3.7

ORG 00H

main:

call Batdau

jmp main

RET

Batdau:

SETB cot1 ; đ?t c?t 1=1

CLR cot2

JB hang1,kt21 ; ki?m tra hàng 2 c?t 1

JNB hang1,$ ; nh?y n?u nút 1 đư?c nh?n

JMP so1 ; nh?y t?i hi?n th? s? 1

kt21:

JB hang2,kt31 ; ki?m tra hàng 3 c?t 1

JNB hang2,$

JMP so4

kt31:

JB hang3,kt41 ; ki?m tra hàng 4 c?t 1


JNB hang3,$

JMP so7

kt41:

JB hang4,ktc2 ; ki?m tra c?t 2

JNB hang4,$

JMP daux

ktc2:

SETB cot2 ; đ?t c?t 2=1

CLR cot3 ; xóa c?t 1=0

JB hang1,kt22 ; ki?m tra hàng 2 c?t 2

JNB hang1,$

JMP so2

kt22:

JB hang2,kt32 ; ki?m tra hàng 3 c?t 2

JNB hang2,$

JMP so5

kt32:

JB hang3,kt42 ; ki?m tra hàng 4 c?t 2

JNB hang3,$

JMP so8

kt42:

JB hang4,ktc3 ; ki?m tra c?t 3

JNB hang4,$

JMP so0

ktc3:

SETB cot3 ; đ?t c?t 3=1

CLR cot4 ; xóa c?t 2=0

JB hang1,kt23 ; ki?m tra hàng 2 c?t 3

JNB hang1,$
JMP so3

kt23:

JB hang2,kt33 ; ki?m tra hàng 3 c?t 3

JNB hang2,$

JMP so6

kt33:

JB hang3,kt43 ; ki?m tra hàng 4 c?t 3

JNB hang3,$

JMP so9

kt43:

JB hang4,ktc4 ; ki?m tra c?t 4

JNB hang4,$

JMP dauH

ktc4:

SETB cot4 ; đ?t c?t 4=1

CLR cot1 ; xóa c?t 3=0

JB hang1,kt24 ; ki?m tra hàng 2 c?t 4

JNB hang1,$

JMP chuA

kt24:

JB hang2,kt34 ; ki?m tra hàng 3 c?t 4

JNB hang2,$

JMP chuB

kt34:

JB hang3,kt44 ; ki?m tra hàng 4 c?t 4

JNB hang3,$

JMP chuC

kt44:

JB hang4,thoat
JNB hang4,$

JMP chuD

thoat:

JMP Batdau

RET

so1:

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#01111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#10111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0BEH

Mov cot,#11011111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00H

Mov cot,#11101111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH
Mov hang,#00H

Mov cot,#11110111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FEH

Mov cot,#11111011B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#11111101B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#11111110B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

jmp so1

Ret

so2:

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#01111111B

Call Delay

Mov hang,#0FFH
Mov cot,#0FFH

Mov hang,#20H

Mov cot,#10111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#20H

Mov cot,#11011111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#24H

Mov cot,#11101111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#24H

Mov cot,#11110111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#04H

Mov cot,#11111011B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#04H

Mov cot,#11111101B

Call Delay
Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#11111110B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

jmp so2

ret

so3:

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#01111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#24H

Mov cot,#10111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#24H

Mov cot,#11011111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#24H

Mov cot,#11101111B
Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#24H

Mov cot,#11110111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00H

Mov cot,#11111011B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00H

Mov cot,#11111101B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#11111110B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

jmp so3

ret

so4:

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH
Mov cot,#01111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#07H

Mov cot,#10111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#07H

Mov cot,#11011111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0E7H

Mov cot,#11101111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0E7H

Mov cot,#11110111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00H

Mov cot,#11111011B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH
Mov hang,#00H

Mov cot,#11111101B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#11111110B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

jmp so4

ret

so5:

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#01111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#04H

Mov cot,#10111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#04H

Mov cot,#11011111B

Call Delay

Mov hang,#0FFH
Mov cot,#0FFH

Mov hang,#24H

Mov cot,#11101111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#24H

Mov cot,#11110111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#20H

Mov cot,#11111011B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#20H

Mov cot,#11111101B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#11111110B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

jmp so5

ret

so6:
Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#01111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00H

Mov cot,#10111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00H

Mov cot,#11011111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#24H

Mov cot,#11101111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#24H

Mov cot,#11110111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#20H

Mov cot,#11111011B
Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#20H

Mov cot,#11111101B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#11111110B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

jmp so6

ret

so7:

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#01111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#3FH

Mov cot,#10111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#30H
Mov cot,#11011111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#20H

Mov cot,#11101111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FH

Mov cot,#11110111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#1FH

Mov cot,#11111011B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#11111101B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#11111110B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH
jmp so7

ret

so8:

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#01111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00H

Mov cot,#10111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00H

Mov cot,#11011111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#24H

Mov cot,#11101111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#24H

Mov cot,#11110111B

Call Delay

Mov hang,#0FFH
Mov cot,#0FFH

Mov hang,#00H

Mov cot,#11111011B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00H

Mov cot,#11111101B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#11111110B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

jmp so8

Ret

so9:

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#01111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#04H

Mov cot,#10111111B

Call Delay
Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#04H

Mov cot,#11011111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#24H

Mov cot,#11101111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#24H

Mov cot,#11110111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00H

Mov cot,#11111011B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00H

Mov cot,#11111101B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#11111110B
Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

jmp so9

ret

chuA:

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0C0H

Mov cot,#01111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#80H

Mov cot,#10111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00100111b

Mov cot,#11011111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00100111b

Mov cot,#11101111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00100111b
Mov cot,#11110111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#80H

Mov cot,#11111011B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0C0H

Mov cot,#11111101B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#11111110B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

jmp chuA

ret

chuB:

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#01111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH
Mov hang,#00H

Mov cot,#10111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00H

Mov cot,#11011111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#24H

Mov cot,#11101111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#24H

Mov cot,#11110111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00H

Mov cot,#11111011B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#81H

Mov cot,#11111101B

Call Delay

Mov hang,#0FFH
Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#11111110B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

jmp chuB

Ret

so0:

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#01111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#81H

Mov cot,#10111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00H

Mov cot,#11011111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#3CH

Mov cot,#11101111B

Call Delay
Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#3CH

Mov cot,#11110111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00H

Mov cot,#11111011B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#81H

Mov cot,#11111101B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#11111110B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

jmp so0

ret

chuC:

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#01111111B
Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#81H

Mov cot,#10111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00H

Mov cot,#11011111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00111100b

Mov cot,#11101111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00111100b

Mov cot,#11110111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00011000b

Mov cot,#11111011B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#10011001b
Mov cot,#11111101B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#11111111B

Mov cot,#11111110B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

jmp chuC

Ret

chuD:

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#01111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00H

Mov cot,#10111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00H

Mov cot,#11011111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH
Mov hang,#3CH

Mov cot,#11101111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#3CH

Mov cot,#11110111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00H

Mov cot,#11111011B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#81H

Mov cot,#11111101B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0FFH

Mov cot,#11111110B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

jmp chuD

Ret

daux:

Mov hang,#0FFH
Mov cot,#0FFH

Mov hang,#66H

Mov cot,#01111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0A5H

Mov cot,#10111111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0C3H

Mov cot,#11011111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00H

Mov cot,#11101111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#00H

Mov cot,#11110111B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0C3H

Mov cot,#11111011B

Call Delay
Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#0A5H

Mov cot,#11111101B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

Mov hang,#66H

Mov cot,#11111110B

Call Delay

Mov hang,#0FFH

Mov cot,#0FFH

jmp daux

ret

dauH:

Mov hang,#0FFH

Mov cot,#0FFH

Mov Cot,#01111111B

Mov Hang,#0DBH

Call Delay

Mov Hang,#0FFH

Mov Cot,#10111111B

Mov Hang,#0DBH

Call Delay

Mov Hang,#0FFH

Mov Cot,#11011111B

Mov Hang,#00H
Call Delay

Mov Hang,#0FFH

Mov Cot,#11101111B

Mov Hang,#0DBH

Call Delay

Mov Hang,#0FFH

Mov Cot,#11110111B

Mov Hang,#0DBH

Call Delay

Mov Hang,#0FFH

Mov Cot,#11111011B

Mov Hang,#00H

Call Delay

Mov Hang,#0FFH

Mov Cot,#11111101B

Mov Hang,#0DBH

Call Delay

Mov Hang,#0FFH

Mov Cot,#11111110B

Mov Hang,#0DBH

Call Delay

Mov Hang,#0FFH

MOV Cot,#0FFH

jmp dauH

RET

Delay: Mov R1,#4

Mov R2,#10

loop: DJNZ R2,$


DJNZ R1,loop

ret

end

You might also like