ORG 00H
KIEMTRA:
JB P0.1,CAODIEM
JB P0.0,BANDEM
JMP BANNGAY
BANDEM:
JB P0.1,KIEMTRA
JNB P0.0,KIEMTRA
MOV P2,#0FFH
MOV P1,#11101101B
CALL DELAY1S
MOV P1,#0FFH
CALL DELAY1S
JMP BANDEM
BANNGAY:
CTA:
MOV P1,#01011110B
MOV R0,#10
MOV R1,#15
LAPA:
JB P0.1,KIEMTRA
JB P0.0,KIEMTRA
CALL HIENTHI
DEC R0
DEC R1
CJNE R0,#0,LAPA
CTB:
MOV P1,#1101110B
MOV R0,#5
MOV R1,#5
LAPB:
JB P0.1,KIEMTRA
JB P0.0,KIEMTRA
CALL HIENTHI
DEC R0
DEC R1
CJNE R0,#0,LAPB
CTC:
MOV P1,#10110011B
MOV R0,#15
MOV R1,#10
LAPC:
JB P0.1,KIEMTRA
JB P0.0,KIEMTRA
CALL HIENTHI
DEC R0
DEC R1
CJNE R0,#5,LAPC
CTD:
MOV P1,#10110101B
MOV R0,#5
MOV R1,#5
LAPD:
JB P0.1,KIEMTRA
JB P0.0,KIEMTRA
CALL HIENTHI
DEC R0
DEC R1
CJNE R0,#0,LAPD
JMP BANNGAY
CAODIEM:
CTE:
MOV P1,#01011110B
MOV R0,#11
MOV R1,#16
LAPE:
JNB P0.1,KIEMTRA
CALL HIENTHI
DEC R0
DEC R1
CJNE R0,#0,LAPE
CTF:
MOV P1,#1101110B
MOV R0,#5
MOV R1,#5
LAPF:
JNB P0.1,KIEMTRA (1 lỗi)
CALL HIENTHI
DEC R0
DEC R1
CJNE R0,#0,LAPF
CTG:
MOV P1,#10110011B
MOV R0,#16
MOV R1,#11
LAPG:
JNB P0.1,KIEMTRA (2 lỗi)
CALL HIENTHI
DEC R0
DEC R1
CJNE R0,#5,LAPG
CTH:
MOV P1,#10110101B
MOV R0,#5
MOV R1,#5
LAPH:
JNB P0.1,KIEMTRA (3 lỗi)
CALL HIENTHI
DEC R0
DEC R1
CJNE R0,#0,LAPH
JMP CAODIEM
HIENTHI:
MOV R3,#100
QUET_LED:
MOV P3,#00H
MOV A,R0
MOV B,#10
DIV AB
MOV DPTR,#MA_LED
MOVC A,@A+DPTR
MOV P2,A
SETB P3.0
CALL DELAY
CLR P3.0
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
SETB P3.1
CALL DELAY
CLR P3.1
MOV A,R1
MOV B,#10
DIV AB
MOV DPTR,#MA_LED
MOVC A,@A+DPTR
MOV P2,A
SETB P3.2
CALL DELAY
CLR P3.2
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
SETB P3.3
CALL DELAY
CLR P3.3
DJNZ R3,QUET_LED
RET
MA_LED:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
RET
DELAY:
MOV R4,#2
LOOP5:
CALL DELAYMS
DJNZ R4, LOOP5
RET
DELAYMS:
MOV R5,#0
LOOP6:
INC R5
NOP
CJNE R5,#250, LOOP6
RET
DELAY1S:
MOV R6,#4
LOOP7:
MOV R7,#250
LOOP8:
CALL DELAYMS
DJNZ R7,LOOP8
DJNZ R6, LOOP7
RET
END
KIEMTRA:
JB P0.1,CAODIEM
JB P0.0,BANDEM
JMP BANNGAY
BANDEM:
JB P0.1,KIEMTRA
JNB P0.0,KIEMTRA
MOV P2,#0FFH
MOV P1,#11101101B
CALL DELAY1S
MOV P1,#0FFH
CALL DELAY1S
JMP BANDEM
BANNGAY:
CTA:
MOV P1,#01011110B
MOV R0,#10
MOV R1,#15
LAPA:
JB P0.1,KIEMTRA
JB P0.0,KIEMTRA
CALL HIENTHI
DEC R0
DEC R1
CJNE R0,#0,LAPA
CTB:
MOV P1,#1101110B
MOV R0,#5
MOV R1,#5
LAPB:
JB P0.1,KIEMTRA
JB P0.0,KIEMTRA
CALL HIENTHI
DEC R0
DEC R1
CJNE R0,#0,LAPB
CTC:
MOV P1,#10110011B
MOV R0,#15
MOV R1,#10
LAPC:
JB P0.1,KIEMTRA
JB P0.0,KIEMTRA
CALL HIENTHI
DEC R0
DEC R1
CJNE R0,#5,LAPC
CTD:
MOV P1,#10110101B
MOV R0,#5
MOV R1,#5
LAPD:
JB P0.1,KIEMTRA
JB P0.0,KIEMTRA
CALL HIENTHI
DEC R0
DEC R1
CJNE R0,#0,LAPD
JMP BANNGAY
CAODIEM:
CTE:
MOV P1,#01011110B
MOV R0,#11
MOV R1,#16
LAPE:
JNB P0.1,KIEMTRA
CALL HIENTHI
DEC R0
DEC R1
CJNE R0,#0,LAPE
CTF:
MOV P1,#1101110B
MOV R0,#5
MOV R1,#5
LAPF:
JNB P0.1,KIEMTRA (1 lỗi)
CALL HIENTHI
DEC R0
DEC R1
CJNE R0,#0,LAPF
CTG:
MOV P1,#10110011B
MOV R0,#16
MOV R1,#11
LAPG:
JNB P0.1,KIEMTRA (2 lỗi)
CALL HIENTHI
DEC R0
DEC R1
CJNE R0,#5,LAPG
CTH:
MOV P1,#10110101B
MOV R0,#5
MOV R1,#5
LAPH:
JNB P0.1,KIEMTRA (3 lỗi)
CALL HIENTHI
DEC R0
DEC R1
CJNE R0,#0,LAPH
JMP CAODIEM
HIENTHI:
MOV R3,#100
QUET_LED:
MOV P3,#00H
MOV A,R0
MOV B,#10
DIV AB
MOV DPTR,#MA_LED
MOVC A,@A+DPTR
MOV P2,A
SETB P3.0
CALL DELAY
CLR P3.0
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
SETB P3.1
CALL DELAY
CLR P3.1
MOV A,R1
MOV B,#10
DIV AB
MOV DPTR,#MA_LED
MOVC A,@A+DPTR
MOV P2,A
SETB P3.2
CALL DELAY
CLR P3.2
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
SETB P3.3
CALL DELAY
CLR P3.3
DJNZ R3,QUET_LED
RET
MA_LED:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
RET
DELAY:
MOV R4,#2
LOOP5:
CALL DELAYMS
DJNZ R4, LOOP5
RET
DELAYMS:
MOV R5,#0
LOOP6:
INC R5
NOP
CJNE R5,#250, LOOP6
RET
DELAY1S:
MOV R6,#4
LOOP7:
MOV R7,#250
LOOP8:
CALL DELAYMS
DJNZ R7,LOOP8
DJNZ R6, LOOP7
RET
END
Comment