⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 td_tt.asm

📁 Robot control assembly program.
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	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 + -