CALL LOAD_CNT_VALS
CALL EEWRITE ; WRITE LSB WORD OF COUNTER TO EEPROM
BTFSC FLAGS,RELEARN ; IF RELEARN
GOTO BYPASS_POINTER_WRITE ; DONT UPDATE POINTER
INCF TXNUM,F ; INCREMENT LEARN POINTER
MOV LW MAX_USERS ; ALLOW 0 .. MAX_USERS - 1
SUBWF TXNUM,W
MOV LW 0H ; IF MAX WRAP TO 0
BTFSS STATUS,C
MOV F TXNUM,W ; ELSE USE TXNUM
MOV WF TMP1 ; FOR WRITE OPERATION
CLRF TMP2 ; CLEAR LOWER BYTE
MOV LW LRNPTR ; POINT TO LEARN POINTER
MOV WF ADDRESS
CALL EEWRITE ; UPDATE LEARN POINTER IN EEPROM
BYPASS_POINTER_WRITE
BSF PORTA,LED ; LED ON TO INDICATE VALID LEARN
CLRF CNT_LW ; CLEAR COUNTER LOW BYTE
SUCCESS
CALL TST_RTCC ; INDICATE SUCCESSFUL LEARN
BTFSS CNT_LW,4 ; LED ON FOR 0.5 SEC
GOTO SUCCESS ; LOOP BACK
CANCEL_LEARN
BCF FLAGS,LRNF ; CLEAR LEARN FLAG
BCF FLAGS,RELEARN ; CLEAR RELEARN FLAG
GOTO M_LOOP ; RETURN TO MAIN LOOP - LED OFF
;------------------------------------------------------------------------------
; END OF FILE : SIMDEC10.ASM
;------------------------------------------------------------------------------
ORG 1FFH
GOTO RESET
END
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]
本文关键字:源程序 PIC单片机,单片机-工控设备 - PIC单片机