⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 am6083b3.asm

📁 用16C505写的汽车防盗器原代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        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 + -