📄 am6083b3.asm
字号:
BSF FLAG_T1,LED_ON_FG ;
BCF LED_P ;TURN ON LED
BCF FLAG_T3,REM_HIT_FG ;
SECOND_ARMING ;
BSF STATUS,PA0 ;
CALL RECEIVER ;RECEIVER MODULE
BCF STATUS,PA0 ;
BTFSS FLAG_T2,IGN_ON_FG ;IGNITION ON OR DOOR
BTFSC FLAG_T2,DOOR_OPEN_FG ;OPEN TO ALL DISARM
GOTO START_CC1 ;
BTFSS FLAG_T5,LAST_AM_FG
BTFSC DISP_RAM,DIP_SECOND_FG ;
BTFSS FLAG_T2,TIMER_END_FG ;
GOTO SECOND_ARMING ;
BSF STATUS,PA0 ;
GOTO ALARM ;
;----------------------------------------- ;
; CAR FINDER ;
;----------------------------------------- ;
CAR_FINDER ;BROWBEAT ;
PAGE_1
CALL SIREN_ACTIVE1
MOVLW 19 ;
CALL LAMP_ACTIVE ;
LAMP_FLASH_10 ;
PAGE_1
CALL RECEIVER ;RECEIVER MODULE
BTFSS FLAG_T3,DOOR_BLOOEY_FG
BTFSS FLAG_T2,DOOR_OPEN_FG ;
BTFSC FLAG_T2,IGN_ON_FG ;
GOTO IGN_TRIG_POINT ;
BTFSS FLAG_T1,LAMP_ON_FG ;
GOTO WAIT_ARMING ;
PAGE_0
GOTO LAMP_FLASH_10 ;
;----------------------------------------- ;
ORG 200H ;
;----------------------------------------- ;
; SET CENTER ACTIVE ;
;----------------------------------------- ;
GUN_TIMERS ;
BANK_2 ;
CLRF GUN_RAM ;
BSF FLAG_T5,GUN_FG ;
GUN_ATS ;
PAGE_1 ;
CALL WORK_1 ;
BANK_2
CLRF DEBUNSS_R
BTFSC FLAG_T5,GUN_FG ;
GOTO GUN_ATS ;
;----------------------------------------- ;
; SECOND TIMER
;----------------------------------------- ;
SECOND_TIMER ;
BANK_2 ;
MOVWF SEC_TM_RAM ;
BCF FLAG_T2,SEC_TM_FG ;
GOTO RET_SS ;
;----------------------------------------- ;
; 3RD TIMER ;
;----------------------------------------- ;
;TIMER3 ;
; BANK_3 ;
; MOVWF SEN_LIGHT1_RAM ;
; CLRF SEN_LIGHT_RAM ;
; GOTO RET_SS ;
;----------------------------------------- ;
;- TIMER RESET ;
;----------------------------------------- ;
TIMER_COUNT ;
BANK_2 ;
MOVWF SYSTEM2_RAM ;
CLRF SYSTEM1_RAM ; 1 SEC BASE TIMING
BCF FLAG_T2,TIMER_END_FG ;
GOTO RET_SS ;
;----------------------------------------- ;
; SIREN ACTIVE ;
;----------------------------------------- ;
SIREN_ACTIVE1 ;
MOVLW 1 ;
SP_ACTIVE_X ;
BTFSC FLAG_T,SIREN_FG
GOTO SP_ACTIVE_Y
BTFSC FLAG_T,SILENT_FG
GOTO LAMP_ACTIVE
SP_ACTIVE_Y
BANK_2 ;
MOVWF SP_TIMES ;
CLRF SP_RAM ;
BSF FLAG_T1,SP_ON_FG ;
CLRF RTCC ;
BSF SIREN_P ;
BTFSC FLAG_T,HIJACK_FG
GOTO RET_SS
;----------------------------------------- ;
;- LAMP ACTIVE ;
;----------------------------------------- ;
LAMP_ACTIVE ;
BANK_2 ;
;; MOVF SP_TIMES,W
MOVWF LAMP_TIMES ;
CLRF LED_RAM
CLRF LAMP_RAM ;
BSF FLAG_T1,LAMP_ON_FG ;
BSF LAMP_P ;
GOTO RET_SS ;
;----------------------------------------- ;
CHECK_LED_SPEED ;
MOVLW 31 ;
BTFSC FLAG_T3,DOOR_BLOOEY_FG ;
MOVLW 8 ;
;-----------------------------------------
; LED SPEED
;-----------------------------------------
LED_SPEED_SET ;
BANK_2 ;
MOVWF LED_SPEED_RAM ;
RET_SS ;
BANK_0 ;
RETLW 0 ;
;
;----------------------------------------- ;
; RECEIVER ;
;----------------------------------------- ;
RECEIVER ;
PAGE_1 ;
BTFSC FLAG_T1,LEARN_FG ;
GOTO LLPISS ;RECEIVE RF
BTFSC FLAG_T,HIJACK_FG
GOTO LLPISS
BANK_3 ;
BTFSC FLAG_T4,CHK_VALET_CNT_FG ;
GOTO LLPISS1
BTFSS FLAG_T2,IGN_ON_FG ;
GOTO LLPISS
ADD_VALET
BTFSC FLAG_T4,PROTECT_10SEC_FG ;TIME UP TO
GOTO CHECK_NUMBER ;CHACK VALET VALUE
BTFSC FLAG_T4,PRESS_VALET_FG ;
GOTO LLPISS ;RECEIVE RF
INCF VALET_CNT ;
BSF FLAG_T4,PRESS_VALET_FG ;
GOTO LLPISS ;RECEIVE RF
;-----------VALET MODE------------------------- ;
CHECK_NUMBER ;
BSF FLAG_T4,CHK_VALET_CNT_FG ;
;---------EMERGENCY------------------------
NEXT_CHK1 ;
MOVLW 5 ;EMERGENCY DISARMING
XORWF VALET_CNT,W ;
SKPZ ;
GOTO NEXT_CHK2 ;
BTFSS FLAG_T,ALARM_FG ;
GOTO LLPISS1
PAGE_0 ;PAGE_0
GOTO START_CC3 ;
;---------LEARNING--------------------------
NEXT_CHK2 ;
MOVLW 8 ;LEARING MODE
XORWF VALET_CNT,W ;
BTFSS FLAG_T,ALARM_FG ;
SKPZ ;
GOTO LLPISS1 ;
CLRF VALET_CNT ;
BCF STATUS,PA0 ;PAGE 0
GOTO LEARN_MODE ;
LLPISS1 ;
CLRF VALET_CNT ;
;-------ACTION RECEVER------------------- ;
LLPISS ;
BANK_0 ;
MOVLW 178
MOVWF CNT0
CLRF DEL1
BCF FLAG_T5,H_D ;RESET FLAG FOR HAED CODE
MOVLW .24 ;
MOVWF CNT2 ;
; CLRF CSR2
; CLRF CSR3
; CLRF CSR4
;--------HAND CODE------------------------------
RCV0 ;
BTFSS RF_P ;1 ;WAITING 6.2mS FOR HAED CODE
GOTO RCV2 ;2 ;
;--------FAIL-----------------------------------
FAIL ;
CALL WORK_1 ;
RETLW 0 ;
;
;--------FIRST CODE-----------------------------
RCV1 ;
BTFSS FLAG_T5,H_D ;25 1 ;
GOTO RCV0 ;26 ;28 2 ;
BTFSC RF_P ; 3 ;WAITING 10mS FOR FIRST CODE
GOTO RCV31 ; 4 ;
MOVF DEL1,W
SUBWF CNT0
CLRF DEL1
RCV1_H
CALL WORK_1 ; 46 US
RCV2 ;
CALL WORK_1 ; 23 ;
DECFSZ CNT0 ;22 24 ;(9+16)x256
GOTO RCV1 ;23 25 ;
BTFSC FLAG_T5,H_D ;
GOTO FAIL ;
BSF FLAG_T5,H_D ;
GOTO RCV1 ;
RCV31
INCF DEL1
BTFSS DEL1,3
GOTO RCV1_H
;--------ACT RECEIVE CODE----------------------------------------
RCV3
BTFSS RF_P ;WAITING 1mS FOR FLAG OF CODE
GOTO RCV41 ;
DECFSZ CNT0 ;
GOTO RCV3 ;
GOTO FAIL ;
RCV41 ;
CLRF DEL1
RCV4 ;
CLRF CNT0 ;
CLRF CNT1 ;
MOVF DEL1,W
MOVWF CNT0
RCV_LO ;
BTFSC RF_P ;PULLSE WIDHT IS 1280uS
GOTO RCV_LO_L
MOVF CNT1,W
ADDWF CNT0
CLRF CNT1
INCFSZ CNT0 ;OVER 1280uS BACK TO FAIL
GOTO RCV_LO ;
GOTO FAIL ;
RCV_LO_L
NOP
NOP
INCF CNT1
BTFSS CNT1,3
GOTO RCV_LO
RCV_HI
BTFSS RF_P ; 9 US ;
GOTO RCV_HI_L ;
MOVF DEL1,W
ADDWF CNT1
CLRF DEL1
INCFSZ CNT1 ;
GOTO RCV_HI ;
GOTO FAIL ;
RCV_HI_L
INCF DEL1
BTFSS DEL1,3
GOTO RCV_HI
COMPARE ;
CLRWDT ;
MOVLW .90 ;MIN 800uS BACK TO FAIL
MOVWF CSR5 ;
MOVF CNT0,W ;
ADDWF CNT1,W ;
SKPNC ;
GOTO FAIL ;MAX 1800uS BACK TO FAIL
SUBWF CSR5 ;
SKPNC ;
GOTO FAIL ;800uS > REV > 1800uS TO FAIL
MOVF CNT0,W ;
SUBWF CNT1,W ; CNT0 > CNT1 --SET C
RRF CSR4 ;
RRF CSR3 ;
RRF CSR2 ;
CALL WORK_1
DECFSZ CNT2 ;
GOTO RCV4 ;
BSF FSR,PA1 ;
CLRF DEBUNSS_R ;
BCF FSR,PA1 ;
PAGE_0
BTFSS FLAG_T1,LEARN_FG ;IN LEARN MODE ?
GOTO CAMPAR_SYNC ;TO COMPAR SYNC CODE
BTFSS FLAG_T1,PRESS_FG ;
BCF FLAG_T1,LEARN_FG ;
BSF FLAG_T1,PRESS_FG ;
RETLW 0 ;
;----------------------------------------- ;
; TST_RTCC ;
;----------------------------------------- ;
WORK_1
CLRWDT ;SYSTEM TIMER
MOVLW 0C7H ;32mS ONE LOOP
OPTION
BUFFOR
BANK_3
INCF TEMP_RAM ; 3
BTFSS TEMP_RAM,4 ; 4
GOTO RTCC2_2 ; 5
CLRF DOOR_BUNSS ; 7
RTCC2_2
BTFSS DOOR_P
CLRF TEMP_RAM ;
RTCC_1
BTFSS RTCC,7 ;
GOTO END_RTCC
BCF RTCC,7 ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -