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

📄 am6083b3.asm

📁 用16C505写的汽车防盗器原代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:

;	      LIST P=16C57,R=DEC
                      LIST P=16C505,R=DEC
;    #include <p16c505.inc>
;    __CONFIG        _CP_ON & _WDT_ON & _IntRC_OSC_RB4EN & _MCLRE_ON
;    __IDLOCS        03721H
;--------------------------------------------------------------------------

;----------------------------------------------------------------------
; KEY 1     : ALARM /DISALARM/ STOP ARMING / ACC ON:LOCK /CAR FINDE
; KEY 2     : DISARM / ACC ON: UNLOCK
; KEY 3     : SILENT ALARM / ACC ON:ANTI-CARJACK /CAR FINDE
; KEY 1+2   : PANIC
;
;----------------------------------------------------------------------
;
;        ON(1)          OFF(0)       P.S.
;
; J1:   0.5               3.5        CENTER CONTROL TIMER (SEC)
; J2:   REARME            NO         AUTO REARME
; J3:   ANTI CARJACK      NO
;-----------------------------------------------------------------------
;                            PAGE MACRO
PAGE_0  MACRO
        BCF         STATUS,PA0
        ENDM
PAGE_1  MACRO
        BSF         STATUS,PA0
        ENDM
PAGE_2  MACRO
        BCF         STATUS,PA0
        BSF         STATUS,PA1
        ENDM
PAGE_3  MACRO
        BSF         STATUS,PA0
        BSF         STATUS,PA1
        ENDM
;----------BANK MACRO-----------------------
BANK_0  MACRO
        BCF         FSR,PA0
        BCF         FSR,PA1
        ENDM
BANK_1  MACRO
        BSF         FSR,PA0
        BCF         FSR,PA1
        ENDM
BANK_2  MACRO
        BCF         FSR,PA0
        BSF         FSR,PA1
        ENDM
BANK_3  MACRO
        BSF         FSR,PA0
        BSF         FSR,PA1
        ENDM

;----------- define regisister --------

SIA            EQU     .0           ;Indirect data address
RTCC           EQU     .1           ;RTCC timer(not use)
PC             EQU     .2           ;Program counter
STATUS         EQU     .3           ;Status word register
FSR            EQU     .4           ;File select register
;RA             EQU     .5           ;I/O portNN RA (bit programmable)
OSCCAL         EQU     .5
RB             EQU     .6           ;I/O port RB (bit programmable)
RC             EQU     .7           ;I/O port RC (bit programmable)
;;
FLAG_T         EQU     .8           ;flag regisister0
FLAG_T1        EQU     .9           ;flag regisister1
FLAG_T2        EQU     .10          ;flag regisister2
FLAG_T3        EQU     .11          ;flag regisister3
FLAG_T4        EQU     .12          ;flag regisister4
FLAG_T5        EQU     .13          ;flag regisister5
FLAG_T6        EQU     .14
DISP_RAM       EQU     .15
;;
COMMAND        EQU     .16
CNT0           EQU     .16
;;
RTCC_2         EQU     .17
RW0            EQU     .17
CNT1           EQU     .17
;;
R1             EQU     .18
CNT2           EQU     .18
DELAY_X        EQU     .18
MASK           EQU     .18
;;                                   CS
RX1            EQU     .19
RW1            EQU     .19
;;
LEARN_SP_RAM   EQU     .20
;;
CSR2           EQU     .21         ;COUNTER_L
CSR3           EQU     .22         ;COUNTER_H
CSR4           EQU     .23         ;
;;
CSR5           EQU     .24
BUTTON         EQU     .24
CSR6           EQU     .25         ;S LSB

CSR7           EQU     .26

CSR8           EQU     .27         ;S MSB
;;
PASS_LOOP      EQU     .28
TWO_LOOP       EQU     .28

DEL1           EQU      .31

PASS_CNT       EQU     .29
;--------------------------------
;    DECODE   USE   ONLY        -
;           BANK_1              -
;--------------------------------
KEYREG7        EQU     .16
KEYREG6        EQU     .17
KEYREG5        EQU     .18
KEYREG4        EQU     .19
KEYREG3        EQU     .20
KEYREG2        EQU     .21
KEYREG1        EQU     .22
KEYREG0        EQU     .23
;--------------------------------
;    TIMER   USE   ONLY         -
;           BANK_2              -
;--------------------------------
DEBUNSS_R      EQU     .16
PRESSOK        EQU     .17
;DOOR_BUNSS     EQU     .19
;DR_BP          EQU     .20

SYSTEM1_RAM    EQU     .21
SYSTEM2_RAM    EQU     .22
SEC_TM_RAM     EQU     .23

LED_RAM        EQU     .25
LED_SPEED_RAM  EQU     .26

LAMP_RAM       EQU     .27
LAMP_TIMES     EQU     .28

SP_RAM         EQU     .29
SP_TIMES       EQU     .30

GUN_RAM        EQU     .31
;--------------------------------
;           BANK_3              -
;--------------------------------
SEN_LIGHT_RAM  EQU     .16
SEN_LIGHT1_RAM EQU     .17

SENSOR_CNT_RAM EQU     .18
SENL_BANCE_RAM EQU     .19
SENH_BANCE_RAM EQU     .20
SENL_BLOOE_RAM EQU     .21
DOOR_BUNSS     EQU     .22
ACC_ON_10S     EQU     .27
VALET_CNT      EQU     .28
IGNON_RAM      EQU     .29
IGNOFF_RAM     EQU     .30
TEMP_RAM       EQU     .23
RAM_BUFF        EQU     .31
;--------- reset address ----------------
PIC16C505      EQU     3FFH
PIC16C54       EQU     1FFH
PIC16C55       EQU     1FFH
PIC16C56       EQU     3FFH
PIC16C57       EQU     7FFH
;-----------------------------------------
ZEROO          EQU     2
CARRY          EQU     0
PD             EQU     3
TO             EQU     4
;-----------------------------------------
;;     hcs_200 four keys
;-----------------------------------------
KEY_1HP        EQU     0B0H         ;K1
KEY_2HP        EQU     70H         ;K2
KEY_12HP       EQU     30H         ;(1+2 KEY) PANIC
KEY_3HP        EQU     0D0H         ;K3
KEY_23         EQU     050H
;-----------------------------------------
;;

NORA           EQU     B'00100000'
EXTA           EQU     B'00110000'
NM             EQU     B'00110001'
;;
PA0            EQU     5
PA1            EQU     6
;;
NBITS          EQU     24
;;MAX            EQU     23040
;;MIN            EQU     240
;---------------------------------
;-          PORT B               -
;---------------------------------

SENSORL_B      EQU     4                ;I
CLK            EQU     0                ;O
CS             EQU     1                ;O
IGN_B          EQU     0                ;I           
;;MCLR          EQU     3                ;
DIO            EQU     4                ;I/O
DOOR_B         EQU     4                ;I
RF_B           EQU     5                ;I
ST_KILL_B      EQU     2                ;O      	

;---------------------------------
;-          PORT C               -
;---------------------------------
UNLOCK_C       EQU     0		;
LOCK_C         EQU     1
LAMP_C         EQU     2
SIREN_C        EQU     3                ;5   		chage 11/18/02
LED_C          EQU     4
TRUNK_C        EQU     5
;-----------------------------------------
;             B poart
;-----------------------------------------
#DEFINE        SENSORL_P     RB,SENSORL_B
#DEFINE        CLK_P         RB,CLK
#DEFINE        CS_P          RB,CS
#DEFINE        IGN_P         RB,IGN_B
#DEFINE        DIO_P         RB,DIO
#DEFINE        DOOR_P        RB,DOOR_B
#DEFINE        RF_P          RB,RF_B
#DEFINE        KILL_START_P  RB,ST_KILL_B          ;change rc 11/18/02

;#DEFINE        TRUNK_P       RC,TRUNK_B		
;#DEFINE        VALET_P       RB,VALET_B
;#DEFINE        CURRENT_P     RB,CURRENT_B
;#DEFINE        SENSORH_P     RB,SENSORH_B
;#DEFINE        DISP_P        RB,DISP_I_B
;-----------------------------------------
;             C poart
;-----------------------------------------
#DEFINE        UNLOCK_P      RC,UNLOCK_C
#DEFINE        LOCK_P        RC,LOCK_C
#DEFINE        LAMP_P        RC,LAMP_C
#DEFINE        LED_P         RC,LED_C
#DEFINE        SIREN_P       RC,SIREN_C
#DEFINE        TRUNK_P       RC,TRUNK_C
;---------------------------------
;-           FLAG_T              -
;---------------------------------
ALL_DIS_FG        EQU     0             ;DISARME FLAG
ALARM_FG          EQU     1             ;ARME FLAG
SECOND_FG         EQU     2             ;AUTO REARME MODE
SIREN_FG          EQU     3             ;SIREN ACTIVE
HIJACK_FG         EQU     4             ;CAR JACKING MODE
;VALET_FG          EQU     5             ;VALET MODE
SILENT_FG         EQU     6             ;SILENT MODE
PANIC_FG          EQU     7
;---------------------------------
;-           FLAG_T1             -
;---------------------------------
PRESS_FG          EQU     0
I2SEC_FG          EQU     1
LED_ON_FG         EQU     2
LAMP_ON_FG        EQU     3
SP_ON_FG          EQU     4
ONE_FG            EQU     5
LEARN_FG          EQU     6
CLEAR_EE_FG       EQU     7
;---------------------------------
;-           FLAG_T2             -
;---------------------------------
DOOR_OPEN_FG      EQU     0
IGN_ON_FG         EQU     1
TIMER_END_FG      EQU     2
SEC_TM_FG         EQU     3
SOUND_OFF_FG      EQU     4
PASS_ERRO_FG      EQU     5
STILL_PUSH_FG     EQU     6
SAVE_ONE_FG       EQU     7
;---------------------------------
;-           FLAG_T3             -
;---------------------------------
SENL_FG           EQU     0
SENH_FG           EQU     1
SENL_BLOOEY_FG    EQU     2
SEN_DY05_FG       EQU     3
SENL_TRIG_FG      EQU     4
DOOR_BLOOEY_FG    EQU     5
REM_HIT_FG        EQU     6             ;
;;SENH_BLOOEY_FG    EQU     7
IGN_ONED_FG       EQU     7             ;
;;DR_OP_FLASH_FG    EQU     7
;---------------------------------
;-           FLAG_T4             -
;---------------------------------
PROTECT_10SEC_FG  EQU     0             ;
PRESS_VALET_FG    EQU     1             ;RELESS VALET
CARJACK1_FG       EQU     2             ;
SENL_CNT_FG       EQU     3             ;
SENL_START_FG     EQU     4             ;
CHK_VALET_CNT_FG  EQU     5           ;
SOUND_OPEN_FG     EQU     6             ;
WAIT_ALARM_FG     EQU     7             ;
;---------------------------------
;-           FLAG_T5             -
;---------------------------------
ACC_CNT_FG        EQU     0
GUN_FG            EQU     1
LOCKUV_FG         EQU     2
LOCK_FG           EQU     3             ;FOR ACC CONTORL
AUTO_LOCK_FG      EQU     4
LAST_AM_FG        EQU     5
H_D               EQU     6             ;FOR BUTTEN CONTROL
;---------------------------------
;-           FLAG_T6             -
;---------------------------------
;;SEN_LIGHT_FG      EQU     0             ;
PRE_SILENT_FG     EQU     2                              ;IN ACC ON

;---------------------------------
;-         DISP_SW SETING        -
;---------------------------------
DIP_ANTICAR_FG EQU     2        ; J3
;DIP_LAST_DOOR   EQU    1        ; J2
DIP_SECOND_FG  EQU     1        ; J2
DIP_GUN_TE_FG  EQU     0        ; J1

;-----------------------------------------
                ORG      000
 	         MOVWF    OSCCAL
                 GOTO     MAIN

;*****************************************      ;
;               ENABLE EEPROM                   ;
;*****************************************      ;
ENABLE_ROM                                      ;
         MOVLW      30H                         ;ENABLE EEPROM
OP_CH                                           ;
         CALL       OPCODE                      ;
         GOTO       END_PRM                     ;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -