usblib.asm

来自「HT82J97滑鼠DEMO程序」· 汇编 代码 · 共 68 行

ASM
68
字号
include		body.inc
include		usbfifo.inc

extern		wait_28us		:near
extern		wait_4us		:near
extern		FIFO_Type		:byte
extern		FIFO_OUT1 		:byte
extern		int_temp1		:byte
extern		int_temp2		:byte
extern		fifo_sendlen	:byte
extern		bwait_setup		:bit
extern		STALL			:byte


FIFO_temp	EQU				int_temp1
fifo_no		EQU				int_temp2

START_VAR	EQU				20H
RAM_NO		EQU				224

USBlib		.Section		'code'

;-------------------------------------------------------------------
Ram_init:   ;clear RAM {20~FF}
            mov     		a,start_var
            mov     		mp0,a
			mov				a,RAM_NO
next_addr2:
			clr				wdt	
            clr         	r0
            inc         	mp0
			sdz				acc
            jmp         	next_addr2
			
			set				STALL
			CLR				ACC
			set				bwait_setup
           	ret

;----------------------------------------------------------------------------
;FIFO 0 ready to read ?
FIFO0_Rd_Check:
			mov				a,00000000b
			jmp				FIFO_Check
FIFO2_Rd_Check:
			mov				a,00010000b
			jmp				FIFO_Check			
;----------------------------------------------------------------------------
;Len 0 ready to write ?
LEN0_Wr_Check:
;FIFO 0 ready to write ?
FIFO0_Wr_Check:
			mov				a,00000010b
			jmp				FIFO_Check
FIFO1_Wr_check:
			mov				a,00001010b
			jmp				FIFO_Check
FIFO2_Wr_check:
			mov				a,00010010b
			jmp				FIFO_Check

;set pipe bit & tx bit, and check ready flag	
;z=1 not ready, z=0, ok			
FIFO_Check:
			mov				FIFO_temp,a
            MOV     		A,USB_MISC
            MOV     		MP1,A
            mov     		a,11100000b                     ; (2005-01-04)

⌨️ 快捷键说明

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