*********************8路遥控开关**************************
;
SIGNAL EQU 3H
BAORD1 EQU 2H
BAORD2 EQU 1H
BAORD3 EQU 0H
BAORD4 EQU 3H
ORG 0H
INTI:
MOVLW 00000000B
MOVWF PORTC
TRIS PORTC
MOVWF PORTC
MOVLW 11111111B
TRIS PORTA
TRIS PORTB
CLRF WEI1
;-------------------------------------------------------------
;检测有无信号
CHECK:
BTFSS PORTB,SIGNAL
GOTO $-1
SWAPF PORTB,W
ANDLW 00001111B
ADDWF PCL,F
NOP
GOTO K1 ;按键1
GOTO K2 ;按键2
GOTO K3 ;按键3
GOTO K4 ;按键4
GOTO K5 ;按键5
GOTO K6 ;按键6
GOTO K7 ;按键7
GOTO K8 ;按键8
GOTO K9 ;按键9
GOTO K10 ;按键10
GOTO K11 ;按键11
GOTO K12 ;按键12
GOTO CHECK
;-----------------------------------------------------------
K1:
BTFSS WEI1,0 ;检测组群信号
GOTO CHECK
MOVLW 10000000B
XORWF PORTC,F ;双稳反转
BTFSC PORTB,SIGNAL ;检测遥控器 按键是否松开
GOTO $-1
GOTO CHECK
K2:
BTFSS WEI1,0
GOTO CHECK
MOVLW 01000000B
XORWF PORTC,F
BTFSC PORTB,SIGNAL
GOTO $-1
GOTO CHECK
K3:
BTFSS WEI1,0
GOTO CHECK
MOVLW 00100000B
XORWF PORTC,F
BTFSC PORTB,SIGNAL
GOTO $-1
GOTO CHECK
K4:
BTFSS WEI1,0
GOTO CHECK
MOVLW 00010000B
XORWF PORTC,F
BTFSC PORTB,SIGNAL
GOTO $-1
GOTO CHECK
K5:
BTFSS WEI1,0
GOTO CHECK
MOVLW 00001000B
XORWF PORTC,F
BTFSC PORTB,SIGNAL
GOTO $-1
GOTO CHECK
K6:
BTFSS WEI1,0
GOTO CHECK
MOVLW 00000100B
XORWF PORTC,F
BTFSC PORTB,SIGNAL
GOTO $-1
GOTO CHECK
K7:
BTFSS WEI1,0
GOTO CHECK
MOVLW 00000010B
XORWF PORTC,F
BTFSC PORTB,SIGNAL
GOTO $-1
GOTO CHECK
K8:
BTFSS WEI1,0
GOTO CHECK
MOVLW 00000001B
XORWF PORTC,F
BTFSC PORTB,SIGNAL
GOTO $-1
GOTO CHECK
K9:
CLRF WEI1
BTFSS PORTB,BAORD1
GOTO CHECK
BSF WEI1,0
GOTO CHECK
K10:
CLRF WEI1
BTFSS PORTB,BAORD2
GOTO CHECK
BSF WEI1,0
GOTO CHECK
K11:
CLRF WEI1
BTFSS PORTB,BAORD3
GOTO CHECK
BSF WEI1,0
GOTO CHECK
K12:
CLRF WEI1
BTFSS PORTA,BAORD4
GOTO CHECK
BSF WEI1,0
GOTO CHECK
ORG 7FFH
GOTO INTI
END