📄 const.asm
字号:
;=============================================
; File Name : const.asm
;
;Rev: Date: Author: Reason:
;===============================================
#define timer_full tmrcnt,4 ; timer0 interrupt as time base
#define program_led p3en,2
#define mode_led1 p3en,0 ; mode led
#define mode_led2 p3en,1 ; for force setting
#define auto_led p3en,3
#define s_motor smctrl,sm
;----------------------------------------------
spi_transmit macro
call spi_comm
btfsc STATUS,C
goto end_SPI
endm
ADD_nop8 macro
nop
nop
nop
nop
nop
nop
nop
nop
endm
#define CONT_BIT_SEL 0 ; 1st byte to host
#define CONT_BIT_L3 1
#define CONT_BIT_R3 2
#define CONT_BIT_ST 3
#define CONT_BIT_UP 4
#define CONT_BIT_RT 5
#define CONT_BIT_DN 6
#define CONT_BIT_LT 7 ; 2nd byte to host
#define CONT_BIT_L2 0
#define CONT_BIT_R2 1
#define CONT_BIT_L1 2
#define CONT_BIT_R1 3
#define CONT_BIT_TRI 4
#define CONT_BIT_CIR 5
#define CONT_BIT_CRO 6
#define CONT_BIT_SQU 7
#define MEMTOP H'0ff' ;POINTER AT TOP OF BUTTON DATA MEMORY
#define PBMAX D'014' ;MAXIMUM # OF FIRE BUTTONS
#define TIME1SEC D'76' ;1.0 SEC
#define TIME700MS D'53' ;0.7 SEC
#define TIME500MS D'38' ;0.5 SEC
#define TIME200MS D'15' ;0.2 SEC
#define TIME100MS D'9' ;0.1 SEC
#define TIME65MS D'6' ;0.07 SEC
#define TIME52MS D'5' ;0.05 SEC
#define TIME26MS D'3' ;0.03 SEC
#define TIME13MS D'1' ;0.01 SEC
#define DBC1SEC TIME1SEC ;1 SECONDS
#define DBC700MS TIME700MS ;0.7 SECONDS
#define DBC500MS TIME500MS ;0.5 SECONDS
#define DBC200MS TIME200MS ;0.2 SECONDS
#define DBC100MS TIME100MS ;0.1 SECONDS
#define DBC26MS TIME26MS ;0.026 SECONDS
#define I_DUR_STEP TIME65MS ;0.07 SECONDS
#define DUR_SLOW TIME52MS ;10 HZ
#define DUR_AUTO TIME52MS ;10 HZ
#define DURBZON TIME100MS ;BUZZER ON DURATION
#define DURBZOFF TIME100MS ;BUZZER OFF DURATION
#define BEEP_STEP 1
#define BEEP_1 D'001' ;BEEP ONCE
#define BEEP_2 D'002' ;BEEP TWICE
#define BEEP_3 D'003' ;BEEP THREE TIMES
#define PLEDON H'88' ;LED ALWAYS ON
#define PLEDOFF H'00' ;LED ALWAYS OFF
#define PLED1ST H'B3' ;LED BLINKS AT NORMAL RATE
#define PLEDSTEP H'84' ;LED BLINKS ONCE
#define PLEDMEM H'A2' ;LED BLINKS AT FAST RATE
#define IDLE H'EE' ;CODE FOR IDLE PERIOD
#define REPEAT H'EF' ;CODE FOR REPEAT FUNCTION
#define CODE_1 D'01' ;ONE BYTE STEP
#define CODE_2 D'02' ;TOW BYTE STEP
#define CODE_3 D'03' ;THREE BYTE STEP
#define CRC_BIT_8_0 b'00000000' ;XOR CODE IF BIT 8 = 0
#define CRC_BIT_8_1 b'10000101' ;XOR CODE IF BIT 8 = 1
#define CRC5_MASK b'00010101' ; for addr. crc
#define CRC8_MASK CRC_BIT_8_1 ; for data crc
#define CNTL_DATA_WORD D'08' ;TOTAL # OF WORD FOR CONTROL DATA
#define PB_DATA_WORD D'24' ;TOTAL # OF WORD FOR BUTTON DATA (d0 - FF)
#define CNTL_POINTER pbid_0 ;POINTER OF STARTING ADDRESS OF CONTROL DATA
#define BU_DATA_PTR 0xd0 ;pointer of starting address of force setting
#define DATA_POINTER 0xd4 ;POINTER OF STARTING ADDRESS OF BUTTON DATA
;#define PTR_PBRAW0 H'59' ;POINTER OF PB_RAW0 BUFFER
;
#define EEP_ADDR_1 H'00' ;BUTTON ADDRESS OF EEPROM
#define EEP_ADDR_2 H'20' ;DEFAULT BUTTON ADDRESS OF EEPROM
#define CNTL_DATA D'14' ;# OF BYTE OF CONTROL DATA
#define PB_DATA D'14' ;# OF BYTE OF DEFAULT BUTTON DATA
#define SIZE_LENGTH D'1' ;DEFAULT BUTTON DATA LENGTH=1
#define RESET_PB0 b'01101011' ;RESET BUTTON A & X PRESSED
#define RESET_PB1 b'11111111' ;RESET BUTTON ST PRESSED
#define SWAP_PB0 b'11111111'
#define SWAP_PB1 b'00111111'
#define CNTL_DATA_TOTAL D'15' ;TOT.# OF CONTROL DATA=15
#define PB_DATA_TOTAL D'46' ;TOT.# OF BUTTON DATA =90
#define STEP_SIZE_1 D'1' ;STEP SIZE OF 1 BYTE
#define STEP_SIZE_2 D'2' ;STEP SIZE OF 2 BYTES
#define STEP_SIZE_3 D'3' ;STEP SIZE OF 3 BYTES
#define STEP_TMR_1 D'8' ;STEP DURATION COUNTER = 1*DUR_STEP
#define STEP_TMR_2 D'16' ;STEP DURATION COUNTER = 2*DUR_STEP
#define STEP_TMR_4 D'32' ;STEP DURATION COUNTER = 4*DUR_STEP
#define STEP_TMR_8 D'64' ;STEP DURATION COUNTER = 8*DUR_STEP
#define digital_id 0x41 ; 0x41 mode
#define analog_id 0x73 ; 0x73 mode
#define INIT_4f_1 0x3f
#define NULL_OFFSET d'10'
#define MAX_SEN 0x60 ;60 for low limit
#define MIN_OFFSET 0xb0 ;min offset of A/D senser C0h
#define DEFAULT_AXES 0x7f ;7f
;code # stored in EEPROM
#define pb_square d'0'
#define pb_cross d'1'
#define pb_circle d'2'
#define pb_triangle d'3'
#define pb_R1 d'4'
#define pb_L1 d'5'
#define pb_R2 d'6'
#define pb_L2 d'7'
#define pb_left d'8'
#define pb_down d'9'
#define pb_right d'10'
#define pb_up d'11'
#define DEAD_OUT 84
#define DEAD_IN 91
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -