Chuẩn bị thí nghiệm vi điều khiển
Chuẩn bị thí nghiệm vi điều khiển
}
}
HT_9:
MOV DPTR,#8002H; CHO TOI DIA CHI CUA PC
MOV A,#00001001B;
MOVX @DPTR,A;
LJMP KEY1
HT_7:
MOV DPTR,#8002H; CHO TOI DIA CHI CUA PC
MOV A,#00000111B;
MOVX @DPTR,A;
LJMP KEY1
HT_4:
MOV DPTR,#8002H; CHO TOI DIA CHI CUA PC
MOV A,#00000100B;
MOVX @DPTR,A;
LJMP KEY1
HT_1:
MOV DPTR,#8002H; CHO TOI DIA CHI CUA PC
MOV A,#00000001B;
MOVX @DPTR,A;
LJMP KEY1
HT_3:
MOV DPTR,#8002H; CHO TOI DIA CHI CUA PC
MOV A,#11110011B;
MOVX @DPTR,A;
LJMP KEY1
HT_6:
MOV DPTR,#8002H; CHO TOI DIA CHI CUA PC
MOV A,#11110110B;
MOVX @DPTR,A;
LJMP KEY1
HT_2:
MOV DPTR,#8002H; CHO TOI DIA CHI CUA PC
MOV A,#11110010B;
MOVX @DPTR,A;
LJMP KEY1
HT_0:
MOV DPTR,#8002H; CHO TOI DIA CHI CUA PC
MOV A,#11110000B; HIEN THI SO 0
MOVX @DPTR,A;
LJMP KEY1
HT_8:
MOV DPTR,#8002H; CHO TOI DIA CHI CUA PC
MOV A,#11111000B;
MOVX @DPTR,A;
LCALL DELAY
LJMP KEY1
HT_5:
MOV DPTR,#8002H; CHO TOI DIA CHI CUA PC
MOV A,#11110101B;
MOVX @DPTR,A
LJMP KEY1
DELAY:
MOV R1,#4
L1: MOV R2,#10
L2: MOV R3,#249
L3: DJNZ R3,L3
DJNZ R2,L2
DJNZ R1,L1
RET
END
Bài 14: Giao tiếp relay với Led đơn
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN:
;CAI DAT IC 82C55
MOV A,#82H ; CHON PA,PC LA DAU RA CON PB LA
DAU VAO
MOV DPTR,#8003H
MOVX @DPTR,A
MOV DPTR,#8001H ; CHON PORT B
MOV A,#0FFH
MOVX @DPTR,A
;CHUONG TRINH CON KIEM TRA XEM PHIM CO DC AN KHONG
BACK:
MOV DPTR,#8001H
MOVX A,@DPTR
ANL A,#00FH ; CHE CAC BIT KHONG DUNG
CJNE A,#00FH,PHIM_1
SJMP BACK
; CHUONG TRINH CON QUET PHIM
PHIM_1:
LCALL DELAY
MOV DPTR,#8001H
MOVX A,@DPTR ; LAY DU LIEU TU PORT B
ANL A,#0FH
CJNE A,#00001110B,PHIM_2 ; NEU PHIM 1 KO DC AN,NHAY
DEN CHUONG TRINH QUET PHIM 2
SJMP RL_1 ; NEU PHIM 1 DC AN, BAT RELAY 1
PHIM_2: LCALL DELAY
MOV DPTR,#8001H
MOVX A,@DPTR ; LAY DU LIEU TU PORT B
ANL A,#0FH
CJNE A,#00001101B,PHIM_3
SJMP RL_2
PHIM_3: LCALL DELAY
MOV DPTR,#8001H
MOVX A,@DPTR ; LAY DU LIEU TU PORT B
ANL A,#0FH
CJNE A,#00001011B,PHIM_4
SJMP RL_3
PHIM_4: LCALL DELAY
MOV DPTR,#8001H
MOVX A,@DPTR ; LAY DU LIEU TU PORT B
ANL A,#0FH
CJNE A,#00000111B,BACK
SJMP RL_4
; CHUONG TRINH DIEU KHIEN RELAY
RL_1: MOV DPTR,#8000H ; CHO TOI DIA CHI CUA PORT A
MOV A,#00000001B
MOVX @DPTR,A
LJMP BACK
RL_2:
MOV DPTR,#8000H
MOV A,#00000010B
MOVX @DPTR,A
LJMP BACK
RL_3:
MOV DPTR,#8000H
MOV A,#00000100B
MOVX @DPTR,A
LJMP BACK
RL_4:
MOV DPTR,#8000H
MOV A,#00001000B
MOVX @DPTR,A
LJMP BACK
RET
;HAM TRE
DELAY: mov r0,#1
loop1:mov r1,#10
loop2:mov r2,#255
loop3:djnz r2,loop3
djnz r1,loop2
djnz r0,loop1
ret
END
CHỈNH SỬA BÀI CỦA THẦY:
org 00h
ljmp main
org 30h
main:
mov a,#10000010b
mov dptr,#strc
movx @dptr,a
mov a,#0ffh
mov dptr,#portb
movx @dptr,a
back:
acall delay
mov dptr,#portb
movx a,@dptr
anl a,#0fh
cjne a,#0fh,over
sjmp back
over:
acall delay
mov dptr,#portb
movx a,@dptr
anl a,#00001111b
cjne a,#00001110b,but1
sjmp rl_0
but1:
mov dptr,#portb
movx a,@dptr
anl a,#00001111b
cjne a,#00001101B,but2
sjmp rl_1
but2:
mov dptr,#portb
movx a,@dptr
anl a,#00001111b
cjne a,#00001011B,but3
sjmp rl_2
but3:
mov dptr,#portb
movx a,@dptr
anl a,#00001111b
cjne a,#00000111B,but1
sjmp rl_3
rl_0:
mov a,#00000001b
mov dptr,#porta
movx @dptr,a
ljmp back
rl_1:
mov a,#00000010b
mov dptr,#porta
movx @dptr,a
ljmp back
rl_2:
mov a,#00000100b
mov dptr,#porta
movx @dptr,a
ljmp back
rl_3:
mov a,#00001000b
mov dptr,#porta
movx @dptr,a
ljmp back
delay: mov r0,#1
loop1:mov r1,#10
loop2:mov r2,#255
loop3:djnz r2,loop3
djnz r1,loop2
djnz r0,loop1
ret
delayrun:
mov r0,#3
loop11: mov r1,#255
loop12: mov r2,#255
loop13: djnz r2,loop13
djnz r1,loop12
djnz r0,loop11
ret
end