📄 am6083b3.asm
字号:
;*****************************************
; SAVE STATUS
;*****************************************
SAVE_PP ;
MOVLW 30H ;
CALL OPCODE ;
BCF CS_P ;
MOVLW 70H ;ADDRESS 30H FOR EEPROM
CALL OPCODE ;
MOVF FLAG_T,W ;STORIGE FLAG OF FLAG_T
MOVWF RW0 ;
CALL WRITE ;
MOVLW 00H ;E/W ENABLE
CALL OPCODE ;
GOTO END_PRM
;*****************************************
;** OPCODE **
;*****************************************
OPCODE ;
BANK_0 ;
MOVWF COMMAND ; W
MOVLW NORA ;
TRIS RB ;
BCF CLK_P ;
MOVLW 09H ;
MOVWF R1 ;
BCF DIO_P ;
BSF CS_P
SETC ;
;; GOTO CONTINUE
CONTINUE ;
CLRWDT ;
SKPNC
BSF DIO_P ;
;; NOP
NOP
BSF CLK_P ;
RLF COMMAND ;
;; GOTO DLA ;
;;DLA ;
GOTO OPD ;
OPD ;
BCF CLK_P ;
BCF DIO_P ;
DECFSZ R1 ;
GOTO CONTINUE ;
RETLW 0
;********************************** ;
;** READ SECTION (TWICE) ** ;
;********************************** ;
READ ;
MOVLW EXTA ;
TRIS RB ;B11001111
MOVLW 16D ;
MOVWF R1 ;
READ_0 ;
GOTO READDD ;
READDD ;
BSF CLK_P ;
CLRWDT ;
CLRC ;
BTFSC DIO_P ;
SETC ;
RLF RW0 ;
RLF RW1
NOP
BCF CLK_P ;
GOTO DLB ;
DLB ;
DECFSZ R1 ;
GOTO READ_0 ;
GOTO END_PRM ;
;********************************** ;
;** WRITE TO 93LC46 ** ;
;********************************** ;
WRITE ;
MOVLW NORA ;
TRIS RB ;
MOVLW 16D ;16BIT FOR ONE WORD
MOVWF R1 ;
WRITE_0 ;
BCF DIO_P ;
RLF RW0 ;
RLF RW1 ;
SKPNC
BSF DIO_P ;
NOP
NOP
BSF CLK_P ;
;; CLRWDT ;
GOTO DLC ;CLOCK
DLC
GOTO WRD ;CLOCK
WRD ;
BCF CLK_P ;
BCF DIO_P ;
DECFSZ R1 ;
GOTO WRITE_0 ;
BCF CS_P ;
GOTO SDF ;
SDF ;
CLRF RTCC ;
BSF CS_P ;
;
CHK ;
CLRWDT ;WATING TIME
MOVLW 46D ;
SUBWF RTCC,W ;
SKPC ;
GOTO CHK ;
;
;-----------------------------------------------
END_PRM ;
BCF CS_P ;
MOVLW NM
TRIS RB
; CLRF RB ; remove , change 11/18/02
MOVLW B'00000000' ;
TRIS RC ;
;; BANK_0 ;
RETLW 0 ;
;***************************************** ;
; BUTTOM FORMAT
;*****************************************
PASS_ALL ;
MOVLW NM
TRIS RB
BANK_2 ;
CLRF DEBUNSS_R ;
BCF FSR,PA1 ;BANK 0
;----------------------------------------- ;
BT1 ;S1
BTFSC FLAG_T,HIJACK_FG ;CHECKUP CAR JACKING
GOTO BT3 ;TO CHECKUP HIJACK RELESS
MOVLW KEY_1HP ;
XORWF BUTTON,W ;MATCH BUTTEN 1
SKPZ ;
GOTO BT2 ;
BTFSC FLAG_T1,PRESS_FG ;PRESSED BUTTEN 1
GOTO FAIL_XX
BSF FLAG_T1,PRESS_FG ;ACTIVED BUTTEN 1 FUNTION
BTFSC FLAG_T,PANIC_FG ;
GOTO END_SFF ;
;----------------------------------------------
TTXX ;
; BTFSC FLAG_T,VALET_FG ;
; GOTO VALET_S1 ;
BTFSS FLAG_T,ALARM_FG ;
BTFSS FLAG_T2,IGN_ON_FG ;
GOTO JMP_IGN_OFF_S1
VALET_S1 ;
MOVLW 0 ;S1 OF VALET MODE
ANDWF RC ;AND ACC ON
BCF FLAG_T1,LAMP_ON_FG ;
;; BSF LED_P ;
;; BTFSS FLAG_T,VALET_FG ;
;; BCF LED_P ;
BSF FLAG_T5,LOCKUV_FG ;IN DRIVING
BSF LOCK_P ;LOCK ACTIVE BY BT1
;
UNLOCK_XX ;
;; BTFSC FLAG_T,VALET_FG ;
BTFSC FLAG_T2,IGN_ON_FG ;
GOTO VALET_NO_FLASH ;REDY INTO ARME
PAGE_1
MOVLW 3 ;
BTFSS FLAG_T5,LOCKUV_FG ;
MOVLW 5 ;
CALL SP_ACTIVE_X ;
CALL GUN_TIMERS
;------------------------------------ ;
VALET_NO_FLASH ;
PAGE_0
BANK_2 ;
CLRF GUN_RAM ;
; BTFSC FLAG_T,VALET_FG ;
; BSF LED_P
PAGE_1
GOTO END_PANIC_CAR1 ;TURN OFF PANIC
;-------------------------------------------- ;
JMP_IGN_OFF_S1
BTFSS FLAG_T,PANIC_FG ;
BTFSC FLAG_T,SIREN_FG ;
GOTO END_SFF
BCF FLAG_T,SILENT_FG
SILENT_POINT ;
PAGE_1 ;PAGE_1
BTFSC FLAG_T,ALARM_FG ;
BTFSC FLAG_T4,WAIT_ALARM_FG ;DISARM
GOTO ALARM
PAGE_0
GOTO CAR_FINDER ;INTO CAR FINDER
;------------STOP ALARM-------------------------
END_SFF ;
BSF FLAG_T1,PRESS_FG ;
MOVLW B'00000000' ; MOVLW B'00001000' change 11/18/02
ANDWF RC ; ANDWF RC change 11/18/02
PAGE_1
GOTO END_PANIC_CAR2 ;
;----------------------------------------- ;
BT2 ;S2
MOVLW KEY_2HP ;
XORWF BUTTON,W ;MATCH BUTTEN 1
SKPZ ;
GOTO BT3 ;
BTFSC FLAG_T1,PRESS_FG ;PRESSED BUTTEN 1
GOTO FAIL_XX
BSF FLAG_T1,PRESS_FG ;ACTIVED BUTTEN 1 FUNTION
BCF FLAG_T,SIREN_FG ;
BCF SIREN_P
; BTFSC FLAG_T,VALET_FG ;
; GOTO VALET_S2 ;
BTFSS FLAG_T,ALARM_FG
BTFSS FLAG_T2,IGN_ON_FG ;
GOTO DISARM ;
VALET_S2 ;BUTTEN 1 IN
BCF FLAG_T1,LAMP_ON_FG ;
MOVLW B'00000001' ; MOVLW B'00001001' change 11/18/02
ANDWF RC ; ANDWF RC change 11/18/02
; BTFSC FLAG_T,VALET_FG ;
; BSF LED_P ;
BSF UNLOCK_P ;
BCF FLAG_T5,LOCKUV_FG ;
GOTO UNLOCK_XX ;
;
;-------------BUTTEN 3---------------------------- ;
BT3 ;S3
MOVLW KEY_3HP ;PRESS BUTTON 2
XORWF BUTTON,W ;
SKPZ ;
GOTO BT12
BTFSS FLAG_T1,PRESS_FG
BTFSS FLAG_T,HIJACK_FG
GOTO JMP_XXA ;
BTFSC FLAG_T2,IGN_ON_FG
BTFSS FLAG_T1,I2SEC_FG ;PRESS BUTTON 2 FOR OVER
GOTO FAIL_XX ;2SCEONDS TO
BSF FLAG_T1,PRESS_FG ;RELEASS CAR JACKING
OUT_CARJACK
BCF SIREN_P ;
BCF FLAG_T,HIJACK_FG ;
PAGE_1
MOVLW 1
CALL LAMP_ACTIVE
BCF FLAG_T1,LED_ON_FG ;
PAGE_0
GOTO START_CC1 ;DISARM FROM HIJACK
;----------------------------------------- ;
JMP_XXA
BTFSC FLAG_T1,PRESS_FG ;
GOTO FAIL_XX ;
BSF FLAG_T1,PRESS_FG ;
; BTFSC FLAG_T,VALET_FG
; GOTO FAIL_XX
;---------------------------------------------
BTFSS FLAG_T,PANIC_FG ;
BTFSC FLAG_T,SIREN_FG
GOTO END_SFF
BTFSC FLAG_T2,IGN_ON_FG ;
GOTO INTO_CAR_HIJACK
BSF FLAG_T,SILENT_FG
GOTO SILENT_POINT
INTO_CAR_HIJACK
BTFSS DISP_RAM,DIP_ANTICAR_FG ;
GOTO FAIL_XX ;
PAGE_1
GOTO ANTI_HIJACK ;INTO CAR JACK
;------- PANIC BY BUTTEN 1+2 TRIGGER -----------
BT12 ;
BTFSC FLAG_T,HIJACK_FG ;
GOTO FAIL_XX ;
MOVLW KEY_12HP ;PRESS KEY1+2
XORWF BUTTON,W ;
BTFSS FLAG_T,PANIC_FG ;
SKPZ ;
GOTO BT23 ;
ACT_PANIC ;
BTFSS FLAG_T,HIJACK_FG ;ACTIVE PANIC
BTFSC FLAG_T1,PRESS_FG ;
GOTO FAIL_XX ;
BSF FLAG_T1,PRESS_FG ;
; BTFSC FLAG_T,VALET_FG
; GOTO FAIL_XX
PAGE_1
GOTO PANIC ;PANIC
;---------------BUTTON 2+3---------------------------
BT23
BTFSC FLAG_T,ALARM_FG ;
GOTO FAIL_XX ;
MOVLW KEY_23 ;PRESS KEY1+2
XORWF BUTTON,W ;
SKPZ ;
GOTO FAIL_XX ;
BSF FLAG_T1,PRESS_FG ;
BSF TRUNK_P ;
GOTO FAIL_XX ;
;-------------------------------------------
; ALL DISABLE -
;-------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -