code-robot

$MOD51fx

;**************** KHAI BAO_NGO VAO **********************

CHAY_THANG BIT P0.5

CHAY_LUI BIT P2.6

XOAY_PHAI BIT P2.7

XOAY_TRAI BIT P2.0

NANG_TAY BIT P2.5

HA_TAY BIT P2.4

TANG_TOC BIT P0.7

CHAY BIT P0.4

HT_HA BIT P2.2

HT_NANG BIT P2.1

ACT_ENCODER BIT EX0

PHASE_B BIT P3.3

;******************* KHAI BAO BIEN **********************

VUNG EQU 40H

BANH_TRAI_TD1 EQU 45H

BANH_PHAI_TD1 EQU 46H

BANH_TRAI_TD2 EQU 47H

BANH_PHAI_TD2 EQU 48H

BANH_TRAI_TD1_DAO EQU 49H

BANH_PHAI_TD1_DAO EQU 4AH

BANH_TRAI_TD2_DAO EQU 4BH

BANH_PHAI_TD2_DAO EQU 4CH

BANH_TRAI_TD3 EQU 4DH

BANH_PHAI_TD3 EQU 4EH

BANH_TRAI_TD4 EQU 4FH

BANH_PHAI_TD4 EQU 70H

BANH_TRAI_TD5 EQU 71H

BANH_PHAI_TD5 EQU 72H

BANH_TRAI_TD6 EQU 73H

BANH_PHAI_TD6 EQU 74H

;***************** KHAI BAO DONG CO *********************

MOTOR_NANG EQU CCAP2H

MOTOR_NANG_DAO BIT P3.5

BANH_PHAI EQU CCAP0H

BANH_PHAI_DAO BIT P3.3

BANH_TRAI EQU CCAP1H

BANH_TRAI_DAO BIT P3.4

;***************** CHUONG TRINH CHINH *******************

ORG 0000H

LJMP MAIN

ORG 0003H

LJMP NGAT_EX0

MAIN: MOV R0,#05

MOV R1,#100

; MOV IE,#10000000B

; SETB IT0

MOV CMOD,#0

SETB CR

MOV CCAPM4,#01000010B

MOV CCAPM2,#01000010B

MOV CCAPM3,#01000010B

MOV CCAPM1,#01000010B

MOV CCAPM0,#01000010B

MOV BANH_TRAI_TD1,#255 ;TOC DO NHANH

MOV BANH_PHAI_TD1,#255

MOV BANH_TRAI_TD2,#145 ;TOC DO CHAM

MOV BANH_PHAI_TD2,#125

MOV BANH_TRAI_TD3,#80 ;TOC DO CHAM XOAY PHAI

MOV BANH_PHAI_TD3,#90

MOV BANH_TRAI_TD4,#65 ;TOC DO CHAM XOAY TRAI

MOV BANH_PHAI_TD4,#70

MOV BANH_TRAI_TD5,#160 ;TOC DO NHANH XOAY PHAI

MOV BANH_PHAI_TD5,#140

MOV BANH_TRAI_TD6,#160 ;TOC DO NHANH XOAY TRAI

MOV BANH_PHAI_TD6,#140

MOV BANH_TRAI_TD1_DAO,#130 ;TOC DO LUI NHANH

MOV BANH_PHAI_TD1_DAO,#130

MOV BANH_TRAI_TD2_DAO,#50 ;TOC DO LUI CHAM

MOV BANH_PHAI_TD2_DAO,#50

TD:

CALL KIEM_TRA_NUT_NHAN

CALL DIEU_KHIEN_ROBOT

SJMP TD

;************ CHUONG TRINH KIEM TRA NUT NHAN ************

KIEM_TRA_NUT_NHAN:

KIEM_TRA_TH1: ;CHAY CHAM KHONG XOAY

MOV C,TANG_TOC

ANL C,NANG_TAY

ANL C,XOAY_TRAI

ANL C,XOAY_PHAI

ANL C,HA_TAY

ANL C,/CHAY

JNC KIEM_TRA_TH2

MOV VUNG,#30H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH2: ;CHAY NHANH KHONG XOAY

MOV C,NANG_TAY

ANL C,HA_TAY

ANL C,XOAY_TRAI

ANL C,XOAY_PHAI

ANL C,/CHAY

ANL C,/TANG_TOC

JNC KIEM_TRA_TH3

MOV VUNG,#31H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH3: ;CHAY CHAM + NANG TAY

MOV C,TANG_TOC

ANL C,HA_TAY

ANL C,XOAY_TRAI

ANL C,XOAY_PHAI

ANL C,/NANG_TAY

ANL C,/CHAY

JNC KIEM_TRA_TH4

MOV VUNG,#02H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH4: ;CHAY NHANH + NANG TAY

MOV C,HA_TAY

ANL C,XOAY_TRAI

ANL C,XOAY_PHAI

ANL C,/CHAY

ANL C,/TANG_TOC

ANL C,/NANG_TAY

JNC KIEM_TRA_TH5

MOV VUNG,#15H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH5: ;CHAY CHAM + HA TAY

MOV C,TANG_TOC

ANL C,NANG_TAY

ANL C,XOAY_TRAI

ANL C,XOAY_PHAI

ANL C,/CHAY

ANL C,/HA_TAY

JNC KIEM_TRA_TH6

MOV VUNG,#04H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH6: ;CHAY NHANH + HA TAY

MOV C,NANG_TAY

ANL C,XOAY_TRAI

ANL C,XOAY_PHAI

ANL C,/CHAY

ANL C,/TANG_TOC

ANL C,/HA_TAY

JNC KIEM_TRA_TH7

MOV VUNG,#05H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH7: ;CHAY LUI CHAM

MOV C,TANG_TOC

ANL C,NANG_TAY

ANL C,HA_TAY

ANL C,/CHAY_LUI

JNC KIEM_TRA_TH8

MOV VUNG,#06H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH8: ;CHAY LUI NHANH

MOV C,NANG_TAY

ANL C,HA_TAY

ANL C,/CHAY_LUI

ANL C,/TANG_TOC

JNC KIEM_TRA_TH9

MOV VUNG,#07H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH9: ;CHAY LUI CHAM + NANG TAY

MOV C,HA_TAY

ANL C,TANG_TOC

ANL C,/NANG_TAY

ANL C,/CHAY_LUI

JNC KIEM_TRA_TH10

MOV VUNG,#08H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH10: ;CHAY LUI NHANH + NANG TAY

MOV C,HA_TAY

ANL C,/CHAY_LUI

ANL C,/TANG_TOC

ANL C,/NANG_TAY

JNC KIEM_TRA_TH11

MOV VUNG,#09H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH11: ;CHAY LUI CHAM + HA TAY

MOV C,TANG_TOC

ANL C,NANG_TAY

ANL C,/HA_TAY

ANL C,/CHAY_LUI

JNC KIEM_TRA_TH12

MOV VUNG,#0AH

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH12: ;CHAY LUI NHANH + HA TAY

MOV C,NANG_TAY

ANL C,/CHAY_LUI

ANL C,/TANG_TOC

ANL C,/HA_TAY

JNC KIEM_TRA_TH13

MOV VUNG,#0BH

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH13: ;XOAY PHAI CHAM

MOV C,TANG_TOC

ANL C,NANG_TAY

ANL C,HA_TAY

ANL C,CHAY

ANL C,XOAY_TRAI

ANL C,/XOAY_PHAI

JNC KIEM_TRA_TH14

MOV VUNG,#0CH

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH14: ;XOAY PHAI NHANH

MOV C,XOAY_TRAI

ANL C,NANG_TAY

ANL C,HA_TAY

ANL C,CHAY

ANL C,XOAY_TRAI

ANL C,/XOAY_PHAI

ANL C,/TANG_TOC

JNC KIEM_TRA_TH15

MOV VUNG,#0DH

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH15: ;XOAY TRAI CHAM

MOV C,TANG_TOC

ANL C,NANG_TAY

ANL C,HA_TAY

ANL C,CHAY

ANL C,XOAY_PHAI

ANL C,/XOAY_TRAI

JNC KIEM_TRA_TH16

MOV VUNG,#0EH

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH16: ;XOAY TRAI NHANH

MOV C,XOAY_PHAI

ANL C,NANG_TAY

ANL C,HA_TAY

ANL C,CHAY

ANL C,XOAY_PHAI

ANL C,/XOAY_TRAI

ANL C,/TANG_TOC

JNC KIEM_TRA_TH17

MOV VUNG,#0FH

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH17: ;NANG TAY GAP

MOV C,HA_TAY

ANL C,XOAY_TRAI

ANL C,XOAY_PHAI

ANL C,/NANG_TAY

JNC KIEM_TRA_TH18

MOV VUNG,#10H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH18: ;HA TAY GAP

MOV C,NANG_TAY

ANL C,TANG_TOC

ANL C,XOAY_TRAI

ANL C,XOAY_PHAI

ANL C,/HA_TAY

JNC KIEM_TRA_TH21

MOV VUNG,#11H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH21:

MOV C,NANG_TAY

ANL C,HA_TAY

ANL C,CHAY_THANG

ANL C,CHAY_LUI

ANL C,XOAY_PHAI

ANL C,XOAY_TRAI

ANL C,/TANG_TOC

JNC KIEM_TRA_TH22

MOV VUNG,#14H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH22:

MOV C,NANG_TAY

ANL C,HA_TAY

ANL C,CHAY_THANG

ANL C,CHAY_LUI

ANL C,XOAY_PHAI

ANL C,XOAY_TRAI

ANL C,TANG_TOC

JNC KIEM_TRA_TH23

MOV VUNG,#14H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH23:

MOV C,NANG_TAY

ANL C,HA_TAY

ANL C,CHAY_THANG

ANL C,CHAY_LUI

ANL C,XOAY_PHAI

ANL C,XOAY_TRAI

ANL C,/TANG_TOC

JNC KIEM_TRA_TH24

MOV VUNG,#16H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH24:

MOV C,NANG_TAY

ANL C,HA_TAY

ANL C,CHAY_THANG

ANL C,CHAY_LUI

ANL C,XOAY_PHAI

ANL C,XOAY_TRAI

ANL C,TANG_TOC

JNC KIEM_TRA_TH25

MOV VUNG,#16H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH25: ;CHAY XOAY PHAI CHAM + NANG TAY

MOV C,XOAY_TRAI

ANL C,TANG_TOC

ANL C,HA_TAY

ANL C,/NANG_TAY

ANL C,/XOAY_PHAI

ANL C,/CHAY

JNC KIEM_TRA_TH26

MOV VUNG,#17H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH26: ;CHAY XOAY PHAI NHANH + NANG TAY

MOV C,XOAY_TRAI

ANL C,HA_TAY

ANL C,/TANG_TOC

ANL C,/NANG_TAY

ANL C,/XOAY_PHAI

ANL C,/CHAY

JNC KIEM_TRA_TH27

MOV VUNG,#18H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH27: ;CHAY XOAY TRAI CHAM + NANG TAY

MOV C,XOAY_PHAI

ANL C,HA_TAY

ANL C,TANG_TOC

ANL C,/NANG_TAY

ANL C,/XOAY_TRAI

ANL C,/CHAY

JNC KIEM_TRA_TH28

MOV VUNG,#19H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH28: ;CHAY XOAY TRAI NHANH + NANG TAY

MOV C,XOAY_PHAI

ANL C,HA_TAY

ANL C,/TANG_TOC

ANL C,/NANG_TAY

ANL C,/XOAY_TRAI

ANL C,/CHAY

JNC KIEM_TRA_TH29

MOV VUNG,#1AH

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH29: ;CHAY XOAY PHAI CHAM + HA TAY

MOV C,XOAY_TRAI

ANL C,TANG_TOC

ANL C,NANG_TAY

ANL C,/HA_TAY

ANL C,/XOAY_PHAI

ANL C,/CHAY

JNC KIEM_TRA_TH30

MOV VUNG,#1BH

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH30: ;CHAY XOAY PHAI NHANH + HA TAY

MOV C,XOAY_TRAI

ANL C,NANG_TAY

ANL C,/TANG_TOC

ANL C,/HA_TAY

ANL C,/XOAY_PHAI

ANL C,/CHAY

JNC KIEM_TRA_TH31

MOV VUNG,#1CH

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH31: ;CHAY XOAY TRAI CHAM + HA TAY

MOV C,XOAY_PHAI

ANL C,NANG_TAY

ANL C,TANG_TOC

ANL C,/HA_TAY

ANL C,/XOAY_TRAI

ANL C,/CHAY

JNC KIEM_TRA_TH32

MOV VUNG,#1DH

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH32: ;CHAY XOAY TRAI NHANH + HA TAY

MOV C,XOAY_PHAI

ANL C,NANG_TAY

ANL C,/TANG_TOC

ANL C,/HA_TAY

ANL C,/XOAY_TRAI

ANL C,/CHAY

JNC KIEM_TRA_TH33

MOV VUNG,#1EH

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH33: ;NANG_TAY_GAP_QUA

MOV C,NANG_TAY

ANL C,HA_TAY

ANL C,/TANG_TOC

ANL C,/CHAY_THANG

JNC KIEM_TRA_TH34

MOV VUNG,#1FH

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH34: ;NANG_TAY_GAP_QUA

MOV C,NANG_TAY

ANL C,HA_TAY

ANL C,TANG_TOC

ANL C,/CHAY_THANG

JNC KIEM_TRA_TH35

MOV VUNG,#1FH

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH35: ;GAP QUA

MOV C,NANG_TAY

ANL C,/TANG_TOC

ANL C,/HA_TAY

JNC KIEM_TRA_TH36

MOV VUNG,#20H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH36: ;CHAY CHAM XOAY PHAI

MOV C,TANG_TOC

ANL C,NANG_TAY

ANL C,XOAY_TRAI

ANL C,HA_TAY

ANL C,/XOAY_PHAI

ANL C,/CHAY

JNC KIEM_TRA_TH37

MOV VUNG,#21H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH37: ;CHAY CHAM XOAY TRAI

MOV C,TANG_TOC

ANL C,NANG_TAY

ANL C,XOAY_PHAI

ANL C,HA_TAY

ANL C,/XOAY_TRAI

ANL C,/CHAY

JNC KIEM_TRA_TH38

MOV VUNG,#22H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH38: ;CHAY NHANH XOAY PHAI

MOV C,NANG_TAY

ANL C,HA_TAY

ANL C,XOAY_TRAI

ANL C,/CHAY

ANL C,/TANG_TOC

ANL C,/XOAY_PHAI

JNC KIEM_TRA_TH39

MOV VUNG,#24H

JMP THOAT_KIEM_TRA_NUT_NHAN

KIEM_TRA_TH39: ;CHAY NHANH XOAY TRAI

MOV C,NANG_TAY

ANL C,HA_TAY

ANL C,XOAY_PHAI

ANL C,/CHAY

ANL C,/TANG_TOC

ANL C,/XOAY_TRAI

JNC THOAT_KIEM_TRA_NUT_NHAN

MOV VUNG,#23H

JMP THOAT_KIEM_TRA_NUT_NHAN

THOAT_KIEM_TRA_NUT_NHAN:

RET

;***************** DIEU KHIEN ROBOT *****************

DIEU_KHIEN_ROBOT:

MOV A,VUNG

CJNE A,#30H,DK_TH1

CALL CHAY_TIEN

JMP THOAT_DK_ROBOT

DK_TH1:

MOV A,VUNG

CJNE A,#31H,DK_TH2

CALL CHAY_THANG_NHANH

JMP THOAT_DK_ROBOT

DK_TH2:

MOV A,VUNG

CJNE A,#02H,DK_TH3

CALL CHAY_CHAM_NANG

JMP THOAT_DK_ROBOT

DK_TH3:

MOV A,VUNG

CJNE A,#15H,DK_TH4

CALL CHAY_NHANH_NANG

JMP THOAT_DK_ROBOT

DK_TH4:

MOV A,VUNG

CJNE A,#04H,DK_TH5

CALL CHAY_CHAM_HA

JMP THOAT_DK_ROBOT

DK_TH5:

MOV A,VUNG

CJNE A,#05H,DK_TH6

CALL CHAY_NHANH_HA

JMP THOAT_DK_ROBOT

DK_TH6:

MOV A,VUNG

CJNE A,#06H,DK_TH7

CALL CHAY_LUI_CHAM

JMP THOAT_DK_ROBOT

DK_TH7:

MOV A,VUNG

CJNE A,#07H,DK_TH8

CALL CHAY_LUI_NHANH

JMP THOAT_DK_ROBOT

DK_TH8:

MOV A,VUNG

CJNE A,#08H,DK_TH9

CALL LUI_CHAM_NANG

JMP THOAT_DK_ROBOT

DK_TH9:

MOV A,VUNG

CJNE A,#09H,DK_TH10

CALL LUI_NHANH_NANG

JMP THOAT_DK_ROBOT

DK_TH10:

MOV A,VUNG

CJNE A,#0AH,DK_TH11

CALL LUI_CHAM_HA

JMP THOAT_DK_ROBOT

DK_TH11:

MOV A,VUNG

CJNE A,#0BH,DK_TH12

CALL LUI_NHANH_HA

JMP THOAT_DK_ROBOT

DK_TH12:

MOV A,VUNG

CJNE A,#0CH,DK_TH13

CALL XOAY_PHAI_CHAM

JMP THOAT_DK_ROBOT

DK_TH13:

MOV A,VUNG

CJNE A,#0DH,DK_TH14

CALL XOAY_PHAI_NHANH

JMP THOAT_DK_ROBOT

DK_TH14:

MOV A,VUNG

CJNE A,#0EH,DK_TH15

CALL XOAY_TRAI_CHAM

JMP THOAT_DK_ROBOT

DK_TH15:

MOV A,VUNG

CJNE A,#0FH,DK_TH16

CALL XOAY_TRAI_NHANH

JMP THOAT_DK_ROBOT

DK_TH16:

MOV A,VUNG

CJNE A,#10H,DK_TH17

CALL NANG_TAY_GAP

JMP THOAT_DK_ROBOT

DK_TH17:

MOV A,VUNG

CJNE A,#11H,DK_TH20

CALL HA_TAY_GAP

JMP THOAT_DK_ROBOT

DK_TH20:

MOV A,VUNG

CJNE A,#14H,DK_TH22

CALL DUNG_ROBOT

JMP THOAT_DK_ROBOT

DK_TH22:

MOV A,VUNG

CJNE A,#16H,DK_TH23

CALL DUNG_ROBOT2

JMP THOAT_DK_ROBOT

DK_TH23:

MOV A,VUNG

CJNE A,#17H,DK_TH24

CALL XOAY_PHAI_CHAM_NANG

JMP THOAT_DK_ROBOT

DK_TH24:

MOV A,VUNG

CJNE A,#18H,DK_TH25

CALL XOAY_PHAI_NHANH_NANG

JMP THOAT_DK_ROBOT

DK_TH25:

MOV A,VUNG

CJNE A,#19H,DK_TH26

CALL XOAY_TRAI_CHAM_NANG

JMP THOAT_DK_ROBOT

DK_TH26:

MOV A,VUNG

CJNE A,#1AH,DK_TH27

CALL XOAY_TRAI_NHANH_NANG

JMP THOAT_DK_ROBOT

DK_TH27:

MOV A,VUNG

CJNE A,#1BH,DK_TH28

CALL XOAY_PHAI_CHAM_HA

JMP THOAT_DK_ROBOT

DK_TH28:

MOV A,VUNG

CJNE A,#1CH,DK_TH29

CALL XOAY_PHAI_NHANH_HA

JMP THOAT_DK_ROBOT

DK_TH29:

MOV A,VUNG

CJNE A,#1DH,DK_TH30

CALL XOAY_TRAI_CHAM_HA

JMP THOAT_DK_ROBOT

DK_TH30:

MOV A,VUNG

CJNE A,#1EH,DK_TH32

CALL XOAY_TRAI_NHANH_HA

JMP THOAT_DK_ROBOT

DK_TH32:

MOV A,VUNG

CJNE A,#20H,DK_TH33

CALL HA_TAY_GAP_CHAM

JMP THOAT_DK_ROBOT

DK_TH33:

MOV A,VUNG

CJNE A,#21H,DK_TH34

CALL CHAY_CHAM_XOAY_PHAI

JMP THOAT_DK_ROBOT

DK_TH34:

MOV A,VUNG

CJNE A,#22H,DK_TH35

CALL CHAY_CHAM_XOAY_TRAI

JMP THOAT_DK_ROBOT

DK_TH35:

MOV A,VUNG

CJNE A,#24H,DK_TH36

CALL CHAY_NHANH_XOAY_PHAI

JMP THOAT_DK_ROBOT

DK_TH36:

MOV A,VUNG

CJNE A,#23H,THOAT_DK_ROBOT

CALL CHAY_NHANH_XOAY_TRAI

JMP THOAT_DK_ROBOT

THOAT_DK_ROBOT:

RET

;***************** CHAY TIEN CHAM *******************

CHAY_TIEN:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

CALL DELAY_FET

CHAY_TIEN1:

MOV BANH_TRAI,#255

MOV BANH_PHAI,#210

CALL KIEM_TRA_NUT_NHAN

CALL KIEM_TRA_TOC_DO

MOV A,VUNG

CJNE A,#30H,THOAT_CHAY_TIEN

JMP CHAY_TIEN1

THOAT_CHAY_TIEN:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

RET

;*************** CHAY TIEN NHANH ******************

CHAY_THANG_NHANH:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

CALL DELAY_FET

MOV BANH_TRAI,#255

MOV BANH_PHAI,#220

CHAY_THANG_NHANH1:

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#31H,THOAT_CHAY_THANG_NHANH

JMP CHAY_THANG_NHANH1

THOAT_CHAY_THANG_NHANH:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

RET

;************* CHAY TIEN CHAM & NANG **************

;************* CHAY TIEN CHAM & NANG **************

CHAY_CHAM_NANG:

JNB HT_NANG,THOAT_CHAY_CHAM_NANG

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

SETB MOTOR_NANG_DAO

CALL DELAY_FET

MOV BANH_TRAI,#200

MOV BANH_PHAI,#175

MOV MOTOR_NANG,#255

CHAY_CHAM_NANG1:

JNB HT_NANG,THOAT_CHAY_CHAM_NANG

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#02H,THOAT_CHAY_CHAM_NANG_DUNG

JMP CHAY_CHAM_NANG1

THOAT_CHAY_CHAM_NANG:

MOV BANH_TRAI,BANH_TRAI_TD2

MOV BANH_PHAI,BANH_PHAI_TD2

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB MOTOR_NANG_DAO

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#02H,THOAT_CHAY_CHAM_NANG_DUNG

JMP THOAT_CHAY_CHAM_NANG

THOAT_CHAY_CHAM_NANG_DUNG:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

SETB MOTOR_NANG_DAO

RET

;************* CHAY TIEN NHANH & NANG ***************

CHAY_NHANH_NANG:

JNB HT_NANG,THOAT_CHAY_NHANH_NANG

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

SETB MOTOR_NANG_DAO

CALL DELAY_FET

MOV BANH_TRAI,BANH_TRAI_TD1

MOV BANH_PHAI,BANH_PHAI_TD1

MOV MOTOR_NANG,#255

CHAY_NHANH_NANG1:

JNB HT_NANG,THOAT_CHAY_NHANH_NANG

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#15H,THOAT_CHAY_NHANH_NANG_DUNG

JMP CHAY_NHANH_NANG1

THOAT_CHAY_NHANH_NANG:

MOV BANH_TRAI,BANH_TRAI_TD1

MOV BANH_PHAI,BANH_PHAI_TD1

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB MOTOR_NANG_DAO

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#15H,THOAT_CHAY_CHAM_NANG_DUNG

JMP THOAT_CHAY_NHANH_NANG

THOAT_CHAY_NHANH_NANG_DUNG:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

SETB MOTOR_NANG_DAO

RET

;************* CHAY TIEN CHAM & HA *************

CHAY_CHAM_HA:

JNB HT_HA,THOAT_CHAY_CHAM_HA

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

CLR MOTOR_NANG_DAO

CALL DELAY_FET

MOV BANH_TRAI,#200

MOV BANH_PHAI,#175

MOV MOTOR_NANG,#255

CHAY_CHAM_HA1:

JNB HT_HA,THOAT_CHAY_CHAM_HA

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#04H,THOAT_CHAY_CHAM_HA_DUNG

JMP CHAY_CHAM_HA1

THOAT_CHAY_CHAM_HA:

MOV BANH_TRAI,BANH_TRAI_TD2

MOV BANH_PHAI,BANH_PHAI_TD2

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB MOTOR_NANG_DAO

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#04H,THOAT_CHAY_CHAM_HA_DUNG

JMP THOAT_CHAY_CHAM_HA

THOAT_CHAY_CHAM_HA_DUNG:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

SETB MOTOR_NANG_DAO

RET

;************** CHAY TIEN NHANH & HA ***************

CHAY_NHANH_HA:

JNB HT_HA,THOAT_CHAY_NHANH_HA

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

CLR MOTOR_NANG_DAO

CALL DELAY_FET

MOV BANH_TRAI,BANH_TRAI_TD1

MOV BANH_PHAI,BANH_PHAI_TD1

MOV MOTOR_NANG,#255

CHAY_NHANH_HA1:

JNB HT_HA,THOAT_CHAY_NHANH_HA

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#05H,THOAT_CHAY_NHANH_HA_DUNG

JMP CHAY_NHANH_HA1

THOAT_CHAY_NHANH_HA:

MOV BANH_TRAI,BANH_TRAI_TD1

MOV BANH_PHAI,BANH_PHAI_TD1

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB MOTOR_NANG_DAO

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#05H,THOAT_CHAY_NHANH_HA_DUNG

JMP THOAT_CHAY_NHANH_HA

THOAT_CHAY_NHANH_HA_DUNG:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

SETB MOTOR_NANG_DAO

RET

;***************** CHAY LUI CHAM *****************

CHAY_LUI_CHAM:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

CLR BANH_TRAI_DAO

CLR BANH_PHAI_DAO

CALL DELAY_FET

MOV BANH_TRAI,#200

MOV BANH_PHAI,#175

CHAY_LUI_CHAM1:

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#06H,THOAT_CHAY_LUI_CHAM

JMP CHAY_LUI_CHAM1

THOAT_CHAY_LUI_CHAM:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

RET

;*************** CHAY LUI NHANH ****************

CHAY_LUI_NHANH:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

CLR BANH_TRAI_DAO

CLR BANH_PHAI_DAO

CALL DELAY_FET

MOV BANH_TRAI,BANH_TRAI_TD1_DAO

MOV BANH_PHAI,BANH_PHAI_TD1_DAO

CHAY_LUI_NHANH1:

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#07H,THOAT_CHAY_LUI_NHANH

JMP CHAY_LUI_NHANH1

THOAT_CHAY_LUI_NHANH:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

RET

;************* CHAY LUI CHAM & NANG **************

LUI_CHAM_NANG:

JNB HT_NANG,THOAT_LUI_CHAM_NANG

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

CLR BANH_TRAI_DAO

CLR BANH_PHAI_DAO

SETB MOTOR_NANG_DAO

CALL DELAY_FET

MOV BANH_TRAI,BANH_TRAI_TD2_DAO

MOV BANH_PHAI,BANH_PHAI_TD2_DAO

MOV MOTOR_NANG,#255

LUI_CHAM_NANG1:

JNB HT_NANG,THOAT_LUI_CHAM_NANG

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#08H,THOAT_LUI_CHAM_NANG

JMP LUI_CHAM_NANG1

THOAT_LUI_CHAM_NANG:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

SETB MOTOR_NANG_DAO

RET

;*************** CHAY LUI NHANH & NANG ***************

LUI_NHANH_NANG:

JNB HT_NANG,THOAT_LUI_NHANH_NANG

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

CLR BANH_TRAI_DAO

CLR BANH_PHAI_DAO

SETB MOTOR_NANG_DAO

CALL DELAY_FET

MOV BANH_TRAI,BANH_TRAI_TD1_DAO

MOV BANH_PHAI,BANH_PHAI_TD1_DAO

MOV MOTOR_NANG,#255

LUI_NHANH_NANG1:

JNB HT_NANG,THOAT_LUI_NHANH_NANG

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#09H,THOAT_LUI_NHANH_NANG

JMP LUI_NHANH_NANG1

THOAT_LUI_NHANH_NANG:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

SETB MOTOR_NANG_DAO

RET

;************** CHAY LUI CHAM & HA ***************

LUI_CHAM_HA:

JNB HT_HA,THOAT_LUI_CHAM_HA

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

CLR BANH_TRAI_DAO

CLR BANH_PHAI_DAO

CLR MOTOR_NANG_DAO

CALL DELAY_FET

MOV BANH_TRAI,BANH_TRAI_TD2_DAO

MOV BANH_PHAI,BANH_PHAI_TD2_DAO

MOV MOTOR_NANG,#255

LUI_CHAM_HA1:

JNB HT_HA,THOAT_LUI_CHAM_HA

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#0AH,THOAT_LUI_CHAM_HA

JMP LUI_CHAM_HA1

THOAT_LUI_CHAM_HA:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

SETB MOTOR_NANG_DAO

RET

;************** CHAY LUI NHANH & HA ***************

LUI_NHANH_HA:

JNB HT_HA,THOAT_LUI_NHANH_HA

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

CLR BANH_TRAI_DAO

CLR BANH_PHAI_DAO

CLR MOTOR_NANG_DAO

CALL DELAY_FET

MOV BANH_TRAI,BANH_TRAI_TD1_DAO

MOV BANH_PHAI,BANH_PHAI_TD1_DAO

MOV MOTOR_NANG,#255

LUI_NHANH_HA1:

JNB HT_HA,THOAT_LUI_NHANH_HA

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#0BH,THOAT_LUI_NHANH_HA

JMP LUI_NHANH_HA1

THOAT_LUI_NHANH_HA:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

SETB MOTOR_NANG_DAO

RET

;**************** XOAY PHAI **********************

XOAY_PHAI_CHAM:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

CLR BANH_PHAI_DAO

CALL DELAY_FET

MOV BANH_TRAI,#200

MOV BANH_PHAI,#70

XOAY_PHAI_CHAM1:

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#0CH,THOAT_XOAY_PHAI_CHAM

JMP XOAY_PHAI_CHAM1

THOAT_XOAY_PHAI_CHAM:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

RET

XOAY_PHAI_NHANH:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

CLR BANH_PHAI_DAO

CALL DELAY_FET

MOV BANH_TRAI,#255

MOV BANH_PHAI,#100

XOAY_PHAI_NHANH1:

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#0DH,THOAT_XOAY_PHAI_NHANH

JMP XOAY_PHAI_NHANH1

THOAT_XOAY_PHAI_NHANH:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

RET

;**************** XOAY TRAI **********************

XOAY_TRAI_CHAM:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

CLR BANH_TRAI_DAO

SETB BANH_PHAI_DAO

CALL DELAY_FET

MOV BANH_TRAI,#90

MOV BANH_PHAI,#170

XOAY_TRAI_CHAM1:

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#0EH,THOAT_XOAY_TRAI_CHAM

JMP XOAY_TRAI_CHAM1

THOAT_XOAY_TRAI_CHAM:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

RET

XOAY_TRAI_NHANH:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

CLR BANH_TRAI_DAO

SETB BANH_PHAI_DAO

CALL DELAY_FET

MOV BANH_TRAI,#100

MOV BANH_PHAI,#255

XOAY_TRAI_NHANH1:

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#0FH,THOAT_XOAY_TRAI_NHANH

JMP XOAY_TRAI_NHANH1

THOAT_XOAY_TRAI_NHANH:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

RET

;***************** NANG TAY GAP ******************

NANG_TAY_GAP:

JNB HT_NANG,TNTG

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB MOTOR_NANG_DAO

CALL DELAY_FET

MOV MOTOR_NANG,#255

NANG_TAY_GAP1:

JNB HT_NANG,THOAT_NANG_TAY_GAP

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#10H,THOAT_NANG_TAY_GAP

JMP NANG_TAY_GAP1

THOAT_NANG_TAY_GAP:

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB MOTOR_NANG_DAO

CALL DELAY_FET

MOV MOTOR_NANG,#00

TNTG:

RET

;********************** HA TAY GAP ***********************

HA_TAY_GAP:

JNB HT_HA,THTG

MOV MOTOR_NANG,#00

CALL DELAY_FET

CLR MOTOR_NANG_DAO

CALL DELAY_FET

MOV MOTOR_NANG,#255

HA_TAY_GAP1:

JNB HT_HA,THOAT_HA_TAY_GAP

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#11H,THOAT_HA_TAY_GAP

JMP HA_TAY_GAP1

THOAT_HA_TAY_GAP:

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB MOTOR_NANG_DAO

CALL DELAY_FET

MOV MOTOR_NANG,#00

THTG:

RET

;********************** HA TAY GAP ***********************

HA_TAY_GAP_CHAM:

JNB HT_HA,THTG_CHAM

MOV MOTOR_NANG,#00

CALL DELAY_FET

CLR MOTOR_NANG_DAO

CALL DELAY_FET

MOV MOTOR_NANG,#70

HA_TAY_GAP1_CHAM:

JNB HT_HA,THOAT_HA_TAY_GAP_CHAM

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#20H,THOAT_HA_TAY_GAP_CHAM

JMP HA_TAY_GAP1_CHAM

THOAT_HA_TAY_GAP_CHAM:

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB MOTOR_NANG_DAO

CALL DELAY_FET

MOV MOTOR_NANG,#00

THTG_CHAM:

RET

DUNG_ROBOT:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

SETB MOTOR_NANG_DAO

DUNG_ROBOT11:

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#14H,THOAT_DUNG_ROBOT

JMP DUNG_ROBOT11

THOAT_DUNG_ROBOT:

RET

DUNG_ROBOT2:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

SETB MOTOR_NANG_DAO

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#10

DUNG_ROBOT111:

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#16H,THOAT_DUNG_ROBOT11

JMP DUNG_ROBOT111

THOAT_DUNG_ROBOT11:

RET

;***************** XOAY PHAI CHAM + NANG TAY ***********************

XOAY_PHAI_CHAM_NANG:

JNB HT_NANG,THOAT_XOAY_PHAI_CHAM_NANG

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB MOTOR_NANG_DAO

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

CALL DELAY_FET

MOV BANH_TRAI,BANH_TRAI_TD3

MOV BANH_PHAI,BANH_PHAI_TD3

MOV MOTOR_NANG,#255-

XOAY_PHAI_CHAM_NANG1:

JNB HT_NANG,THOAT_XOAY_PHAI_CHAM_NANG

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#17H,THOAT_XOAY_PHAI_CHAM_NANG

JMP XOAY_PHAI_CHAM_NANG1

THOAT_XOAY_PHAI_CHAM_NANG:

MOV MOTOR_NANG,#00

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

RET

;***************** XOAY PHAI NHANH + NANG TAY ***********************

XOAY_PHAI_NHANH_NANG:

JNB HT_NANG,THOAT_XOAY_PHAI_NHANH_NANG

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB MOTOR_NANG_DAO

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

CALL DELAY_FET

MOV BANH_TRAI,BANH_TRAI_TD6

MOV BANH_PHAI,BANH_PHAI_TD6

MOV MOTOR_NANG,#255

XOAY_PHAI_NHANH_NANG1:

JNB HT_NANG,THOAT_XOAY_PHAI_NHANH_NANG

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#18H,THOAT_XOAY_PHAI_NHANH_NANG

JMP XOAY_PHAI_NHANH_NANG1

THOAT_XOAY_PHAI_NHANH_NANG:

MOV MOTOR_NANG,#00

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

RET

;***************** XOAY TRAI CHAM + NANG TAY ***********************

XOAY_TRAI_CHAM_NANG:

JNB HT_NANG,THOAT_XOAY_TRAI_CHAM_NANG

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB MOTOR_NANG_DAO

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

CALL DELAY_FET

MOV BANH_TRAI,BANH_TRAI_TD4

MOV BANH_PHAI,BANH_PHAI_TD4

MOV MOTOR_NANG,#255

XOAY_TRAI_CHAM_NANG1:

JNB HT_NANG,THOAT_XOAY_TRAI_CHAM_NANG

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#19H,THOAT_XOAY_TRAI_CHAM_NANG

JMP XOAY_TRAI_CHAM_NANG1

THOAT_XOAY_TRAI_CHAM_NANG:

MOV MOTOR_NANG,#00

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

RET

;***************** XOAY TRAI NHANH + NANG TAY ***********************

XOAY_TRAI_NHANH_NANG:

JNB HT_NANG,THOAT_XOAY_TRAI_NHANH_NANG

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

SETB MOTOR_NANG_DAO

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

CALL DELAY_FET

MOV BANH_TRAI,BANH_TRAI_TD5

MOV BANH_PHAI,BANH_PHAI_TD5

MOV MOTOR_NANG,#255

XOAY_TRAI_NHANH_NANG1:

JNB HT_NANG,THOAT_XOAY_TRAI_NHANH_NANG

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#1AH,THOAT_XOAY_TRAI_NHANH_NANG

JMP XOAY_TRAI_NHANH_NANG1

THOAT_XOAY_TRAI_NHANH_NANG:

MOV MOTOR_NANG,#00

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

RET

;***************** XOAY PHAI CHAM + HA TAY ***********************

XOAY_PHAI_CHAM_HA:

JNB HT_HA,THOAT_XOAY_PHAI_CHAM_HA

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

CLR MOTOR_NANG_DAO

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

CALL DELAY_FET

MOV BANH_TRAI,BANH_TRAI_TD3

MOV BANH_PHAI,BANH_PHAI_TD3

MOV MOTOR_NANG,#255

XOAY_PHAI_CHAM_HA1:

JNB HT_HA,THOAT_XOAY_PHAI_CHAM_HA

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#1BH,THOAT_XOAY_PHAI_CHAM_HA

JMP XOAY_PHAI_CHAM_HA1

THOAT_XOAY_PHAI_CHAM_HA:

MOV MOTOR_NANG,#00

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

SETB MOTOR_NANG_DAO

RET

;***************** XOAY PHAI NHANH + NANG TAY ***********************

XOAY_PHAI_NHANH_HA:

JNB HT_HA,THOAT_XOAY_PHAI_NHANH_HA

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

CLR MOTOR_NANG_DAO

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

CALL DELAY_FET

MOV BANH_TRAI,BANH_TRAI_TD6

MOV BANH_PHAI,BANH_PHAI_TD6

MOV MOTOR_NANG,#255

XOAY_PHAI_NHANH_HA1:

JNB HT_HA,THOAT_XOAY_PHAI_NHANH_HA

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#1CH,THOAT_XOAY_PHAI_NHANH_HA

JMP XOAY_PHAI_NHANH_HA1

THOAT_XOAY_PHAI_NHANH_HA:

MOV MOTOR_NANG,#00

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

SETB MOTOR_NANG_DAO

RET

;***************** XOAY TRAI CHAM + NANG TAY ***********************

XOAY_TRAI_CHAM_HA:

JNB HT_HA,THOAT_XOAY_TRAI_CHAM_HA

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

CLR MOTOR_NANG_DAO

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

CALL DELAY_FET

MOV BANH_TRAI,BANH_TRAI_TD4

MOV BANH_PHAI,BANH_PHAI_TD4

MOV MOTOR_NANG,#255

XOAY_TRAI_CHAM_HA1:

JNB HT_HA,THOAT_XOAY_TRAI_CHAM_HA

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#1DH,THOAT_XOAY_TRAI_CHAM_HA

JMP XOAY_TRAI_CHAM_HA1

THOAT_XOAY_TRAI_CHAM_HA:

MOV MOTOR_NANG,#00

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

SETB MOTOR_NANG_DAO

RET

;***************** XOAY TRAI NHANH + NANG TAY ***********************

XOAY_TRAI_NHANH_HA:

JNB HT_HA,THOAT_XOAY_TRAI_NHANH_HA

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

MOV MOTOR_NANG,#00

CALL DELAY_FET

CLR MOTOR_NANG_DAO

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

CALL DELAY_FET

MOV BANH_TRAI,BANH_TRAI_TD5

MOV BANH_PHAI,BANH_PHAI_TD5

MOV MOTOR_NANG,#255

XOAY_TRAI_NHANH_HA1:

JNB HT_HA,THOAT_XOAY_TRAI_NHANH_HA

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#1EH,THOAT_XOAY_TRAI_NHANH_HA

JMP XOAY_TRAI_NHANH_HA1

THOAT_XOAY_TRAI_NHANH_HA:

MOV MOTOR_NANG,#00

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

SETB MOTOR_NANG_DAO

RET

;**************** CHAY CHAM VA XOAY PHAI *****************

CHAY_CHAM_XOAY_PHAI:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

CALL DELAY_FET

MOV BANH_TRAI,#200

MOV BANH_PHAI,#50

CHAY_TIEN1S:

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#21H,THOAT_CHAY_TIENS

JMP CHAY_TIEN1S

THOAT_CHAY_TIENS:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

RET

;**************** CHAY CHAM VA XOAY TRAI *****************

CHAY_CHAM_XOAY_TRAI:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

CALL DELAY_FET

MOV BANH_TRAI,#50

MOV BANH_PHAI,#200

CHAY_TIEN1T:

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#22H,THOAT_CHAY_TIENT

JMP CHAY_TIEN1T

THOAT_CHAY_TIENT:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

RET

;**************** CHAY NHANH VA XOAY TRAI *****************

CHAY_NHANH_XOAY_TRAI:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

CALL DELAY_FET

MOV BANH_TRAI,#40

MOV BANH_PHAI,#255

CHAY_TIEN1TN:

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#23H,THOAT_CHAY_TIENTN

JMP CHAY_TIEN1TN

THOAT_CHAY_TIENTN:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

RET

;**************** CHAY NHANH VA XOAY TRAI *****************

CHAY_NHANH_XOAY_PHAI:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

CALL DELAY_FET

MOV BANH_TRAI,#255

MOV BANH_PHAI,#80

CHAY_TIEN1PN:

CALL KIEM_TRA_NUT_NHAN

MOV A,VUNG

CJNE A,#24H,THOAT_CHAY_TIENPN

JMP CHAY_TIEN1PN

THOAT_CHAY_TIENPN:

MOV BANH_TRAI,#00

MOV BANH_PHAI,#00

CALL DELAY_FET

SETB BANH_TRAI_DAO

SETB BANH_PHAI_DAO

RET

;****************** CHUONG TRINH NGAT INT0 **********

NGAT_EX0:

JB PHASE_B,QUAY_NGHICH

JMP QUAY_THUAN

QUAY_THUAN:

INC R0

CJNE R0,#100,THOAT_NGAT

MOV R0,#00

INC R1

CJNE R1,#255,THOAT_NGAT

MOV R1,#00

MOV R0,#00

JMP THOAT_NGAT

QUAY_NGHICH:

DEC R0

CJNE R0,#255,THOAT_NGAT

MOV R0,#99

DEC R1

CJNE R1,#255,THOAT_NGAT

MOV R1,#100

MOV R0,#99

THOAT_NGAT:

RETI

;**************** KIEM TRA TOC DO **************

KIEM_TRA_TOC_DO:

CJNE R1,#100,TD2 ;TOC DO CHAM

MOV BANH_TRAI_TD2,#80

MOV BANH_PHAI_TD2,#80

JMP THOAT_INT0

TD2:

CJNE R1,#110,TD3 ;TOC DO CHAM

MOV BANH_TRAI_TD2,#120

MOV BANH_PHAI_TD2,#120

JMP THOAT_INT0

TD3:

CJNE R1,#120,TD4 ;TOC DO CHAM

MOV BANH_TRAI_TD2,#170

MOV BANH_PHAI_TD2,#170

JMP THOAT_INT0

TD4:

CJNE R1,#130,TD5 ;TOC DO CHAM

MOV BANH_TRAI_TD2,#210

MOV BANH_PHAI_TD2,#210

JMP THOAT_INT0

TD5:

CJNE R1,#140,TD1N ;TOC DO CHAM

MOV BANH_TRAI_TD2,#250

MOV BANH_PHAI_TD2,#250

JMP THOAT_INT0

TD1N:

CJNE R1,#90,TD2N ;TOC DO CHAM

MOV BANH_TRAI_TD2,#60

MOV BANH_PHAI_TD2,#60

JMP THOAT_INT0

TD2N:

CJNE R1,#80,TD3N ;TOC DO CHAM

MOV BANH_TRAI_TD2,#40

MOV BANH_PHAI_TD2,#40

JMP THOAT_INT0

TD3N:

CJNE R1,#70,TD4N ;TOC DO CHAM

MOV BANH_TRAI_TD2,#30

MOV BANH_PHAI_TD2,#30

JMP THOAT_INT0

TD4N:

CJNE R1,#60,TD5N ;TOC DO CHAM

MOV BANH_TRAI_TD2,#10

MOV BANH_PHAI_TD2,#10

JMP THOAT_INT0

TD5N:

CJNE R1,#50,THOAT_INT0 ;TOC DO CHAM

MOV BANH_TRAI_TD2,#00

MOV BANH_PHAI_TD2,#00

JMP THOAT_INT0

THOAT_INT0:

RET

;******************** DELAY FET ******************

DELAY_FET:

MOV TMOD,#01

MOV TH0,#HIGH(-500)

MOV TL0,#LOW(-500)

SETB TR0

JNB TF0,$

CLR TR0

CLR TF0

RET

DELAY05S: MOV R2,#10

L6: MOV TMOD,#01H

MOV TH0,#HIGH(-50000)

MOV TL0,#LOW(-50000)

SETB TR0

JNB TF0,$

CLR TR0

CLR TF0

DJNZ R2,L6

RET

DELAY02S: MOV R2,#4

L63: MOV TMOD,#01H

MOV TH0,#HIGH(-50000)

MOV TL0,#LOW(-50000)

SETB TR0

JNB TF0,$

CLR TR0

CLR TF0

DJNZ R2,L63

RET

END

Bạn đang đọc truyện trên: AzTruyen.Top

Tags: