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

📄 rf_oper.asm.bak

📁 holtek mouse usb asm. FW
💻 BAK
字号:

RF_REG_WRITE:
		SET		SPIEN
		CALL		DELAY_20US

		;WRITE R/W BIT, 1
		SET		TRSDAT
		SET		TRSCLK
		CLR		TRSCLK
		CLR		TRSDAT

		;ADDRESS PHASE
		MOV		A, 7
		MOV		RF_LCOUNT0, A
	WREGAP:
		SZ		RF_REG_ADDRESS.6
		SET		TRSDAT
		SET		TRSCLK
		CLR		TRSCLK
		CLR		TRSDAT
		RL		RF_REG_ADDRESS
		SDZ		RF_LCOUNT0
		JMP		WREGAP

		;DATA PHASE
		MOV		A, 8
		MOV		RF_LCOUNT0, A
	WREGDP:
		SZ		RF_REG_DATA.7
		SET		TRSDAT
		SET		TRSCLK
		CLR		TRSCLK
		CLR		TRSDAT
		RL		RF_REG_DATA
		SDZ		RF_LCOUNT0
		JMP		WREGDP

		CLR		SPIEN

		RET


RF_REG_READ:
		SET		SPIEN
		CALL		DELAY_20US

		;WRITE R/W BIT, 1
		CLR		TRSDAT
		SET		TRSCLK
		CLR		TRSCLK

		;ADDRESS PHASE
		MOV		A, 7
		MOV		RF_LCOUNT0, A
	RREGAP:
		SZ		RF_REG_ADDRESS.6
		SET		TRSDAT
		SET		TRSCLK
		CLR		TRSCLK
		CLR		TRSDAT
		RL		RF_REG_ADDRESS
		SDZ		RF_LCOUNT0
		JMP		RREGAP

		;DATA PHASE
		CLR		REG_DATA
		MOV		A, 8
		MOV		RF_LCOUNT0, A
		
		;TURNCATE DATA PIN FROM OUTPUT TO INPUT
		SET		TRSDAT_CTRL
		CLR		SPI_DATA
		
	RREGDP:
		RL		RF_REG_DATA
		SZ		TRSDAT
		SET		RF_REG_DATA.0
		SET		TRSCLK
		CLR		TRSCLK
		SDZ		RF_LCOUNT0
		JMP		WREGDP

		CLR		SPIEN

		;TURNCATE DATA PIN FROM OUTPUT TO INPUT
		CLR		TRSDAT_CTRL
		CLR		SPI_DATA


		RET

RF_FIFO_WRITE:
		MOV		A, RF_DATALNG
		MOV		RF_LCOUNT1, A
		MOV		A, RF_OUTBUFF
		MOV		MP0, A

		CLR		TRSDAT
		CLR		TRSCLK

		SET		TRRDY
		CALL 		DELAY_20US

		;DATA PHASE
	WFIFOOLP:
		MOV		A, 8
		MOV		RF_LCOUNT0, A
	WFIFOILP:
		SZ		ID0.7
		SET		TRSDAT
		SET		TRSCLK
		CLR		TRSCLK
		CLR		TRSDAT
		RL		ID0
		SDZ		RF_LCOUNT0
		JMP		WFIFOILP
		INC		MP0
		SDZ		RF_LCOUNT1
		JMP		WFIFOOLP		
		
		;DUMMY CYCLE : 3-BIT
		CLR		TRSDAT
		SET		TRSCLK
		CLR		TRSCLK
		SET		TRSCLK
		CLR		TRSCLK
		SET		TRSCLK
		CLR		TRSCLK
		
		CLR		TRSRDY		
		
		RET


RF_FIFO_READ:
		MOV		A, RF_DATALNG
		MOV		RF_LCOUNT1, A
		MOV		A, RF_INBUFF
		MOV		MP0, A

		CLR		TRSDAT
		CLR		TRSCLK

		SET		TRRDY
		CALL 		DELAY_20US

		;DATA PHASE
	WFIFOOLP:
		MOV		A, 8
		MOV		RF_LCOUNT0, A
	WFIFOILP:
		SZ		ID0.7
		SET		TRSDAT
		SET		TRSCLK
		CLR		TRSCLK
		CLR		TRSDAT
		RL		ID0
		SDZ		RF_LCOUNT0
		JMP		WFIFOILP
		INC		MP0
		SDZ		RF_LCOUNT1
		JMP		WFIFOOLP		
		
		;DUMMY CYCLE : 3-BIT
		CLR		TRSDAT
		SET		TRSCLK
		CLR		TRSCLK
		SET		TRSCLK
		CLR		TRSCLK
		SET		TRSCLK
		CLR		TRSCLK
		
		CLR		TRSRDY		
		
		RET


RFDATA_REV:

		CLR		TRRDY

		;TURNCATE TRSDAT AS INPUT
		SET		TRSDAT_CTRL

		MOV		A, 070H
		MOV		BUFFADDR, A
				
		;PRE-DUMMY CYCLE : 2-BIT
		SET		TRSCLK
		CLR		TRSCLK
		SET		TRSCLK
		CLR		TRSCLK

		;MOV		A, 4
	
	;REV_AGAIN:

		;REV DATA PHASE: BYTE0
		CLR		BUFFDATA		
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.7
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.6
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.5
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.4
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.3
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.2
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.1
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.0
		CLR		TRSCLK
		INC		BUFFADDR

		;BYTE 1
		CLR		BUFFDATA		
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.7
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.6
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.5
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.4
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.3
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.2
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.1
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.0
		CLR		TRSCLK
		INC		BUFFADDR

		;BYTE 2
		CLR		BUFFDATA		
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.7
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.6
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.5
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.4
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.3
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.2
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.1
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.0
		CLR		TRSCLK
		INC		BUFFADDR

		;BYTE 3
		CLR		BUFFDATA		
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.7
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.6
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.5
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.4
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.3
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.2
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.1
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.0
		CLR		TRSCLK
		INC		BUFFADDR


		;BYTE 4
		CLR		BUFFDATA		
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.7
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.6
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.5
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.4
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.3
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.2
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.1
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.0
		CLR		TRSCLK
		INC		BUFFADDR

		;BYTE 5
		CLR		BUFFDATA		
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.7
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.6
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.5
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.4
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.3
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.2
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.1
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.0
		CLR		TRSCLK
		INC		BUFFADDR


		;BYTE 6
		CLR		BUFFDATA		
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.7
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.6
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.5
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.4
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.3
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.2
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.1
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.0
		CLR		TRSCLK
		INC		BUFFADDR

		;BYTE 7
		CLR		BUFFDATA		
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.7
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.6
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.5
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.4
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.3
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.2
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.1
		CLR		TRSCLK
		SET		TRSCLK
		SZ		TRSDAT
		SET		BUFFDATA.0
		CLR		TRSCLK

		;INC		BUFFADDR

;		SDZ		ACC
;		JMP		REV_AGAIN

		;POST-DUMMY CYCLE : 3-BIT
		SET		TRSCLK
		CLR		TRSCLK
		SET		TRSCLK
		CLR		TRSCLK
		SET		TRSCLK
		CLR		TRSCLK	

		;TURNCATE TRSDAT AS OUTPUT
		CLR		TRSDAT_CTRL


		;TEST PATTERN

;		MOV		A, 070H
;		MOV		BUFFADDR, A
;
;		MOV		A, 0F0H
;		MOV		BUFFDATA, A
;
;		INC		BUFFADDR
;
;		MOV		A, 41H
;		MOV		BUFFDATA, A

		RET



; DELAY ABOUT 20US
DELAY_20US:
		MOV		A, 10
		
	DELAY_LOOP:
		SDZ		ACC
		JMP		DELAY_LOOP	
	
		RET

DELAY_120MS:

		;SET		CONBUT
		SET		RF_TEMP

	DELAY_120MS_OUTLOOP:
		SET		ACC

	DELAY_120MS_INLOOP:
		SDZ		ACC
		JMP		DELAY_120MS_INLOOP

		SDZ		RF_TEMP
		JMP		DELAY_120MS_OUTLOOP

		;CLR		CONBUT

		RET

;RF_SEND_TEST:
;
;			MOV		A, 078H
;			MOV		BUFFADDR, A
;
;			MOV		A, 0E1H
;			MOV		BUFFDATA, A
;			INC		BUFFADDR
;
;			MOV		A, 00H
;			MOV		BUFFDATA, A
;			INC		BUFFADDR
;			
;			MOV		A, 00H
;			MOV		BUFFDATA, A
;			INC		BUFFADDR
;
;			MOV		A, 0FFH
;			MOV		BUFFDATA, A
;			INC		BUFFADDR
;
;			MOV		A, 01H
;			MOV		BUFFDATA, A
;			INC		BUFFADDR
;
;			MOV		A, 001H
;			MOV		BUFFDATA, A
;			INC		BUFFADDR
;
;			MOV		A, 000H
;			MOV		BUFFDATA, A
;			INC		BUFFADDR
;
;			MOV		A, 0FFH
;			MOV		BUFFDATA, A
;			INC		BUFFADDR
;
;	AGAIN:
;			CALL	RFDATA_SEND
;			
;	WWWAAAIIITTT:
;			SNZ		TRINT
;			JMP		WWWAAAIIITTT
;
;			JMP		AGAIN	
;		
;			RET		
;
;RF_RECEIVE_TEST:
;
;	GOGO_REV:
;			SET		TRRDY
;	WAIT_RF_TEST_IN:
;			SNZ		TRINT
;;			JMP		WAIT_RF_TEST_IN
;
;			CLR		TRRDY
;			CALL	RFDATA_REV
;
;			JMP		GOGO_REV			
;
;			RET

RF_REG_VALUE .SECTION AT 0700H 'CODE'
;C3						078h
;		0		1		2		3		4		5		6		7
DC		02AH,	01BH,	068H,	007H,	000H,	007H,	030H,	023H	;0
DC		003H,	011H,	022H,	033H,	000H,	000H,	044H,	055H	;8
DC		066H,	000H,	000H,	000H,	000H,	014H,	000H,	0D2H	;16
;-------------------------------------------------------------------------------
DC		008H,	000H,	000H,	000H,	000H,	000H,	000H,	000H	;24
DC		03FH,	000H,	000H,	000H,	000H,	000H,	000H,	000H	;32
DC		000H,	000H,	000H,	000H,	000H,	000H,	000H,	000H	;40
DC		072H,	000H,	0B7H,	0E4H,	024H,	000H,	00BH,	050H	;48
DC		044H,	0B8H,	01AH,	001H,	01AH,	000H,	01AH,	000H	;56
DC		01AH,	000H,	031H,	042H,	008H,	008H,	000H,	000H	;64
DC		08CH,	066H,	070H,	0BFH,	019H,	046H,	01DH,	026H	;72
DC		04CH,	0A8H,	014H,	00EH,	01AH,	007H,	09BH,	025H	;80
DC		070H,	010H,	0A9H,	017H,	0FEH,	0FEH,	0FEH,	0FEH	;88
DC		001H,	022H,	018H,	00FH,	005H,	055H,	000H,	000H	;96
DC		000H,	000H,	000H,	000H,	000H,	000H,	000H,	000H	;104
DC		000H,	000H,	000H,	000H,	000H,	000H,	000H,	09CH	;112
DC		0B9H,	039H,	000H,	000H,	002H,	000H,	003H,	018H	;120



⌨️ 快捷键说明

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