📄 am6083b3.asm
字号:
; 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 + -