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

📄 readwrite.asm

📁 HT82J97滑鼠DEMO程序
💻 ASM
字号:
include		body.inc
#include	usbfifo.inc

extern		FIFO_OUT1		:byte
extern		FIFO_OUT2		:byte
extern		FIFO_OUT3		:byte
extern		FIFO_OUT4		:byte
extern		FIFO_OUT5		:byte
extern		FIFO_OUT6		:byte
extern		FIFO_OUT7		:byte
extern		FIFO_OUT8		:byte
extern		bDataUpdate_IN		:bit
extern		bDataUpdate_OUT		:bit


;function
public 		FromUSB1
public 		FromUSB
public		ToUSB
public		VAR_Init
public		Timer1_ISR
public		User_Action

sdata 		.section 		'data'                 	;
myMP0		db      ?
myStatus	db      ?						;push status
myAcc		db	    ?						;pop acc

DataBuf_IN		db		8 		DUP(0)
DataBuf_OUT		db		8 		DUP(0)
KeepData	db		8 		DUP(0)
fakeData	db		?

serial		.section		'code'                  ;
;----------------------------------------------------------
User_Action:
		SNZ		bDataUpdate_OUT	
        RET
        CLR		bDataUpdate_OUT
		MOV		a,DataBuf_OUT[0]
		MOV		DataBuf_IN[0],A
        MOV		a,DataBuf_OUT[1]
		MOV		DataBuf_IN[1],A
		MOV		a,DataBuf_OUT[2]
		MOV		DataBuf_IN[2],A
		MOV		a,DataBuf_OUT[3]
		MOV		DataBuf_IN[3],A
		MOV		a,DataBuf_OUT[4]
		MOV		DataBuf_IN[4],A
		MOV		a,DataBuf_OUT[5]
		MOV		DataBuf_IN[5],A
		MOV		a,DataBuf_OUT[6]
		MOV		DataBuf_IN[6],A
		MOV		a,DataBuf_OUT[7]
		MOV		DataBuf_IN[7],A
		SET     bDataUpdate_IN
        

ret


;----------------------------------------------------------
; from device to host (IN)
;----------------------------------------------------------
ToUSB:
			mov		a, DataBuf_IN[0]
			mov		FIFO_OUT1,a
			mov		a, DataBuf_IN[1]
			mov		FIFO_OUT2,a
			mov		a, DataBuf_IN[2]
			mov		FIFO_OUT3,a
			mov		a, DataBuf_IN[3]
			mov		FIFO_OUT4,a
			mov		a, DataBuf_IN[4]
			mov		FIFO_OUT5,a
			mov		a, DataBuf_IN[5]
			mov		FIFO_OUT6,a
			mov		a, DataBuf_IN[6]
			mov		FIFO_OUT7,a
			mov		a, DataBuf_IN[7]
			mov		FIFO_OUT8,a
			
			clr		bDataUpdate_IN			
			ret

;----------------------------------------------------------
; from host to device (OUT)
;----------------------------------------------------------
FromUSB:
			mov		a, FIFO_OUT1
			;mov		KeepData[0],a
			mov		DataBuf_OUT[0],a
			mov		a, FIFO_OUT2
			;mov		KeepData[1],a
			mov		DataBuf_OUT[1],a
			mov		a, FIFO_OUT3
			;mov		KeepData[2],a
			mov		DataBuf_OUT[2],a
			mov		a, FIFO_OUT4
			;mov		KeepData[3],a
			mov		DataBuf_OUT[3],a
			mov		a, FIFO_OUT5
			;mov		KeepData[4],a
			mov		DataBuf_OUT[4],a
			mov		a, FIFO_OUT6
			;mov		KeepData[5],a
			mov		DataBuf_OUT[5],a
			mov		a, FIFO_OUT7
			;mov		KeepData[6],a
			mov		DataBuf_OUT[6],a
			mov		a, FIFO_OUT8
			;mov		KeepData[7],a
			mov		DataBuf_OUT[7],a

			set		bDataUpdate_OUT    
			
			ret

;----------------------------------------------------------
; from host to device (OUT)
;----------------------------------------------------------
FromUSB1:
			mov		a, FIFO_OUT1
			;mov		KeepData[0],a
			mov		DataBuf_OUT[0],a
			mov		a, FIFO_OUT2
			;mov		KeepData[1],a
			mov		DataBuf_OUT[1],a
			mov		a, FIFO_OUT3
			;mov		KeepData[2],a
			mov		DataBuf_OUT[2],a
			mov		a, FIFO_OUT4
			;mov		KeepData[3],a
			mov		DataBuf_OUT[3],a
			mov		a, FIFO_OUT5
			;mov		KeepData[4],a
			mov		DataBuf_OUT[4],a
			mov		a, FIFO_OUT6
			;mov		KeepData[5],a
			mov		DataBuf_OUT[5],a
			mov		a, FIFO_OUT7
			;mov		KeepData[6],a
			mov		DataBuf_OUT[6],a
			mov		a, FIFO_OUT8
			;mov		KeepData[7],a
			mov		DataBuf_OUT[7],a

			set		bDataUpdate_IN
				RET
;----------------------------------------------------------
VAR_Init:
		;clr		fakeData
		ret

;----------------------------------------------------------
; timer 1 interrupt subroutine
; enter this subroutine per 4ms
;----------------------------------------------------------
Timer1_ISR:
		reti

⌨️ 快捷键说明

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