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

📄 const.asm

📁 VCP201_CODE is a FPGA source code.
💻 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 + -