📄 td_tt.asm
字号:
;ENCODER CHI DEM GIAM -> CLR ACT_ENCODER_PHAI
;ENCODER 100 XUNG
;SUA XUAT PHAT
$MOD51fx
;======================= DEFINE GT ENCODER ================
ENCODER_1_VACH EQU 320
GT_ENCODER_XUAT_PHAT1 EQU 340
;======================= DEFINE GT VAN TOC ================
GT_BANH_TRAI_BO_PHAI EQU 160
GT_BANH_PHAI_BO_PHAI EQU 105
GT_BANH_TRAI_BO_TRAI EQU 165
GT_BANH_PHAI_BO_TRAI EQU 200
;======================= DEFINE BIT =======================
;******** HIEN THI LED ********
BYTE_LED_CAO DATA 2FH
BYTE_LED_THAP DATA 2EH
BIEN0 DATA 2DH
BIEN1 DATA 2CH
;******** TOC DO DONG CO ********
;***********-BANH TRAI****************
BANH_PHAI_TD1 DATA 30H
BANH_PHAI_TD2 DATA 31H
BANH_PHAI_TD3 DATA 32H
BANH_PHAI_TD4 DATA 33H
BANH_PHAI_TD5 DATA 34H
BANH_PHAI_TD6 DATA 35H
BANH_PHAI_TD7 DATA 36H
BANH_PHAI_TD8 DATA 37H
;*********BANH PHAI**************
BANH_TRAI_TD1 DATA 38H
BANH_TRAI_TD2 DATA 39H
BANH_TRAI_TD3 DATA 3AH
BANH_TRAI_TD4 DATA 3BH
BANH_TRAI_TD5 DATA 3CH
BANH_TRAI_TD6 DATA 3DH
BANH_TRAI_TD7 DATA 3EH
BANH_TRAI_TD8 DATA 3FH
;****** DEM SO VACH NGANG********
DEM_VACH DATA 40H
TONG_CAM_BIEN DATA 41H
;****** LED ***********************
LED DATA 42H
;****** ENCODER *********************
ENCODER_THAP DATA 43H
ENCODER_CAO DATA 44H
;****** VUNG DO DUONG *************
VUNG DATA 45H
;****** DELAY TIME OUT ************
BYTE_DELAY_THAP DATA 46H
BYTE_DELAY_CAO DATA 47H
;****** LUU GIA TRI ENCODER *******
NHO_ENCODER_THAP DATA 48H
NHO_ENCODER_CAO DATA 49H
;****** LOC NHIEU *****************
BYTE_LOC DATA 4AH
;****** NHO ACC *******************
NHO_A0 DATA 50H
NHO_A1 DATA 51H
NHO_A2 DATA 52H
;******* BIT CHO PHEP ENCODER HOAT DONG *
ACT_ENCODER_PHAI BIT EX0
ACT_ENCODER_TRAI BIT EX1
;********* BIT NHO CAM BIEN *************
BIT_NHO_PHAI BIT 30H
BIT_NHO_TRAI BIT 31H
;******* BIT_QUA_VACH_NGANG *************
BIT_QUA_VACH_NGANG BIT 32H
;******* BIT CHO PHEP DEM VACH **********
BIT_TIM_VACH BIT 33H
;******** NHO C *******************
NHO_C2 BIT 34H
NHO_C1 BIT 35H
NHO_C0 BIT 36H
;******** BIT NUT NHAN CTHT*******
NUT_TT1 BIT 39H
NUT_TT2 BIT 3AH
NUT_TT3 BIT 3BH
NUT_TT4 BIT 3CH
NUT_TRANG1 BIT 3DH
NUT_TRANG2 BIT 3EH
CTHT_TRUOC BIT 3FH
CTHT_SAU BIT 40H
NUT_TRAI1 BIT 37H
NUT_TRAI2 BIT 38H
NUT_TRAI3 BIT 41H
NUT_TRAI4 BIT 42H
NUT_PHAI1 BIT 43H
NUT_PHAI2 BIT 44H
NUT_PHAI3 BIT 45H
NUT_PHAI4 BIT 46H
BIT_ERROR_CAN_BT BIT 50H
BIT_GHI_DIEM BIT 51H
BIT_CHUYEN_DONG BIT 52H
;******** BIT NUT NHAN CTHT (TT)*******
CTHT_TRAI BIT P3.7
CTHT_PHAI BIT P3.6
;******** CAM BIEN *********
CAMBIEN1 BIT P0.7
CAMBIEN2 BIT P0.6
CAMBIEN3 BIT P0.5
CAMBIEN4 BIT P0.4
CAMBIEN5 BIT P0.3
CAMBIEN6 BIT P0.2
CAMBIEN7 BIT P0.1
CAMBIEN8 BIT P0.0
;
BIT_MODE BIT P2.7
;--------DONG CO
MOTOR_DAY1 DATA CCAP3H
MOTOR_DAY_DAO1 BIT P1.2
MOTOR_DAY2 DATA CCAP4H
MOTOR_DAY_DAO2 BIT P1.3
BANH_TRAI DATA CCAP1H
BANH_TRAI_DAO BIT P1.0
BANH_PHAI DATA CCAP2H
BANH_PHAI_DAO BIT P1.1
;========================== MAIN =========================
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP NGAT_EX0
ORG 000BH
LJMP NGAT_T0_DELAY
ORG 0013H
LJMP NGAT_EX1
ORG 001BH
LJMP NGATT1
;-------------------
ORG 0030H
MAIN:
MOV CMOD,#0
SETB CR
MOV CCAPM1,#01000010B
MOV CCAPM2,#01000010B
MOV CCAPM3,#01000010B
MOV CCAPM4,#01000010B
MOV SCON,#12H
MOV TMOD,#11H
SETB PX0
SETB PX1
SETB PT0
SETB PT1
SETB IT0
SETB IT1
MOV IE,#10001010B ;INT T1 ; INT TO:TIME OUT ; DOC ENCODER : ACT_ENCODER_PHAI=EX0 ,ACT_ENCODER_TRAI=EX1
SETB TF0
SETB TF1
;==================== CHUONG TRINH CHINH ==================
START:
CALL RESETROBOT
MOV BYTE_LED_CAO,#0
MOV BYTE_LED_THAP,#123
;---
CHON_CHUONG_TRINH:
JB BIT_MODE,CHON_CHUONG_TRINH_NOMAL
JMP CHON_CHUONG_TRINH_CAN_PHA
;------------
CHON_CHUONG_TRINH_NOMAL:
KT_CHUONG_TRINH_TT1:
JB NUT_TT1,KT_CHUONG_TRINH_TT2
JMP CHUONG_TRINH_TT1
KT_CHUONG_TRINH_TT2:
JB NUT_TT2,KT_CHUONG_TRINH_TT3
JMP CHUONG_TRINH_TT2
KT_CHUONG_TRINH_TT3:
JB NUT_TT3,KT_CHUONG_TRINH_TT4
JMP CHUONG_TRINH_TT3
KT_CHUONG_TRINH_TT4:
JB NUT_TT4,KT_CHUONG_TRINH_TRANG1
JMP CHUONG_TRINH_TT4
KT_CHUONG_TRINH_TRANG1:
JB NUT_TRANG1,KT_CHUONG_TRINH_TRANG2
JMP CHUONG_TRINH_TRANG1
KT_CHUONG_TRINH_TRANG2:
JB NUT_TRANG2,KT_CHUONG_TRINH_TRAI1
JMP CHUONG_TRINH_TRANG2
KT_CHUONG_TRINH_TRAI1:
JB NUT_TRAI1,KT_CHUONG_TRINH_TRAI2
JMP CHUONG_TRINH_TRAI1
KT_CHUONG_TRINH_TRAI2:
JB NUT_TRAI2,KT_CHUONG_TRINH_TRAI3
JMP CHUONG_TRINH_TRAI2
KT_CHUONG_TRINH_TRAI3:
JB NUT_TRAI3,KT_CHUONG_TRINH_TRAI4
JMP CHUONG_TRINH_TRAI3
KT_CHUONG_TRINH_TRAI4:
JB NUT_TRAI4,KT_CHUONG_TRINH_PHAI1
JMP CHUONG_TRINH_TRAI4
KT_CHUONG_TRINH_PHAI1:
JB NUT_PHAI1,KT_CHUONG_TRINH_PHAI2
JMP CHUONG_TRINH_PHAI1
KT_CHUONG_TRINH_PHAI2:
JB NUT_PHAI2,KT_CHUONG_TRINH_PHAI3
JMP CHUONG_TRINH_PHAI2
KT_CHUONG_TRINH_PHAI3:
JB NUT_PHAI3,KT_CHUONG_TRINH_PHAI4
JMP CHUONG_TRINH_PHAI3
KT_CHUONG_TRINH_PHAI4:
JB NUT_PHAI4,CHON_CHUONG_TRINH
JMP CHUONG_TRINH_PHAI4
;------------------------
CHON_CHUONG_TRINH_CAN_PHA:
KT_CHUONG_TRINH_TT_CP1:
JB NUT_TT1,KT_CHUONG_TRINH_TT_CP2
JMP CHUONG_TRINH_TT_CP1
KT_CHUONG_TRINH_TT_CP2:
JB NUT_TT2,KT_CHUONG_TRINH_TT_CP3
JMP CHUONG_TRINH_TT_CP2
KT_CHUONG_TRINH_TT_CP3:
JB NUT_TT3,KT_CHUONG_TRINH_TT_CP4
JMP CHUONG_TRINH_TT_CP3
KT_CHUONG_TRINH_TT_CP4:
JB NUT_TT4,KT_CHUONG_TRINH_TRANG_CP1
JMP CHUONG_TRINH_TT_CP4
KT_CHUONG_TRINH_TRANG_CP1:
JB NUT_TRANG1,KT_CHUONG_TRINH_TRANG_CP2
JMP CHUONG_TRINH_TRANG_CP1
KT_CHUONG_TRINH_TRANG_CP2:
JB NUT_TRANG2,KT_CHUONG_TRINH_TRAI_CP1
JMP CHUONG_TRINH_TRANG_CP2
KT_CHUONG_TRINH_TRAI_CP1:
JB NUT_TRAI1,KT_CHUONG_TRINH_TRAI_CP2
JMP CHUONG_TRINH_TRAI_CP1
KT_CHUONG_TRINH_TRAI_CP2:
JB NUT_TRAI2,KT_CHUONG_TRINH_TRAI_CP3
JMP CHUONG_TRINH_TRAI_CP2
KT_CHUONG_TRINH_TRAI_CP3:
JB NUT_TRAI3,KT_CHUONG_TRINH_TRAI_CP4
JMP CHUONG_TRINH_TRAI_CP3
KT_CHUONG_TRINH_TRAI_CP4:
JB NUT_TRAI4,KT_CHUONG_TRINH_PHAI_CP1
JMP CHUONG_TRINH_TRAI_CP4
KT_CHUONG_TRINH_PHAI_CP1:
JB NUT_PHAI1,KT_CHUONG_TRINH_PHAI_CP2
JMP CHUONG_TRINH_PHAI_CP1
KT_CHUONG_TRINH_PHAI_CP2:
JB NUT_PHAI2,KT_CHUONG_TRINH_PHAI_CP3
JMP CHUONG_TRINH_PHAI_CP2
KT_CHUONG_TRINH_PHAI_CP3:
JB NUT_PHAI3,KT_CHUONG_TRINH_PHAI_CP4
JMP CHUONG_TRINH_PHAI_CP3
KT_CHUONG_TRINH_PHAI_CP4:
JB NUT_PHAI4,JMP_CHON_CHUONG_TRINH
JMP CHUONG_TRINH_PHAI_CP4
JMP_CHON_CHUONG_TRINH:
JMP CHON_CHUONG_TRINH
;=========CHUONH TRINH 1=========
CHUONG_TRINH_TT1:
;--GHI O TT PHIA DOI DIEN DOI PHUONG
;--RA VUNG XUAT PHAT
CALL XUAT_PHAT_PHAI
;--CHAY THANG 10 VACH
CALL VAN_TOC_MAX
CALL CHAY_THANG_TIM_VACH_NGANG
MOV DEM_VACH,#8
CALL VAN_TOC_MAX
CALL CHAY_THANG
MOV DEM_VACH,#1
CALL VAN_TOC_CHAM
CALL CHAY_THANG
;--CUA PHAI
CALL CUA_PHAI
;--CHAY THANG 4 VACH
CALL VAN_TOC_CHAM
CALL CHAY_THANG_TIM_VACH_NGANG
MOV DEM_VACH,#1
CALL VAN_TOC_TB
CALL CHAY_THANG
MOV DEM_VACH,#1
CALL VAN_TOC_MAX
CALL CHAY_THANG
MOV DEM_VACH,#1
CALL VAN_TOC_CHAM
CALL CHAY_THANG
;--CUA PHAI
CALL CUA_PHAI
;--CHAY THANG 3 VACH
CALL VAN_TOC_CHAM
CALL CHAY_THANG_TIM_VACH_NGANG
MOV DEM_VACH,#1
CALL VAN_TOC_TB
CALL CHAY_THANG
MOV DEM_VACH,#1
CALL VAN_TOC_CHAM
CALL CHAY_THANG
;--CUA TRAI
CALL CUA_TRAI
;--CHAY THANG 2 VACH
CALL VAN_TOC_CHAM
CALL CHAY_THANG_TIM_VACH_NGANG
MOV DEM_VACH,#1
CALL VAN_TOC_TB
CALL CHAY_THANG
CALL DUNG
CALL GHI_DIEM
CALL DELAY30S
CALL GIU_DIEM
JB NUT_TT1,$
MOV BYTE_LED_THAP,#88
CALL DELAY1S
JMP START
;==========CHUONG TRINH 2 =====
CHUONG_TRINH_TT2:
;--GHI O TT PHIA THAP
;--RA VUNG XUAT PHAT
CALL XUAT_PHAT_PHAI
;--CHAY THANG 10 VACH
CALL VAN_TOC_MAX
CALL CHAY_THANG_TIM_VACH_NGANG
MOV DEM_VACH,#8
CALL VAN_TOC_MAX
CALL CHAY_THANG
MOV DEM_VACH,#1
CALL VAN_TOC_CHAM
CALL CHAY_THANG
;--CUA PHAI
CALL CUA_PHAI
;--CHAY THANG 7 VACH
CALL VAN_TOC_CHAM
CALL CHAY_THANG_TIM_VACH_NGANG
MOV DEM_VACH,#1
CALL VAN_TOC_TB
CALL CHAY_THANG
MOV DEM_VACH,#4
CALL VAN_TOC_MAX
CALL CHAY_THANG
MOV DEM_VACH,#1
CALL VAN_TOC_CHAM
CALL CHAY_THANG
;--CUA PHAI
CALL CUA_PHAI
;--CHAY THANG 2 VACH
CALL VAN_TOC_CHAM
CALL CHAY_THANG_TIM_VACH_NGANG
MOV DEM_VACH,#1
CALL VAN_TOC_TB
CALL CHAY_THANG
CALL DUNG
CALL GHI_DIEM
CALL DELAY30S
CALL GIU_DIEM
JB NUT_TT1,$
MOV BYTE_LED_THAP,#88
CALL DELAY1S
JMP START
;==========CHUONG TRINH 3 =====
CHUONG_TRINH_TT3:
;--GHI O TT PHIA DOI PHUONG
;--RA VUNG XUAT PHAT
CALL XUAT_PHAT_PHAI
;--CHAY THANG 11 VACH
CALL VAN_TOC_MAX
CALL CHAY_THANG_TIM_VACH_NGANG
MOV DEM_VACH,#8
CALL VAN_TOC_MAX
CALL CHAY_THANG
MOV DEM_VACH,#1
CALL VAN_TOC_CHAM
CALL CHAY_THANG
;--CUA PHAI
CALL CUA_PHAI
;--CHAY THANG 9 VACH
CALL VAN_TOC_CHAM
CALL CHAY_THANG_TIM_VACH_NGANG
MOV DEM_VACH,#1
CALL VAN_TOC_TB
CALL CHAY_THANG
MOV DEM_VACH,#6
CALL VAN_TOC_MAX
CALL CHAY_THANG
MOV DEM_VACH,#1
CALL VAN_TOC_CHAM
CALL CHAY_THANG
;--CUA PHAI
CALL CUA_PHAI
;--CHAY THANG 3 VACH
CALL VAN_TOC_CHAM
CALL CHAY_THANG_TIM_VACH_NGANG
MOV DEM_VACH,#1
CALL VAN_TOC_TB
CALL CHAY_THANG
MOV DEM_VACH,#1
CALL VAN_TOC_CHAM
CALL CHAY_THANG
;--CUA PHAI
CALL CUA_PHAI
;--CHAY THANG 1 VACH
CALL VAN_TOC_CHAM
CALL CHAY_THANG_TIM_VACH_NGANG
CALL DUNG
CALL GHI_DIEM
CALL DELAY30S
CALL GIU_DIEM
JB NUT_TT1,$
MOV BYTE_LED_THAP,#88
CALL DELAY1S
JMP START
;==========CHUONG TRINH 4 =====
CHUONG_TRINH_TT4:
;--GHI O TT PHIA THAP DOI PHUONG
;--RA VUNG XUAT PHAT
CALL XUAT_PHAT_PHAI
;--CHAY THANG 10 VACH
CALL VAN_TOC_MAX
CALL CHAY_THANG_TIM_VACH_NGANG
MOV DEM_VACH,#8
CALL VAN_TOC_MAX
CALL CHAY_THANG
MOV DEM_VACH,#1
CALL VAN_TOC_CHAM
CALL CHAY_THANG
;--CUA PHAI
CALL CUA_PHAI
;--CHAY THANG 4 VACH
CALL VAN_TOC_CHAM
CALL CHAY_THANG_TIM_VACH_NGANG
MOV DEM_VACH,#1
CALL VAN_TOC_TB
CALL CHAY_THANG
MOV DEM_VACH,#1
CALL VAN_TOC_MAX
CALL CHAY_THANG
MOV DEM_VACH,#1
CALL VAN_TOC_CHAM
CALL CHAY_THANG
;--CUA PHAI
CALL CUA_PHAI
;--CHAY THANG 5 VACH
CALL VAN_TOC_CHAM
CALL CHAY_THANG_TIM_VACH_NGANG
MOV DEM_VACH,#1
CALL VAN_TOC_TB
CALL CHAY_THANG
MOV DEM_VACH,#2
CALL VAN_TOC_MAX
CALL CHAY_THANG
MOV DEM_VACH,#1
CALL VAN_TOC_CHAM
CALL CHAY_THANG
;--CUA TRAI
CALL CUA_TRAI
;--CHAY THANG 3 VACH
CALL VAN_TOC_CHAM
CALL CHAY_THANG_TIM_VACH_NGANG
MOV DEM_VACH,#1
CALL VAN_TOC_TB
CALL CHAY_THANG
MOV DEM_VACH,#1
CALL VAN_TOC_CHAM
CALL CHAY_THANG
;--CUA TRAI
CALL CUA_TRAI
;--CHAY THANG 1 VACH
CALL VAN_TOC_CHAM
CALL CHAY_THANG_TIM_VACH_NGANG
CALL DUNG
CALL GHI_DIEM
CALL DELAY30S
CALL GIU_DIEM
JB NUT_TT1,$
MOV BYTE_LED_THAP,#88
CALL DELAY1S
JMP START
;==========CHUONG TRINH 5 =====
CHUONG_TRINH_TRAI1:
;--GHI O 2 DIEM GAN
;--RA VUNG XUAT PHAT
CALL XUAT_PHAT_PHAI
;--CHAY THANG 11 VACH
CALL VAN_TOC_MAX
CALL CHAY_THANG_TIM_VACH_NGANG
MOV DEM_VACH,#9
CALL VAN_TOC_MAX
CALL CHAY_THANG
MOV DEM_VACH,#1
CALL VAN_TOC_CHAM
CALL CHAY_THANG
;--CUA PHAI
CALL CUA_PHAI
;--CHAY THANG 6 VACH
CALL VAN_TOC_CHAM
CALL CHAY_THANG_TIM_VACH_NGANG
MOV DEM_VACH,#1
CALL VAN_TOC_TB
CALL CHAY_THANG
MOV DEM_VACH,#3
CALL VAN_TOC_MAX
CALL CHAY_THANG
MOV DEM_VACH,#1
CALL VAN_TOC_CHAM
CALL CHAY_THANG
CALL DUNG
CALL GHI_DIEM
CALL DELAY30S
CALL GIU_DIEM
JB NUT_TT1,$
MOV BYTE_LED_THAP,#88
CALL DELAY1S
JMP START
;==========CHUONG TRINH 6 =====
CHUONG_TRINH_TRAI2:
;--GHI O 2 DIEM PHIA THAP
;--RA VUNG XUAT PHAT
CALL XUAT_PHAT_PHAI
;--CHAY THANG 11 VACH
CALL VAN_TOC_MAX
CALL CHAY_THANG_TIM_VACH_NGANG
MOV DEM_VACH,#9
CALL VAN_TOC_MAX
CALL CHAY_THANG
MOV DEM_VACH,#1
CALL VAN_TOC_CHAM
CALL CHAY_THANG
;--CUA PHAI
CALL CUA_PHAI
;--CHAY THANG 3 VACH
CALL VAN_TOC_CHAM
CALL CHAY_THANG_TIM_VACH_NGANG
MOV DEM_VACH,#1
CALL VAN_TOC_TB
CALL CHAY_THANG
MOV DEM_VACH,#1
CALL VAN_TOC_CHAM
CALL CHAY_THANG
;--CUA TRAI
CALL CUA_TRAI
;--CHAY THANG 2 VACH
CALL VAN_TOC_CHAM
CALL CHAY_THANG_TIM_VACH_NGANG
MOV DEM_VACH,#1
CALL VAN_TOC_CHAM
CALL CHAY_THANG
;--CUA PHAI
CALL CUA_PHAI
;--CHAY THANG 4 VACH
CALL VAN_TOC_CHAM
CALL CHAY_THANG_TIM_VACH_NGANG
MOV DEM_VACH,#1
CALL VAN_TOC_TB
CALL CHAY_THANG
MOV DEM_VACH,#1
CALL VAN_TOC_MAX
CALL CHAY_THANG
MOV DEM_VACH,#1
CALL VAN_TOC_CHAM
CALL CHAY_THANG
;--CUA PHAI
CALL CUA_PHAI
;--CHAY THANG 1 VACH
CALL VAN_TOC_CHAM
CALL CHAY_THANG_TIM_VACH_NGANG
CALL DUNG
CALL GHI_DIEM
CALL DELAY30S
CALL GIU_DIEM
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -