;------------------------------------------------------------------------------
;
; FUNCTION : M_LOOP ()
;
; DESCRIPTION : MAIN PROGRAM ROUTINE
;
;------------------------------------------------------------------------------
M_LOOP BCF PORTA,LED
BTFSS PORTA,LRN
GOTO LEARN ; TEST & HANDLE LEARN BUTTON
CALL TST_RTCC ; UPDATE TIMER
CALL TST_TIMER ; HANDLE TIMER - UPDATE OUTPUTS
CALL RECEIVE ; RECEIVE TRANSMISSION
BC M_LOOP ; CHECK IF TRANSMISSION VALID
M_SEARCH
CLRF TXNUM ; TEST FIRST POSITION
; ******* COMPARE LOWER WORD OF SERIAL NUMBER ********
M_SERIAL
CALL TX_LOOKUP ; GET TX BASE ADDRESS
BSF ADDRESS,1 ; ADD 2 TO BASE ADDRESS
CALL EEREAD ; READ LOWER 16-BITS OF SER# FROM EEPROM
MOV FW TMP1 ; COMPARE RX AND EEPROM VALUES
XORWF SER_2,W
BNZ M_NEXT ; IF NOT EQUAL CHECK NEXT
MOV FW TMP2 ; COMPARE RX AND EEPROM VALUES
XORWF SER_3,W
BNZ M_NEXT ; IF NOT EQUAL CHECK NEXT
; ******* COMPARE UPPER WORD OF SERIAL NUMBER ********
M_SERIAL2
INCF ADDRESS,F ; POINT TO NEXT ENTRY
CALL EEREAD ; READ UPPER 16-BITS OF SER# FROM EEPROM
MOV FW TMP1 ; COMPARE RX AND EEPROM VALUES
XORWF SER_0,W
BNZ M_NEXT ; IF NOT EQUAL CHECK NEXT
MOV FW TMP2 ; COMPARE RX AND EEPROM VALUES
XORWF SER_1,W
BNZ M_NEXT ; IF NOT EQUAL CHECK NEXT
BTFSS FLAGS,LRNF ; LEARN MODE
GOTO M_HOP ; FOUND TRANSMITTER - DECRYPT
BSF FLAGS,RELEARN ; SET RELEARN FLAG
GOTO LEARN_F ; FOUND TRANSMITTER - LEARN
; **** SEARCH NEXT POSITION FOR SERIAL NUMBER *****
M_NEXT INCF TXNUM,F ; POINT TO NEXT TRANSMITTER POSITION
MOV LW MAX_USERS ; TEST FOR LAST POSITION
SUBWF TXNUM,W
BTFSS STATUS,C ; NOT FOUND IN MAP
GOTO M_SERIAL ; TRY NEXT POSITION
M_NF
BTFSS FLAGS,LRNF ; LEARN MODE
GOTO M_LOOP ; NO... INVALID SERIAL NUMBER
GOTO LEARN_NF ; NEW TRANSMITTER - USE POINTER FOR LEARN
; ********** DECRYPT HOPCODE *********************
M_HOP
CALL DECRYPT ; DECRYPT HOPCODE
; ********* TEST DICRIMINATION VALUE *************
M_DIS MOV FW SER_3 ; SERIAL NUBER LSB MUST BE EQUAL
XORWF DISC,W ; TO DISCRIMINATION VALUE
BNZ M_LOOP
; *************** CHECK COUNTERS VALID ************
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] 下一页
本文关键字:源程序 PIC单片机,单片机-工控设备 - PIC单片机