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

📄 main.asm

📁 PS2 Game Products Test-Jig source code,
💻 ASM
字号:


	LIST            R=DEC,LINES=0,COLUMNS=120,NOWRAP,XREF=YES
        PROCESSOR	PIC16C74

	INCLUDE "P16C74.INC"

	INCLUDE "VAR.ASM"	
	INCLUDE "CONST.ASM"
	ORG	0000H
	GOTO	START

	ORG	0005H
START:
	INCLUDE "S_REG.ASM"
        INCLUDE "S_TIMING.ASM"
	INCLUDE	"RD_PSCTP.ASM"
	
SEND:	

        MOVF	PSCTP_SET,W
        MOVWF	PSCTP_REQ
	CLRF	PROTOCOL_VER

;----------------------------------------------------------------------------	
SENDA:
	MOVLW	D'5'
	BSF	STATUS,RP0
        MOVWF	PR2
	BCF	STATUS,RP0

	CLRF	PIR2			;RESET CCP2 INTERRUPT FLAG BIT
	CLRF	COUNT_PADINT		;RESET COUNTER FOR LIGHT GUN INTERRUPT PIN

;----------------------------------------------------------------------------	
	MOVF	PSCTP_REQ,W
	SUBLW	0x03			
	BTFSS	STATUS,C		;Load EEPROM Command ?
;	GOTO
	NOP
	NOP	        
;----------------------------------------------------------------------------	
	MOVF	PSCTP_REQ,W
	XORLW	0x02			
	BTFSC	STATUS,Z		;Request Protocol Ver =2.0
	CALL	PSCTP2_CMD		;Yes
	
	MOVF	PSCTP_REQ,W
	XORLW	0x03			
	BTFSC	STATUS,Z		;Request Protocol Ver =3.0
	CALL	PSCTP3_CMD		;Yes
	
;----------------------------------------------------------------------------
SENDB:
	CALL	CLR_DIS_BUF

	MOVF	PROTOCOL_VER,W			;BIT (2-0)
	BTFSC	RD_EEP_FB
	IORLW	B'00001000'			;BIT (3)
	BTFSC	EE_EXIST_FB
	IORLW	B'00010000'			;BIT (4)
	
	CALL	CONVERT
	BSF	STATUS,RP0
	IORWF	LED3,F
	BCF	STATUS,RP0
	
	BSF	PCLATH,3		;PAGE 1
	CALL	DISPLAY_DATA
	CLRF	PCLATH			;PAGE 0

	CALL	TABLE_42
        CALL	COMMUNICATE
	BTFSC	DSR_TIMOUT_FB
	GOTO	SENDB
	MOVLW	0x01
	MOVWF	PROTOCOL_VER		;DEFAULT PROTOCOL=1.0

;----------------------------------------------------------------------------
	MOVLW	NOF_CMD_ADDR
	MOVWF	FSR
	MOVWF	FSR_SAV
	
	MOVF	INDF,W
	MOVWF	NOF_CMD

SEND_CMD_LOOP:		
	INCF	FSR_SAV,F
	MOVF	FSR_SAV,W
	MOVWF	FSR
	
	MOVF	INDF,W			
	ANDLW	0x1F			;Clear Bit(7-5) -> Command(40 -> 00 , 4F -> 0F) 
	MOVWF	OFFSET
	
	CALL	CMD_LIST

	DECFSZ	NOF_CMD,F
	GOTO	SEND_CMD_LOOP			

	MOVF	PROTOCOL_VER,W
        XORLW	0x04
	BTFSS	STATUS,Z
	GOTO	SEND1

	MOVF	TERMINAL_ID,W
        XORLW	0x82			
	BTFSC	STATUS,Z                ;41 MODE ?	
	GOTO	SEND1			;YES

	MOVLW	D'2'
        BSF	STATUS,RP0
        MOVWF	PR2
	BCF	STATUS,RP0

;----------------------------------------------------------------------------
SEND1:	CLRWDT
	CALL	DTR_INT_TIME
SEND2:	CALL	TABLE_42
	CALL	COMMUNICATE	
	BTFSS	DSR_TIMOUT_FB
	GOTO	SEND2_1

        INCF	COUNT_DSR,F
	BTFSC	COUNT_DSR_FB
	GOTO	SEND
	GOTO	SEND1	

SEND2_1:
	CLRWDT
	CLRF	COUNT_DSR
	BTFSC	UNINITIAL_FB		;UNINITIAL STATE ?
	GOTO	SENDA			;YES
	CALL	LSB_MSB
	CALL	CHK_MODE
	CALL	CHECK_KEY
;----------------------------------------------------------------------------	
	BTFSC	CHG_PSCTP_FB		;Change Protocol ?
	GOTO	SENDA			;Yes
	
	BTFSC	RESET_PROG
	GOTO	START
;----------------------------------------------------------------------------	
	CALL	LOAD_DIS_BUF
	
	BSF	PCLATH,3		;PAGE 1
	CALL	DISPLAY_DATA
	CLRF	PCLATH			;PAGE 0
	
	GOTO	SEND2

	INCLUDE "DIS_DATE.ASM"
	INCLUDE "COMMAND.ASM"
	INCLUDE "SPI.ASM"
	INCLUDE	"CHECKMOD.ASM"
	INCLUDE "CHK_KEY.ASM"
	INCLUDE "COVLSB.ASM"
	INCLUDE "REV_BITS.ASM"
	INCLUDE "DIS_BUF.ASM"
	INCLUDE "DELAY.ASM"
	INCLUDE "HEX_DEC.ASM"
	INCLUDE	"CMD_SEQ.ASM"
	INCLUDE "WR_EEP.ASM"
	
	ORG	0700H
	
	INCLUDE "COVTABLE.ASM"
	INCLUDE "TABLE.ASM"

	ORG	0800H
	INCLUDE "DISPLAY.ASM"
	INCLUDE "EEPROM.ASM"
	INCLUDE "EEP_DATA.ASM"

	END						

⌨️ 快捷键说明

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