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

📄 usb_lib.asm

📁 holtech bar code reader 汇编程序
💻 ASM
字号:
;;Established date:                  2005/09/01

;;********************************************************************
SBR_FIFO0_RD_Check:
		MOV       A,00000000B
		JMP       L_FIFO_Check
;;********************************************************************
SBR_FIFO0_WR_Check:
		MOV       A,00000010B
		JMP       L_FIFO_Check
;;********************************************************************
SBR_FIFO1_WR_Check:
		MOV       A,00001010B
;       JMP       L_FIFO_Check
;;--------------------------------------------------------------------
L_FIFO_Check:
		MOV       R_temp1,A
		MOV       A,C_MISC
		MOV       MP1,A
		MOV       A,R1
		AND       A,11100000B
		OR        A,R_Temp1
		MOV       R1,A

		NOP
		NOP
		NOP
		NOP
		SET       R1.@USB_REQ
		CALL      SBR_Delay2us
		SET       Z
		SNZ       R1.@Ready
		CLR       Z
		RET
;;********************************************************************
;;Read data from fifo to data buffer.
SBR_ReadFIFO0:
		MOV       A,C_FIFO0Address
		JMP       L_ReadFIFO
;;********************************************************************
;SBR_ReadFIFO1:                                        ;;The endpoint 1 is interrupt in input, so no read operation.
;		MOV       A,C_FIFO1Address
;		JMP       L_ReadFIFO
;;--------------------------------------------------------------------
L_ReadFIFO:
		MOV       R_FIFOAddress,A
		CLR       R_DataPacketLength
		MOV       A, OFFSET R_FIFOBAK0
		MOV       MP0,A
L_ReadFIFOLoop:
		MOV       A,R_FIFOAddress
		MOV       MP1,A
		MOV       A,R1
		MOV       R0,A
		INC       R_DataPacketLength
		INC       MP0
		MOV       A,C_FIFOSize
		XOR       A,R_DataPacketLength
		SZ        Z
		JMP       L_ExitprocessFIFO
		MOV       A,C_MISC
		MOV       MP1,A
		CALL      SBR_Delay2us
		SZ        R1.@Ready
		JMP       L_ReadFIFOLoop
		JMP       L_ExitProcessFIFO
;;********************************************************************
;;Write data from data buffer to fifo.
SBR_WriteFIFO0:
		MOV      A,C_FIFO0Address
		JMP      L_WriteFIFO
;;********************************************************************
SBR_WriteFIFO1:
		MOV      A,C_FIFO1Address
;		JMP      L_WriteFIFO
;;--------------------------------------------------------------------
L_WriteFIFO:
		MOV      R_FIFOAddress,A
		MOV      A,OFFSET R_FIFOBAK0
		MOV      MP0,A
L_WriteFIFOLoop:
		SZ       R_DataPacketLength
		JMP      L_WriteFIFOTag
		JMP      L_ExitProcessFIFO
L_WriteFIFOTag:
		MOV      A,R_FIFOAddress
		MOV      MP1,A
		MOV      A,R0
		MOV      R1,A
		DEC      R_DataPacketLength
		INC      MP0
		MOV      A,C_MISC
		MOV      MP1,A
		CALL     SBR_Delay2us
		SZ       R1.@Ready
		JMP      L_WriteFIFOLoop
		JMP      L_ExitProcessFIFO      
;;--------------------------------------------------------------------
SBR_Write_0_Packet:
L_ExitProcessFIFO:
		MOV      A,C_MISC
		MOV      MP1,A
		MOV      A,00000010B
		XORM     A,R1
;		CALL     SBR_Delay2us
		NOP
		NOP
		NOP
		NOP
		CLR      R1.@USB_Req
		RET
;;********************************************************************

⌨️ 快捷键说明

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