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

📄 usblib2.lst

📁 82K96E/82M99E开发的USB键盘接收端DEMO程序源码
💻 LST
📖 第 1 页 / 共 2 页
字号:
 142  0047  1080     E                  SZ      FIFO_SendLen           	;Any data to write ?
 143  0048  2ACA                        JMP     WriteFIFOTag            ;Yes
 144  0049  2AD8                        JMP     EndWrite                ;No
 145  004A              WriteFIFOTag:
 146  004A  0700     E                  MOV     A,FIFO_NO              	;FIFO NO.
 147  004B  0083                        MOV     MP1,A                   ;
 148  004C              				
 149  004C  339B        				SET		FIFO_w_c_b
 150  004D  0700                        MOV     A,R0                    ;Write data to FIFO
 151  004E  0082                        MOV     R1,A                    ;
 152  004F  379B        				CLR		FIFO_w_c_b				
 153  0050              
 154  0050  1580     E                  DEC     FIFO_SendLen           	;Getting data length++
 155  0051  1481                        INC     MP0                     ;Update to next pointer
 156  0052  0F46                        MOV     A,USB_MISC              ;End of FIFO ?
 157  0053  0083                        MOV     MP1,A                   ;
 158  0054  22E7        				call	wait_28us
 159  0055  3F02                        SZ      R1.@USB_Ready           ;
 160  0056  2AC7                        JMP     WriteFIFOLoop           ;No
 161  0057  2AD8        				jmp		EndWrite
 162  0058              ;------------------------------------------------------------------------
 163  0058              WriteLen0:
 164  0058              EndWrite:
 165  0058              ;----------------------------------------------------------------------------
 166  0058              ;----BEGIN (End request)
 167  0058              E1ND_Request:
 168  0058  0F46                        MOV     A,USB_MISC
 169  0059  0083                        MOV     MP1,A
 170  005A  0F02                        MOV     A,(01H SHL @USB_Tx) ;Change Tx state
 171  005B  340B        				clr		intc.0
 172  005C  0482                        XORM    A,R1                ;
 173  005D  22F3        				call	wait_4us
 174  005E  3402                        CLR     R1.@USB_Req         ;End request
 175  005F  300B        				set		intc.0
"File: USBLIB2.ASM   Holtek Cross-Assembler  Version 2.86      Page 4

 176  0060  0003                        RET
 177  0061              ;----------------------------------------------------------------------------
 178  0061              ;----BEGIN (Clear FIFO)
 179  0061              ClearFIFO1:
 180  0061  3102        				set		r1.@USB_Clear
 181  0062  3482        				clr		r1.@USB_Tx
 182  0063  22F3        				call	wait_4us
 183  0064  3502                        CLR     R1.@USB_Clear       ;Disable Clear
 184  0065  3402                        CLR     R1.@USB_Req         ;End request
 185  0066  0003                        RET
 186  0067              
 187  0067              
 188  0067              
 189  0067              
 190  0067              ;----END (Clear FIFO)
 191  0067              wait_28us:
 192  0067  2AE8        				jmp		$+1
 193  0068  2AE9        				jmp		$+1
 194  0069  2AEA        				jmp		$+1
 195  006A  2AEB        				jmp		$+1
 196  006B  2AEC        				jmp		$+1
 197  006C  2AED        				jmp		$+1
 198  006D  2AEE        				jmp		$+1
 199  006E  2AEF        				jmp		$+1
 200  006F  2AF0        				jmp		$+1
 201  0070  2AF1        				jmp		$+1
 202  0071  2AF2        				jmp		$+1
 203  0072  2AF3        				jmp		$+1
 204  0073              wait_4us:
 205  0073  0003        				ret
 206  0074              
 207  0074              
 208  0074              
 209  0074              
 210  0074              ;----------------------------------------------------------------------------
 211  0074              ;----BEGIN (Get pipe bit)
 212  0074              ;Input : ACC pipe number
 213  0074              ;Output: ACC pip bit (D0:pipe 0, D1:pipe 1...)
 214  0074              GetPipeBit:
 215  0074  1485                        INC     ACC
 216  0075  0080     E                  MOV     FIFO_TEMP,A
 217  0076  0F80                        MOV     A,80H
 218  0077              GetPipeBitLoop:
 219  0077  1885                        RL      ACC
 220  0078  1780     E                  SDZ     FIFO_TEMP 
 221  0079  2AF7                        JMP     GetPipeBitLoop
 222  007A  0003                        RET
 223  007B              ;----END (Get pipe bit)
 224  007B              
 225  007B              ;----------------------------------------------------------------------------
 226  007B              ;----BEGIN (Set Stall)
 227  007B              ;Input : ACC = Pipe number
 228  007B              SetStall:
 229  007B  0080     E                  MOV     FIFO_TEMP ,A   	;
 230  007C  0F43                        MOV     A,USB_STALL     ;MP1 point to Stall register (Read Only)
 231  007D  0083                        MOV     MP1,A           ;
 232  007E  0700     E                  MOV     A,FIFO_TEMP 
 233  007F  0500     E                  OR      A,STALL        	;Set stall bit
 234  0080  2B07                        JMP     SetStallTag
 235  0081              ;----END (Set Stall)
"File: USBLIB2.ASM   Holtek Cross-Assembler  Version 2.86      Page 5

 236  0081              
 237  0081              
 238  0081              ;----------------------------------------------------------------------------
 239  0081              ;----BEGIN (Clear Stall)
 240  0081              ;Input : ACC = Pipe number
 241  0081              ClearStall:
 242  0081  0080     E                  MOV     FIFO_TEMP,A         ;
 243  0082  0F43                        MOV     A,USB_STALL         ;MP1 point to Stall register
 244  0083  0083                        MOV     MP1,A               ;
 245  0084  0700     E                  MOV     A,FIFO_TEMP 
 246  0085  0185                        CPL     ACC                 ;Clear stall bit
 247  0086  0600     E                  AND     A,STALL            	;
 248  0087              SetStallTag:
 249  0087  0080     E                  MOV     STALL,A       		;Update Satll buffer
 250  0088  0082                        MOV     R1,A            	;Update Stall register
 251  0089  0003                        RET
 252  008A              ;----END (Clear Sta
 253  008A              
 254  008A              
 255  008A              ;public	LEN0_Rd_Check
 256  008A              public	LEN0_Wr_Check
 257  008A              public	FIFO0_Rd_Check
 258  008A              ;public	FIFO0_Rd_Check1
 259  008A              public	FIFO1_Rd_Check
 260  008A              public	FIFO2_Rd_Check
 261  008A              public	FIFO3_Rd_Check
 262  008A              public	FIFO0_Wr_Check
 263  008A              public	FIFO1_Wr_Check
 264  008A              public	FIFO2_Wr_Check
 265  008A              public	FIFO3_Wr_Check
 266  008A              ;public	ReadLen0
 267  008A              public	ReadFIFO0
 268  008A              public	ReadFIFO1
 269  008A              public	ReadFIFO2
 270  008A              public	ReadFIFO3
 271  008A              public	WriteLen0
 272  008A              public	WriteFIFO0
 273  008A              public	WriteFIFO1
 274  008A              public	WriteFIFO2
 275  008A              ;public	ClearFIFO0
 276  008A              public	ClearFIFO1
 277  008A              ;public	ClearFIFO2
 278  008A              ;public	CheckSetup
 279  008A              ;public	CheckPipe
 280  008A              public	GetPipeBit
 281  008A              public	SetStall
 282  008A              public	ClearStall
 283  008A              ;public	SetAddress
 284  008A              ;public	SetRemoteFun
 285  008A              ;public	END_Request
 286  008A              END


        0 Errors

⌨️ 快捷键说明

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