📄 td_tt.asm
字号:
MOV BYTE_LED_CAO,ENCODER_CAO
CALL KT_VUNG_DO_DUONG_NUA_TRAI
CALL DK_DO_DUONG
JMP LOOP_CHAY_THANG_NUA_TRAI
THOAT_CHAY_THANG_NUA_TRAI:
RET
;======================= CHAY THANG NUA TRAI DOC ENCODER ==================================================
;INPUT : ENCODER
CHAY_THANG_NUA_PHAI:
SETB ACT_ENCODER_PHAI
LOOP_CHAY_THANG_NUA_PHAI:
JNB ACT_ENCODER_PHAI,THOAT_CHAY_THANG_NUA_PHAI
MOV BYTE_LED_THAP,ENCODER_THAP ;<----
MOV BYTE_LED_CAO,ENCODER_CAO
CALL KT_VUNG_DO_DUONG_NUA_PHAI
CALL DK_DO_DUONG
JMP LOOP_CHAY_THANG_NUA_PHAI
THOAT_CHAY_THANG_NUA_PHAI:
RET
;======================= CHAY THANG DOC ENCODER ==================================================
;INPUT : ENCODER
CHAY_THANG_ENCODER:
SETB ACT_ENCODER_PHAI
LOOP_CHAY_THANG_ENCODER:
JNB ACT_ENCODER_PHAI,THOAT_CHAY_THANG_ENCODER
;MOV BYTE_LED_THAP,ENCODER_THAP ;<----
;MOV BYTE_LED_CAO,ENCODER_CAO
CALL KT_VUNG_DO_DUONG
CALL DK_DO_DUONG
JMP LOOP_CHAY_THANG_ENCODER
THOAT_CHAY_THANG_ENCODER:
RET
;======================= CHAY THANG TIM VACH NGANG ============================
CHAY_THANG_TIM_VACH_NGANG:
MOV BANH_TRAI,#50
MOV BANH_PHAI,#50
CALL KT_QUA_VACH_NGANG ;CHONG NHIEU NHAN NHAM VACH NGANG
LOOP_CHAY_THANG_TIM_VACH_NGANG:
CALL KT_QUA_VACH_NGANG
JB BIT_QUA_VACH_NGANG,THOAT_CHAY_THANG_TIM_VACH_NGANG
CALL KT_VUNG_DO_DUONG
CALL DK_DO_DUONG
SJMP LOOP_CHAY_THANG_TIM_VACH_NGANG
THOAT_CHAY_THANG_TIM_VACH_NGANG:
RET
;======================= CHAY THANG TIME OUT ============================
CHAY_THANG_TIME_OUT:
INC BYTE_DELAY_CAO
SETB TR0
LOOP_CHAY_THANG_TIME_OUT:
JNB TR0,THOAT_CHAY_THANG_TIME_OUT
MOV BYTE_LED_CAO,ENCODER_CAO
MOV BYTE_LED_THAP,ENCODER_THAP
CALL KT_VUNG_DO_DUONG
CALL DK_DO_DUONG
JMP LOOP_CHAY_THANG_TIME_OUT
THOAT_CHAY_THANG_TIME_OUT:
CALL DUNG
RET
;======================= HAM DO DUONG DEM VACH =========================================================
CHAY_THANG:
; << ... >> : SU KIEN
; DOAN 1: BIT_TIM_VACH=0,ACT_ENCODER_PHAI=1 ; <<BIT_TIM_VACH=0,ACT_ENCODER_PHAI=0>>
; DOAN 2: BIT_TIM_VACH=1,ACT_ENCODER_PHAI=1,BIT_QUA_VACH_NGANG=0 ; <<BIT_TIM_VACH=1,BIT_QUA_VACH_NGANG=1,ACT_ENCODER_PHAI=1>> ; <<BIT_TIM_VACH=1,ACT_ENCODER_PHAI=0>>
;------- TIM_VACH_DAU_TIEN -------------------------------------------------------
CALL KT_QUA_VACH_NGANG ;CHONG NHAN LAM VACH NGANG
CLR BIT_QUA_VACH_NGANG
CLR BIT_TIM_VACH
MOV ENCODER_THAP,#LOW(ENCODER_1_VACH*8/10)
MOV ENCODER_CAO,#HIGH(ENCODER_1_VACH*8/10)
SETB ACT_ENCODER_PHAI
LOOP_CHAY_THANG:
;-------- DOAN1: CHAY KO NHAN VACH NGANG (BIT_TIM_VACH=0 , ACT_ENCODER_PHAI=1) -----------
CHAY_KO_NHAN_VACH:
JB BIT_TIM_VACH,TIM_VACH_NGANG
JNB ACT_ENCODER_PHAI,SETB_BIT_TIM_VACH
CALL KT_VUNG_DO_DUONG
CALL DK_DO_DUONG
MOV BYTE_LED_THAP,VUNG ;<----
MOV BYTE_LED_CAO,#0
JMP CHAY_KO_NHAN_VACH ; TT CHAY THANG QUA DOAN 1
;------- <<BIT_TIM_VACH=0,ACT_ENCODER_PHAI=0>> ------------------------------------------
SETB_BIT_TIM_VACH: ; KHOI TAO DOAN 2 :TIM VACH
SETB BIT_TIM_VACH
MOV ENCODER_THAP,#LOW(ENCODER_1_VACH*5/10)
MOV ENCODER_CAO,#HIGH(ENCODER_1_VACH*5/10)
SETB ACT_ENCODER_PHAI
;-------- DOAN2: CHAY TIM VACH NGANG (BIT_TIM_VACH=1,ACT_ENCODER_PHAI=1,BIT_QUA_VACH_NGANG=0) -------------
TIM_VACH_NGANG:
CALL KT_QUA_VACH_NGANG
JB BIT_QUA_VACH_NGANG,DEC_DEM_VACH ; KT QUA_VACH_NGANG ->DEC_DEM_VACH
JNB ACT_ENCODER_PHAI,DEC_DEM_VACH_ERROR ; KT ERROR_NHAN_VACH ->DEC_DEM_VACH_ERROR
CALL KT_VUNG_DO_DUONG
CALL DK_DO_DUONG
MOV BYTE_LED_THAP,VUNG ;<----
MOV BYTE_LED_CAO,#0
JMP TIM_VACH_NGANG ; TT CHAY THANG QUA DOAN 2
;-------- <<BIT_TIM_VACH=1,BIT_QUA_VACH_NGANG=1,ACT_ENCODER_PHAI=1>> -------------------
DEC_DEM_VACH:
DEC DEM_VACH
MOV A,DEM_VACH
CJNE A,#0,TT_DEM_VACH ;DEM_VACH > 0
CLR ACT_ENCODER_PHAI
JMP THOAT_CHAY_THANG
TT_DEM_VACH:
CLR BIT_TIM_VACH ; KHOI TAO CHAY THANG DOAN 1
MOV ENCODER_THAP,#LOW(ENCODER_1_VACH*8/10)
MOV ENCODER_CAO,#HIGH(ENCODER_1_VACH*8/10)
SETB ACT_ENCODER_PHAI
JMP LOOP_CHAY_THANG
;-------- <<BIT_TIM_VACH=1,BIT_QUA_VACH_NGANG=0,ACT_ENCODER_PHAI=0>> ---------------------
DEC_DEM_VACH_ERROR:
DEC DEM_VACH
MOV A,DEM_VACH
CJNE A,#0,TT_DEM_VACH_ERROR ;DEM_VACH > 0
JMP THOAT_CHAY_THANG
TT_DEM_VACH_ERROR: ; KHOI TAO LAI CHAY THANG DOAN 1 KHI MAC LOI DEM VACH
CLR BIT_TIM_VACH
MOV ENCODER_THAP,#LOW(ENCODER_1_VACH*5/10)
MOV ENCODER_CAO,#HIGH(ENCODER_1_VACH*5/10)
SETB ACT_ENCODER_PHAI
JMP LOOP_CHAY_THANG
THOAT_CHAY_THANG:
RET
;======================= CAC HAM CON DO DUONG ==================================================
;******** KT DI QUA VACH NGANG -> BIT_QUA_VACH_NGANG *********************
KT_QUA_VACH_NGANG:
CLR BIT_QUA_VACH_NGANG ;KHOI DONG BIT KTRA VACH NGANG
LOOP_KT_QUA_VACH_NGANG:
MOV TONG_CAM_BIEN,#0
JNB CAMBIEN1,KIEMTRA_CAMBIEN2
INC TONG_CAM_BIEN
KIEMTRA_CAMBIEN2:
JNB CAMBIEN2,KIEMTRA_CAMBIEN3
INC TONG_CAM_BIEN
KIEMTRA_CAMBIEN3:
JNB CAMBIEN3,KIEMTRA_CAMBIEN4
INC TONG_CAM_BIEN
KIEMTRA_CAMBIEN4:
JNB CAMBIEN4,KIEMTRA_CAMBIEN5
INC TONG_CAM_BIEN
KIEMTRA_CAMBIEN5:
JNB CAMBIEN5,KIEMTRA_CAMBIEN6
INC TONG_CAM_BIEN
KIEMTRA_CAMBIEN6:
JNB CAMBIEN6,KIEMTRA_CAMBIEN7
INC TONG_CAM_BIEN
KIEMTRA_CAMBIEN7:
JNB CAMBIEN7,KIEMTRA_CAMBIEN8
INC TONG_CAM_BIEN
KIEMTRA_CAMBIEN8:
JNB CAMBIEN8,KIEMTRA_VACHNGANG
INC TONG_CAM_BIEN
;KIEM TRA CO DI QUA VACH TRANG KHONG
KIEMTRA_VACHNGANG:
MOV A,TONG_CAM_BIEN
CJNE A,#5,LAYCO_C ;1 VACH NGANG >=5 CAM BIEN
LAYCO_C:
JC THOAT_KT_QUA_VACH_NGANG
SETB BIT_QUA_VACH_NGANG ;BAO DA QUA VACH NGANG
JMP LOOP_KT_QUA_VACH_NGANG ;CHO DEN KHI QUA VACH NGANG
THOAT_KT_QUA_VACH_NGANG:
RET
;******** KT VUNG CAM BIEN *************************************************************
KT_VUNG_DO_DUONG:
;CALL LOC_NHIEU
;*** SETB BIT NHO BEN TRAI/PHAI
KT_LECH_TRAI_PHAI:
MOV C,CAMBIEN8 ;0 0 0 0 0 0 1 1
ORL C,CAMBIEN7
JNC KT_SETB_BIT_NHO_TRAI
SETB BIT_NHO_PHAI
SJMP TRUNG_TAM
KT_SETB_BIT_NHO_TRAI:
MOV C,CAMBIEN1 ;1 1 0 0 0 0 0 0
ORL C,CAMBIEN2
JNC TRUNG_TAM
SETB BIT_NHO_TRAI
;--------BIT NHO VUNG TRUNG TAM
TRUNG_TAM: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN4 ;0 0 0 1 1 0 0 0
ANL C,CAMBIEN5
JNC VUNG_PHAI1
MOV VUNG,#00H
CLR BIT_NHO_TRAI ;XOA NHO LECH TRAI/PHAI
CLR BIT_NHO_PHAI
JMP THOAT_KT_VUNG_DO_DUONG
;--------BIT NHO VUNG PHAI
VUNG_PHAI1: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN5 ;0 0 0 0 1 0 0 0
ANL C,/CAMBIEN4
ANL C,/CAMBIEN6
JNC VUNG_PHAI2
MOV VUNG,#01H
CLR BIT_NHO_TRAI ;XOA NHO LECH TRAI/PHAI
CLR BIT_NHO_PHAI
JMP THOAT_KT_VUNG_DO_DUONG
VUNG_PHAI2: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN5 ;0 0 0 0 1 1 0 0
ANL C,CAMBIEN6
JNC VUNG_PHAI3
MOV VUNG,#02H
CLR BIT_NHO_TRAI ;XOA NHO LECH TRAI/PHAI
CLR BIT_NHO_PHAI
JMP THOAT_KT_VUNG_DO_DUONG
VUNG_PHAI3: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN6 ;0 0 0 0 0 1 0 0
ANL C,/CAMBIEN5
ANL C,/CAMBIEN7
JNC VUNG_PHAI4
MOV VUNG,#03H
CLR BIT_NHO_TRAI ;XOA NHO LECH TRAI/PHAI
CLR BIT_NHO_PHAI
JMP THOAT_KT_VUNG_DO_DUONG
VUNG_PHAI4: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN6 ;0 0 0 0 0 1 1 0
ANL C,CAMBIEN7
JNC VUNG_PHAI5
MOV VUNG,#04H
CLR BIT_NHO_TRAI ;XOA NHO LECH TRAI/PHAI
CLR BIT_NHO_PHAI
JMP THOAT_KT_VUNG_DO_DUONG
VUNG_PHAI5: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN7 ;0 0 0 0 0 0 1 0
ANL C,/CAMBIEN6
ANL C,/CAMBIEN8
JNC VUNG_PHAI6
MOV VUNG,#05H
JMP THOAT_KT_VUNG_DO_DUONG
VUNG_PHAI6: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN7 ;0 0 0 0 0 0 1 1
ANL C,CAMBIEN8
JNC VUNG_PHAI7
MOV VUNG,#06H
JMP THOAT_KT_VUNG_DO_DUONG
VUNG_PHAI7: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN8 ;0 0 0 0 0 0 0 1
ANL C,/CAMBIEN7
JNC VUNG_PHAI8
MOV VUNG,#07H
JMP THOAT_KT_VUNG_DO_DUONG
VUNG_PHAI8: ;1 2 3 4 5 6 7 8
MOV C,BIT_NHO_PHAI ;0 0 0 0 0 0 0 0 BIT_NHO_PHAI
ANL C,/CAMBIEN1
ANL C,/CAMBIEN2
ANL C,/CAMBIEN3
ANL C,/CAMBIEN4
ANL C,/CAMBIEN5
ANL C,/CAMBIEN6
ANL C,/CAMBIEN7
ANL C,/CAMBIEN8
JNC VUNG_TRAI1
MOV VUNG,#08H
JMP THOAT_KT_VUNG_DO_DUONG
;--------BIT NHO VUNG TRAI
VUNG_TRAI1: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN4 ;0 0 0 1 0 0 0 0
ANL C,/CAMBIEN3
ANL C,/CAMBIEN5
JNC VUNG_TRAI2
MOV VUNG,#11H
CLR BIT_NHO_TRAI ;XOA NHO LECH TRAI/PHAI
CLR BIT_NHO_PHAI
JMP THOAT_KT_VUNG_DO_DUONG
VUNG_TRAI2: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN3 ;0 0 1 1 0 0 0 0
ANL C,CAMBIEN4
JNC VUNG_TRAI3
MOV VUNG,#12H
CLR BIT_NHO_TRAI ;XOA NHO LECH TRAI/PHAI
CLR BIT_NHO_PHAI
JMP THOAT_KT_VUNG_DO_DUONG
VUNG_TRAI3: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN3 ;0 0 1 0 0 0 0 0
ANL C,/CAMBIEN2
ANL C,/CAMBIEN4
JNC VUNG_TRAI4
MOV VUNG,#13H
CLR BIT_NHO_TRAI ;XOA NHO LECH TRAI/PHAI
CLR BIT_NHO_PHAI
JMP THOAT_KT_VUNG_DO_DUONG
VUNG_TRAI4: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN2 ;0 1 1 0 0 0 0 0
ANL C,CAMBIEN3
JNC VUNG_TRAI5
MOV VUNG,#14H
CLR BIT_NHO_TRAI ;XOA NHO LECH TRAI/PHAI
CLR BIT_NHO_PHAI
JMP THOAT_KT_VUNG_DO_DUONG
VUNG_TRAI5: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN2 ;0 1 0 0 0 0 0 0
ANL C,/CAMBIEN1
ANL C,/CAMBIEN3
JNC VUNG_TRAI6
MOV VUNG,#15H
JMP THOAT_KT_VUNG_DO_DUONG
VUNG_TRAI6: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN1 ;1 1 0 0 0 0 0 0
ANL C,CAMBIEN2
JNC VUNG_TRAI7
MOV VUNG,#16H
JMP THOAT_KT_VUNG_DO_DUONG
VUNG_TRAI7: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN1 ;1 0 0 0 0 0 0 0
ANL C,/CAMBIEN2
JNC VUNG_TRAI8
MOV VUNG,#17H
JMP THOAT_KT_VUNG_DO_DUONG
VUNG_TRAI8: ; 1 2 3 4 5 6 7 8
MOV C,BIT_NHO_TRAI ; BIT_NHO_TRAI 0 0 0 0 0 0 0 0
ANL C,/CAMBIEN1
ANL C,/CAMBIEN2
ANL C,/CAMBIEN3
ANL C,/CAMBIEN4
ANL C,/CAMBIEN5
ANL C,/CAMBIEN6
ANL C,/CAMBIEN7
ANL C,/CAMBIEN8
JNC VUNG_ERROR
MOV VUNG,#18H
JMP THOAT_KT_VUNG_DO_DUONG
VUNG_ERROR:
MOV VUNG,#20H
THOAT_KT_VUNG_DO_DUONG:
RET
;******** KT VUNG_NUA_TRAI CAM BIEN *************************************************************
KT_VUNG_DO_DUONG_NUA_TRAI:
;-
VUNG_NUA_TRAI_PHAI7: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN8 ;0 0 0 0 0 0 0 1
ANL C,/CAMBIEN7
JNC THOAT_VUNG_NUA_TRAI_PHAI7
MOV VUNG,#07H
JMP THOAT_KT_VUNG_NUA_TRAI_DO_DUONG
THOAT_VUNG_NUA_TRAI_PHAI7:
;--
VUNG_NUA_TRAI_PHAI6: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN7 ;0 0 0 0 0 0 1 1
ANL C,CAMBIEN8
JNC THOAT_VUNG_NUA_TRAI_PHAI6
MOV VUNG,#06H
JMP THOAT_KT_VUNG_NUA_TRAI_DO_DUONG
THOAT_VUNG_NUA_TRAI_PHAI6:
;--
VUNG_NUA_TRAI_PHAI5: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN7 ;0 0 0 0 0 0 1 0
ANL C,/CAMBIEN6
ANL C,/CAMBIEN8
JNC THOAT_VUNG_NUA_TRAI_PHAI5
MOV VUNG,#05H
JMP THOAT_KT_VUNG_NUA_TRAI_DO_DUONG
THOAT_VUNG_NUA_TRAI_PHAI5:
;--
VUNG_NUA_TRAI_PHAI4: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN6 ;0 0 0 0 0 1 1 0
ANL C,CAMBIEN7
JNC THOAT_VUNG_NUA_TRAI_PHAI4
MOV VUNG,#04H
JMP THOAT_KT_VUNG_NUA_TRAI_DO_DUONG
THOAT_VUNG_NUA_TRAI_PHAI4:
;--
VUNG_NUA_TRAI_PHAI3: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN6 ;0 0 0 0 0 1 0 0
ANL C,/CAMBIEN5
ANL C,/CAMBIEN7
JNC THOAT_VUNG_NUA_TRAI_PHAI3
MOV VUNG,#03H
JMP THOAT_KT_VUNG_NUA_TRAI_DO_DUONG
THOAT_VUNG_NUA_TRAI_PHAI3:
;--
VUNG_NUA_TRAI_PHAI2: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN5 ;0 0 0 0 1 1 0 0
ANL C,CAMBIEN6
JNC THOAT_VUNG_NUA_TRAI_PHAI2
MOV VUNG,#02H
JMP THOAT_KT_VUNG_NUA_TRAI_DO_DUONG
THOAT_VUNG_NUA_TRAI_PHAI2:
;--
VUNG_NUA_TRAI_PHAI1: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN5 ;0 0 0 0 1 0 0 0
ANL C,/CAMBIEN4
ANL C,/CAMBIEN6
JNC THOAT_VUNG_NUA_TRAI_PHAI1
MOV VUNG,#01H
JMP THOAT_KT_VUNG_NUA_TRAI_DO_DUONG
THOAT_VUNG_NUA_TRAI_PHAI1:
;--------------
TRUNG_TAM_NUA_TRAI: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN4 ;0 0 0 1 1 0 0 0
ANL C,CAMBIEN5
JNC THOAT_TRUNG_TAM_NUA_TRAI
MOV VUNG,#00H
JMP THOAT_KT_VUNG_NUA_TRAI_DO_DUONG
THOAT_TRUNG_TAM_NUA_TRAI:
;--------BIT NHO VUNG_NUA_TRAI TRAI
VUNG_NUA_TRAI_TRAI1: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN4 ;0 0 0 1 0 0 0 0
ANL C,/CAMBIEN3
ANL C,/CAMBIEN5
JNC THOAT_VUNG_NUA_TRAI_TRAI1
MOV VUNG,#11H
JMP THOAT_KT_VUNG_NUA_TRAI_DO_DUONG
THOAT_VUNG_NUA_TRAI_TRAI1:
VUNG_NUA_TRAI_TRAI2: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN3 ;0 0 1 1 0 0 0 0
ANL C,CAMBIEN4
JNC THOAT_VUNG_NUA_TRAI_TRAI2
MOV VUNG,#12H
JMP THOAT_KT_VUNG_NUA_TRAI_DO_DUONG
THOAT_VUNG_NUA_TRAI_TRAI2:
VUNG_NUA_TRAI_TRAI3: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN3 ;0 0 1 0 0 0 0 0
ANL C,/CAMBIEN2
ANL C,/CAMBIEN4
JNC THOAT_VUNG_NUA_TRAI_TRAI3
MOV VUNG,#13H
JMP THOAT_KT_VUNG_NUA_TRAI_DO_DUONG
THOAT_VUNG_NUA_TRAI_TRAI3:
VUNG_NUA_TRAI_TRAI4: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN2 ;0 1 1 0 0 0 0 0
ANL C,CAMBIEN3
JNC THOAT_VUNG_NUA_TRAI_TRAI4
MOV VUNG,#14H
JMP THOAT_KT_VUNG_NUA_TRAI_DO_DUONG
THOAT_VUNG_NUA_TRAI_TRAI4:
VUNG_NUA_TRAI_TRAI5: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN2 ;0 1 0 0 0 0 0 0
ANL C,/CAMBIEN1
ANL C,/CAMBIEN3
JNC THOAT_VUNG_NUA_TRAI_TRAI5
MOV VUNG,#15H
JMP THOAT_KT_VUNG_NUA_TRAI_DO_DUONG
THOAT_VUNG_NUA_TRAI_TRAI5:
VUNG_NUA_TRAI_TRAI6: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN1 ;1 1 0 0 0 0 0 0
ANL C,CAMBIEN2
JNC THOAT_VUNG_NUA_TRAI_TRAI6
MOV VUNG,#16H
JMP THOAT_KT_VUNG_NUA_TRAI_DO_DUONG
THOAT_VUNG_NUA_TRAI_TRAI6:
VUNG_NUA_TRAI_TRAI7: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN1 ;1 0 0 0 0 0 0 0
ANL C,/CAMBIEN2
JNC THOAT_VUNG_NUA_TRAI_TRAI7
MOV VUNG,#17H
THOAT_VUNG_NUA_TRAI_TRAI7:
THOAT_KT_VUNG_NUA_TRAI_DO_DUONG:
RET
;******** KT VUNG_NUA_PHAI CAM BIEN *************************************************************
KT_VUNG_DO_DUONG_NUA_PHAI:
;-
VUNG_NUA_PHAI_TRAI7: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN1 ;1 0 0 0 0 0 0 0
ANL C,/CAMBIEN2
JNC THOAT_VUNG_NUA_PHAI_TRAI7
MOV VUNG,#17H
JMP THOAT_KT_VUNG_NUA_PHAI_DO_DUONG
THOAT_VUNG_NUA_PHAI_TRAI7:
;--
VUNG_NUA_PHAI_TRAI6: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN1 ;1 1 0 0 0 0 0 0
ANL C,CAMBIEN2
JNC THOAT_VUNG_NUA_PHAI_TRAI6
MOV VUNG,#16H
JMP THOAT_KT_VUNG_NUA_PHAI_DO_DUONG
THOAT_VUNG_NUA_PHAI_TRAI6:
;--
VUNG_NUA_PHAI_TRAI5: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN2 ;0 1 0 0 0 0 0 0
ANL C,/CAMBIEN1
ANL C,/CAMBIEN3
JNC THOAT_VUNG_NUA_PHAI_TRAI5
MOV VUNG,#15H
JMP THOAT_KT_VUNG_NUA_PHAI_DO_DUONG
THOAT_VUNG_NUA_PHAI_TRAI5:
;--
VUNG_NUA_PHAI_TRAI4: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN2 ;0 1 1 0 0 0 0 0
ANL C,CAMBIEN3
JNC THOAT_VUNG_NUA_PHAI_TRAI4
MOV VUNG,#14H
JMP THOAT_KT_VUNG_NUA_PHAI_DO_DUONG
THOAT_VUNG_NUA_PHAI_TRAI4:
;--
VUNG_NUA_PHAI_TRAI3: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN3 ;0 0 1 0 0 0 0 0
ANL C,/CAMBIEN2
ANL C,/CAMBIEN4
JNC THOAT_VUNG_NUA_PHAI_TRAI3
MOV VUNG,#13H
JMP THOAT_KT_VUNG_NUA_PHAI_DO_DUONG
THOAT_VUNG_NUA_PHAI_TRAI3:
;--
VUNG_NUA_PHAI_TRAI2: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN3 ;0 0 1 1 0 0 0 0
ANL C,CAMBIEN4
JNC THOAT_VUNG_NUA_PHAI_TRAI2
MOV VUNG,#12H
JMP THOAT_KT_VUNG_NUA_PHAI_DO_DUONG
THOAT_VUNG_NUA_PHAI_TRAI2:
;--
VUNG_NUA_PHAI_TRAI1: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN4 ;0 0 0 1 0 0 0 0
ANL C,/CAMBIEN3
ANL C,/CAMBIEN5
JNC THOAT_VUNG_NUA_PHAI_TRAI1
MOV VUNG,#11H
JMP THOAT_KT_VUNG_NUA_PHAI_DO_DUONG
THOAT_VUNG_NUA_PHAI_TRAI1:
;--
;--------------
TRUNG_TAM_NUA_PHAI: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN4 ;0 0 0 1 1 0 0 0
ANL C,CAMBIEN5
JNC THOAT_TRUNG_TAM_NUA_PHAI
MOV VUNG,#00H
JMP THOAT_KT_VUNG_NUA_PHAI_DO_DUONG
THOAT_TRUNG_TAM_NUA_PHAI:
;--
VUNG_NUA_PHAI_PHAI1: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN5 ;0 0 0 0 1 0 0 0
ANL C,/CAMBIEN4
ANL C,/CAMBIEN6
JNC THOAT_VUNG_NUA_PHAI_PHAI1
MOV VUNG,#01H
JMP THOAT_KT_VUNG_NUA_PHAI_DO_DUONG
THOAT_VUNG_NUA_PHAI_PHAI1:
;--
VUNG_NUA_PHAI_PHAI2: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN5 ;0 0 0 0 1 1 0 0
ANL C,CAMBIEN6
JNC THOAT_VUNG_NUA_PHAI_PHAI2
MOV VUNG,#02H
JMP THOAT_KT_VUNG_NUA_PHAI_DO_DUONG
THOAT_VUNG_NUA_PHAI_PHAI2:
;--
VUNG_NUA_PHAI_PHAI3: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN6 ;0 0 0 0 0 1 0 0
ANL C,/CAMBIEN5
ANL C,/CAMBIEN7
JNC THOAT_VUNG_NUA_PHAI_PHAI3
MOV VUNG,#03H
JMP THOAT_KT_VUNG_NUA_PHAI_DO_DUONG
THOAT_VUNG_NUA_PHAI_PHAI3:
;--
VUNG_NUA_PHAI_PHAI4: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN6 ;0 0 0 0 0 1 1 0
ANL C,CAMBIEN7
JNC THOAT_VUNG_NUA_PHAI_PHAI4
MOV VUNG,#04H
JMP THOAT_KT_VUNG_NUA_PHAI_DO_DUONG
THOAT_VUNG_NUA_PHAI_PHAI4:
;--
VUNG_NUA_PHAI_PHAI5: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN7 ;0 0 0 0 0 0 1 0
ANL C,/CAMBIEN6
ANL C,/CAMBIEN8
JNC THOAT_VUNG_NUA_PHAI_PHAI5
MOV VUNG,#05H
JMP THOAT_KT_VUNG_NUA_PHAI_DO_DUONG
THOAT_VUNG_NUA_PHAI_PHAI5:
;--
VUNG_NUA_PHAI_PHAI6: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN7 ;0 0 0 0 0 0 1 1
ANL C,CAMBIEN8
JNC THOAT_VUNG_NUA_PHAI_PHAI6
MOV VUNG,#06H
JMP THOAT_KT_VUNG_NUA_PHAI_DO_DUONG
THOAT_VUNG_NUA_PHAI_PHAI6:
;--
VUNG_NUA_PHAI_PHAI7: ;1 2 3 4 5 6 7 8
MOV C,CAMBIEN8 ;0 0 0 0 0 0 0 1
ANL C,/CAMBIEN7
JNC THOAT_VUNG_NUA_PHAI_PHAI7
MOV VUNG,#07H
JMP THOAT_KT_VUNG_NUA_PHAI_DO_DUONG
THOAT_VUNG_NUA_PHAI_PHAI7:
;----------
THOAT_KT_VUNG_NUA_PHAI_DO_DUONG:
RET
;******** DIEU KHIEN DO DUONG ********************************************************
DK_DO_DUONG:
MOV A,VUNG
CJNE A,#00H,DK_VUNG_PHAI1 ;DK VUNG TRUNG TAM ;0 0 0 1 1 0 0 0
MOV BANH_TRAI,BANH_TRAI_TD1
MOV BANH_PHAI,BANH_PHAI_TD1
JMP THOAT_DK_VUNG
DK_VUNG_PHAI1:
CJNE A,#01H,DK_VUNG_PHAI2 ;DK VUNG PHAI1 ;0 0 0 0 1 0 0 0
MOV BANH_TRAI,BANH_TRAI_TD2
MOV BANH_PHAI,BANH_PHAI_TD1
JMP THOAT_DK_VUNG
DK_VUNG_PHAI2:
CJNE A,#02H,DK_VUNG_PHAI3 ;DK VUNG PHAI2 ;0 0 0 0 1 1 0 0
MOV BANH_TRAI,BANH_TRAI_TD3
MOV BANH_PHAI,BANH_PHAI_TD1
JMP THOAT_DK_VUNG
DK_VUNG_PHAI3:
CJNE A,#03H,DK_VUNG_PHAI4 ;DK VUNG PHAI3 ;0 0 0 0 0 1 0 0
MOV BANH_TRAI,BANH_TRAI_TD4
MOV BANH_PHAI,BANH_PHAI_TD1
JMP THOAT_DK_VUNG
DK_VUNG_PHAI4:
CJNE A,#04H,DK_VUNG_PHAI5 ;DK VUNG PHAI4 ;0 0 0 0 0 1 1 0
MOV BANH_TRAI,BANH_TRAI_TD5
MOV BANH_PHAI,BANH_PHAI_TD1
JMP THOAT_DK_VUNG
DK_VUNG_PHAI5:
CJNE A,#05H,DK_VUNG_PHAI6 ;DK VUNG PHAI5 ;0 0 0 0 0 0 1 0
MOV BANH_TRAI,BANH_TRAI_TD6
MOV BANH_PHAI,BANH_PHAI_TD1
JMP THOAT_DK_VUNG
DK_VUNG_PHAI6:
CJNE A,#06H,DK_VUNG_PHAI7 ;DK VUNG PHAI6 ;0 0 0 0 0 0 1 1
MOV BANH_TRAI,BANH_TRAI_TD7
MOV BANH_PHAI,BANH_PHAI_TD1
JMP THOAT_DK_VUNG
DK_VUNG_PHAI7:
CJNE A,#07H,DK_VUNG_PHAI8 ;DK VUNG PHAI7 ;0 0 0 0 0 0 0 1
MOV BANH_TRAI,BANH_TRAI_TD8
MOV BANH_PHAI,BANH_PHAI_TD1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -