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

📄 dispose1.asm

📁 红外线学习控制及低压AC220V电力线载波组网通讯
💻 ASM
字号:
BORD_DISPOSE:  JB RECE_BORD_FLAG,DISPOSE1
               LJMP DISPOSE_QUIT
DISPOSE1:      CLR RECE_BORD_FLAG
               CLR F_REPEAT1
               CLR F_REPEAT2
               MOV ACK_COUNT,#00H   
               JNB F_ACK_WAIT,DISPOSE1X
               MOV COUNT_BEE,#00H
               SETB F_RESPONSE
               CLR F_ACK_WAIT                  
DISPOSE1X:     MOV A,RECE_LOW2
               ANL A,#00000111B
               MOV TEAM,A
               MOV A,RECE_LOW2
               RRC A
               RRC A
               RRC A
               ANL A,#00011111B
               MOV ROOM,A
               MOV A,RECE_LOW3
               SWAP A
               ANL A,#0FH
               MOV TYPE,A
               MOV A,RECE_LOW1
               MOV C,ACC.0
               MOV F_CONTROL_STATE,C
               RRC A
               ANL A,#00001111B
               MOV COMMAND,A            
               MOV A,COMMAND
               XRL A,#00H
               JZ DISPOSE2
               LJMP DISPOSE_QUIT
;/////////////////////////////////////////////////////
;              A TEAM ?
;/////////////////////////////////////////////////////
DISPOSE2:     
               MOV A,TYPE
               XRL A,LOCAL_A_TYPE
               JZ DISPOSE3
               LJMP DISPOSE12               ;TYPE IS NOT SAME
DISPOSE3:      MOV A,ROOM
               XRL A,LOCAL_A_ROOM
               JZ DISPOSE4
               LJMP DISPOSE12
DISPOSE4:      MOV A,TEAM
               JNZ DISPOSE6
               MOV A,LOCAL_A_TEAM
               XRL A,#1
               JZ  DISPOSE5
               LJMP DISPOSE12
DISPOSE5:      LJMP DISPOSE8
DISPOSE6:      MOV A,TEAM
               XRL A,LOCAL_A_TEAM
               JZ  DISPOSE7
               LJMP DISPOSE12
DISPOSE7:      JB F_CONTROL_STATE,DISPOSE10               
DISPOSE8:      JB A_OFF_LEARNED,DISPOSE9
               LJMP DISPOSE_QUIT                ;A OFF KEY NOT LEARN
DISPOSE9:      
               MOV START_HIGH,#04H
               MOV START_LOW,#20H
               MOV STOP_LEARN,#08H
               MOV ROOM,LOCAL_A_ROOM
               MOV TYPE,LOCAL_A_TYPE
               MOV TEAM,LOCAL_A_TEAM
               LJMP DISPOSE42
DISPOSE10:     JB A_ON_LEARNED,DISPOSE11
               LJMP DISPOSE_QUIT                ;A ON KEY NOT LEARN               
DISPOSE11:     MOV START_HIGH,#00H
               MOV START_LOW,#20H
               MOV STOP_LEARN,#04H
               MOV ROOM,LOCAL_A_ROOM
               MOV TYPE,LOCAL_A_TYPE
               MOV TEAM,LOCAL_A_TEAM
               LJMP DISPOSE42
;////////////////////////////////////////////////////////////////////
;              B TEAM ?
;////////////////////////////////////////////////////////////////////
DISPOSE12:     
               MOV A,TYPE
               XRL A,LOCAL_B_TYPE
               JZ DISPOSE13
               LJMP DISPOSE22              ;TYPE IS NOT SAME
DISPOSE13:     MOV A,ROOM
               XRL A,LOCAL_B_ROOM
               JZ DISPOSE14
               LJMP DISPOSE22
DISPOSE14:     MOV A,TEAM
               JNZ DISPOSE16
               MOV A,LOCAL_B_TEAM
               XRL A,#1
               JZ  DISPOSE15
               LJMP DISPOSE22
DISPOSE15:     LJMP DISPOSE18
DISPOSE16:     MOV A,TEAM
               XRL A,LOCAL_B_TEAM
               JZ  DISPOSE17
               LJMP DISPOSE22
DISPOSE17:     JB F_CONTROL_STATE,DISPOSE20               
DISPOSE18:     JB B_OFF_LEARNED,DISPOSE19
               LJMP DISPOSE_QUIT                ;B OFF KEY NOT LEARN
DISPOSE19:      
               MOV START_HIGH,#0CH
               MOV START_LOW,#20H
               MOV STOP_LEARN,#10H
               MOV ROOM,LOCAL_B_ROOM
               MOV TYPE,LOCAL_B_TYPE
               MOV TEAM,LOCAL_B_TEAM
               LJMP DISPOSE42
DISPOSE20:     JB B_ON_LEARNED,DISPOSE21
               LJMP DISPOSE_QUIT                ;B ON KEY NOT LEARN               
DISPOSE21:     MOV START_HIGH,#08H
               MOV START_LOW,#20H
               MOV STOP_LEARN,#0CH
               MOV ROOM,LOCAL_B_ROOM
               MOV TYPE,LOCAL_B_TYPE
               MOV TEAM,LOCAL_B_TEAM
               LJMP DISPOSE42
;//////////////////////////////////////////////////////////////////
;              C TEAM ?
;////////////////////////////////////////////////////////////////////
DISPOSE22:     
               MOV A,TYPE
               XRL A,LOCAL_C_TYPE
               JZ DISPOSE23
               LJMP DISPOSE32               ;TYPE IS NOT SAME
DISPOSE23:     MOV A,ROOM
               XRL A,LOCAL_C_ROOM
               JZ DISPOSE24
               LJMP DISPOSE32
DISPOSE24:     MOV A,TEAM
               JNZ DISPOSE26
               MOV A,LOCAL_C_TEAM
               XRL A,#1
               JZ  DISPOSE25
               LJMP DISPOSE32
DISPOSE25:     LJMP DISPOSE28
DISPOSE26:     MOV A,TEAM
               XRL A,LOCAL_C_TEAM
               JZ  DISPOSE27
               LJMP DISPOSE32
DISPOSE27:     JB F_CONTROL_STATE,DISPOSE30               
DISPOSE28:     JB C_OFF_LEARNED,DISPOSE29
               LJMP DISPOSE_QUIT                ;C OFF KEY NOT LEARN
DISPOSE29:      
               MOV START_HIGH,#14H
               MOV START_LOW,#20H
               MOV STOP_LEARN,#18H
               MOV ROOM,LOCAL_C_ROOM
               MOV TYPE,LOCAL_C_TYPE
               MOV TEAM,LOCAL_C_TEAM
               LJMP DISPOSE42
DISPOSE30:     JB C_ON_LEARNED,DISPOSE31
               LJMP DISPOSE_QUIT                ;C ON KEY NOT LEARN               
DISPOSE31:     MOV START_HIGH,#10H
               MOV START_LOW,#20H
               MOV STOP_LEARN,#14H
               MOV ROOM,LOCAL_C_ROOM
               MOV TYPE,LOCAL_C_TYPE
               MOV TEAM,LOCAL_C_TEAM
               LJMP DISPOSE42
;//////////////////////////////////////////////////////////////////
;              D TEAM ?
;////////////////////////////////////////////////////////////////////
DISPOSE32:     
               MOV A,TYPE
               XRL A,LOCAL_D_TYPE
               JZ DISPOSE33
               LJMP DISPOSE_QUIT                ;TYPE IS NOT SAME
DISPOSE33:     MOV A,ROOM
               XRL A,LOCAL_D_ROOM
               JZ DISPOSE34
               LJMP DISPOSE_QUIT 
DISPOSE34:     MOV A,TEAM
               JNZ DISPOSE36
               MOV A,LOCAL_D_TEAM
               XRL A,#1
               JZ  DISPOSE35
               LJMP DISPOSE_QUIT 
DISPOSE35:     LJMP DISPOSE38
DISPOSE36:     MOV A,TEAM
               XRL A,LOCAL_D_TEAM
               JZ  DISPOSE37
               LJMP DISPOSE_QUIT 
DISPOSE37:     JB F_CONTROL_STATE,DISPOSE40               
DISPOSE38:     JB D_OFF_LEARNED,DISPOSE39
               LJMP DISPOSE_QUIT                ;D OFF KEY NOT LEARN
DISPOSE39:      
               MOV START_HIGH,#1CH
               MOV START_LOW,#20H
               MOV STOP_LEARN,#20H
               MOV ROOM,LOCAL_D_ROOM
               MOV TYPE,LOCAL_D_TYPE
               MOV TEAM,LOCAL_D_TEAM
               LJMP DISPOSE42
DISPOSE40:     JB D_ON_LEARNED,DISPOSE41
               LJMP DISPOSE_QUIT                ;D ON KEY NOT LEARN               
DISPOSE41:
               MOV START_HIGH,#18H
               MOV START_LOW,#20H
               MOV STOP_LEARN,#1CH
               MOV ROOM,LOCAL_D_ROOM
               MOV TYPE,LOCAL_D_TYPE
               MOV TEAM,LOCAL_D_TEAM
DISPOSE42:     MOV COMMAND,#1
               LCALL GENERATE_COM
               SETB F_SEND_RUNNING
               JB F_SEND_RUNNING,$
               LCALL SEND_IR
               CLR F_CHANNEL_OCCUPY
DISPOSE_QUIT:  RET
               

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -