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

📄 standard_request.tmp

📁 HT46RB50温度计,了解其usb通信
💻 TMP
📖 第 1 页 / 共 2 页
字号:
 207  009C              L_GetStringDescriptor:
babaaabaajmaanab 	MOV	A,T_IndexH                            
	MOV	A,T_IndexH                            
babaaabaajnaanbb 	OR	A,T_IndexL
	OR	A,T_IndexL
babaaabaajoaancb 	OR	A,T_ValueL                           
	OR	A,T_ValueL                           
 211  009F  0F02        	MOV 	A,2
babaaabaakaaaneb 	SZ	Z                                   
	SZ	Z                                   
babaaabaakbaanfb 	JMP	L_Zero_String			;T_IndexH=T_IndexL=T_ValueL=0                      
	JMP	L_Zero_String			;T_IndexH=T_IndexL=T_ValueL=0                      
 214  00A2              ;	JMP	L_Get_String
 215  00A2              L_Get_String:
babaaabaakcaanib 	MOV	A,T_IndexH
	MOV	A,T_IndexH
babaaabaakdaanjb 	XOR	A,C_LanguageIDH
	XOR	A,C_LanguageIDH
babaaabaakeaankb 	SNZ	Z
	SNZ	Z
babaaabaakfaanlb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
 220  00A6              	
babaaabaakgaannb 	MOV	A,T_IndexL
	MOV	A,T_IndexL
babaaabaakhaanob 	XOR	A,C_LanguageIDL
	XOR	A,C_LanguageIDL
babaaabaakiaanpb 	SNZ	Z
	SNZ	Z
babaaabaakjaaoab 	JMP	L_StallPipe0
	JMP	L_StallPipe0
 225  00AA  0F02        	MOV	A,2H
babaaabaaklaaocb 	SUB	A,T_ValueL
	SUB	A,T_ValueL
babaaabaakmaaodb 	SNZ	C
	SNZ	C
babaaabaaknaaoeb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
 229  00AE              ;;	ADDM	A,PCL
 230  00AE              ;;	ADD	A,1+4                                
 231  00AE              ;;	ADD	A,2+1  
babaaabaakoaaoib 	MOV	A,low Table_LanguageID		;00
	MOV	A,low Table_LanguageID		;00
babaaabaakpaaojb 	SZ	T_ValueL.0
	SZ	T_ValueL.0
babaaabaalaaaokb 	MOV	A,low ManufactureS		;01
	MOV	A,low ManufactureS		;01
babaaabaalbaaolb 	SZ	T_ValueL.1
	SZ	T_ValueL.1
babaaabaalcaaomb 	MOV	A,low ProductS
	MOV	A,low ProductS
babaaabaaldaaonb 	MOV	A,TBLP
	MOV	A,TBLP
babaaabaaleaaoob 	TABRDL	M_DescriptorLength
	TABRDL	M_DescriptorLength
babaaabaalfaaopb 	JMP	L_GetSendDataLength
	JMP	L_GetSendDataLength
 240  00B6                                            
 241  00B6              L_Zero_String:
babaaabaalgaapcb 	ADD	A,LOW Table_LanguageID
	ADD	A,LOW Table_LanguageID
 243  00B7  0A02        	SUB	A,2
babaaabaaliaapeb 	MOV 	TBLP,A
	MOV 	TBLP,A
babaaabaaljaapfb 	TABRDL	M_DescriptorLength
	TABRDL	M_DescriptorLength
babaaabaalkaapgb 	JMP	L_GetSendDataLength
	JMP	L_GetSendDataLength
 247  00BB              ;;--------------------------------------------------------------------
 248  00BB              L_GetConfigurationDescriptor:
babaaabaallaapjb 	MOV	A,LOW Table_ConfigurationDescriptor
	MOV	A,LOW Table_ConfigurationDescriptor
babaaabaalmaapkb 	MOV	TBLP,A
	MOV	TBLP,A
babaaabaalnaaplb 	MOV	A,C_ConfigurationDesLength
	MOV	A,C_ConfigurationDesLength
babaaabaaloaapmb 	JMP	L_CheckIndex
	JMP	L_CheckIndex
 253  00BF              ;;--------------------------------------------------------------------
 254  00BF              L_GetDeviceDescriptor:
babaaabaalpaappb 	MOV	A,LOW Table_DeviceDescriptor
	MOV	A,LOW Table_DeviceDescriptor
babaaabaamaabaab 	MOV	TBLP,A
	MOV	TBLP,A
babaaabaambababb 	MOV	A,C_DeviceDescriptorLength
	MOV	A,C_DeviceDescriptorLength
babaaabaamcabacb 	JMP	L_CheckIndex
	JMP	L_CheckIndex
 259  00C3              ;;--------------------------------------------------------------------
 260  00C3              L_CheckIndex:
babaaabaamdabafb 	SZ	T_IndexL
	SZ	T_IndexL
babaaabaameabagb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaamfabahb 	SZ	T_IndexH
	SZ	T_IndexH
babaaabaamgabaib 	JMP	L_StallPipe0
	JMP	L_StallPipe0
 265  00C7              
babaaabaamhabakb 	MOV	M_DescriptorLength,A
	MOV	M_DescriptorLength,A
 267  00C8              L_GetSendDataLength:
babaaabaamiabamb 	CALL	SBR_GetLengthOfSendData              
	CALL	SBR_GetLengthOfSendData              
 269  00C9              L_WriteDataToBuffer:
babaaabaamjabaob 	CALL	SBR_GetDescriptorToBuffer            
	CALL	SBR_GetDescriptorToBuffer            
 271  00CA              
babaaabaamkabbab 	MOV	A,M_DataPacketLength
	MOV	A,M_DataPacketLength
babaaabaamlabbbb 	XOR	A,C_FIFOSize			;data packet length = 8 byte?
	XOR	A,C_FIFOSize			;data packet length = 8 byte?
babaaabaammabbcb 	SZ	Z
	SZ	Z
babaaabaamnabbdb 	SET	F_BufferFull 			;yes,set the flag of buffer full                        
	SET	F_BufferFull 			;yes,set the flag of buffer full                        
babaaabaamoabbeb 	CLR	F_SendContinue			;clear the flag of send data continue
	CLR	F_SendContinue			;clear the flag of send data continue
babaaabaampabbfb 	SZ	M_DescriptorLength
	SZ	M_DescriptorLength
babaaabaanaabbgb 	JMP	L_SendContinue			;if Descriptor data not load finally,jmp here
	JMP	L_SendContinue			;if Descriptor data not load finally,jmp here
 279  00D1              ;	JMP	L_SendEnd 			;else,jmp here                           
 280  00D1              L_SendEnd:
babaaabaanbabbjb 	SZ	F_BufferFull			;buffer was full?
	SZ	F_BufferFull			;buffer was full?
babaaabaancabbkb 	SET	F_SendContinue 			;yes,set the flag of send data continue                      
	SET	F_SendContinue 			;yes,set the flag of send data continue                      
babaaabaandabblb 	SZ	F_SendContinue			;need to continue send data?
	SZ	F_SendContinue			;need to continue send data?
babaaabaaneabbmb 	JMP	L_WriteDataToFIFO		;yes,write data to FIFO                   
	JMP	L_WriteDataToFIFO		;yes,write data to FIFO                   
 285  00D5              
babaaabaanfabbob 	SZ	M_DataPacketLength 		;load data finally?                  
	SZ	M_DataPacketLength 		;load data finally?                  
babaaabaangabbpb 	JMP	L_WriteDataToFIFO		;no,write data to FIFO
	JMP	L_WriteDataToFIFO		;no,write data to FIFO
babaaabaanhabcab 	CLR	F_ControlEvent			;clear the flag of setup finally                       
	CLR	F_ControlEvent			;clear the flag of setup finally                       
babaaabaaniabcbb 	JMP	L_WriteDataToFIFO_0_Packet	;return 0 size packet                      
	JMP	L_WriteDataToFIFO_0_Packet	;return 0 size packet                      
 290  00D9              L_SendContinue:
babaaabaanjabcdb 	CLR	F_BufferFull			;clear the flag of buffer full
	CLR	F_BufferFull			;clear the flag of buffer full
babaaabaankabceb 	SET	F_SendContinue			;set the flag of data not load finally
	SET	F_SendContinue			;set the flag of data not load finally
babaaabaanlabcfb 	MOV	A,TBLP
	MOV	A,TBLP
babaaabaanmabcgb 	MOV	M_TBLPFIFO,A			;save address of table
	MOV	M_TBLPFIFO,A			;save address of table
babaaabaannabchb 	JMP	L_WriteDataToFIFO		;write FIFO
	JMP	L_WriteDataToFIFO		;write FIFO
 296  00DE              ;;--------------------------------------------------------------------
 297  00DE              L_GetClassDescriptor:
babaaabaanoabckb 	MOV	A,T_IndexL
	MOV	A,T_IndexL
babaaabaanpabclb 	SUB 	A,C_InterfaceNO
	SUB 	A,C_InterfaceNO
babaaabaaoaabcmb 	SZ	C
	SZ	C
babaaabaaobabcnb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
 302  00E2              
babaaabaaocabcpb 	MOV	A,T_ValueH
	MOV	A,T_ValueH
 304  00E3  0E1F        	AND	A,1FH
babaaabaaoeabdbb 	MOV	M_TEMP1,A
	MOV	M_TEMP1,A
 306  00E5  0A03        	SUB	A,03H
babaaabaaogabddb 	SZ 	C
	SZ 	C
babaaabaaohabdeb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaaoiabdfb 	MOV	A,M_TEMP1
	MOV	A,M_TEMP1
babaaabaaojabdgb 	ADDM	A,PCL
	ADDM	A,PCL
babaaabaaokabdhb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaaolabdib 	JMP 	L_GetOptionalHIDDescriptor
	JMP 	L_GetOptionalHIDDescriptor
babaaabaaomabdjb 	JMP	L_GetReportDescriptor
	JMP	L_GetReportDescriptor
 314  00ED              ;;--------------------------------------------------------------------
 315  00ED              L_GetReportDescriptor:
babaaabaaonabdmb 	MOV	A,LOW Table_ReportDescriptor
	MOV	A,LOW Table_ReportDescriptor
babaaabaaooabdnb 	MOV	TBLP,A
	MOV	TBLP,A
babaaabaaopabdob 	MOV	A,C_ReportDescriptorLength
	MOV	A,C_ReportDescriptorLength
 319  00F0  2800     R  	JMP	L_CheckIndex
 320  00F1              ;;--------------------------------------------------------------------
 321  00F1              L_GetOptionalHIDDescriptor:
babaaabaapbabecb 	MOV	A,LOW Table_HIDDescriptor
	MOV	A,LOW Table_HIDDescriptor
babaaabaapcabedb 	MOV 	TBLP,A
	MOV 	TBLP,A
babaaabaapdabeeb 	MOV	A,C_HIDDescriptorLength
	MOV	A,C_HIDDescriptorLength
babaaabaapeabefb 	MOV	M_DescriptorLength,A
	MOV	M_DescriptorLength,A
 326  00F5  2800     R  	JMP	L_GetSendDataLength
 327  00F6              ;;********************************************************************
 328  00F6              L_GetConfiguration:
babaaabaapgabejb 	CLR	M_FIFOBAK0
	CLR	M_FIFOBAK0
babaaabaaphabekb 	SZ 	F_ConfigurationStatus               
	SZ 	F_ConfigurationStatus               
babaaabaapiabelb 	SET	M_FIFOBAK0.0
	SET	M_FIFOBAK0.0
 332  00F9  0F01        	MOV	A,01H
babaaabaapkabenb 	JMP	L_WriteDataToFIFO_AnyBytes
	JMP	L_WriteDataToFIFO_AnyBytes
 334  00FB              ;;********************************************************************
 335  00FB              L_SetConfiguration:
 336  00FB  0F01        	MOV	A,1H
babaaabaapmabfbb 	SUB	A,T_ValueL
	SUB	A,T_ValueL
babaaabaapnabfcb 	SNZ	C
	SNZ	C
babaaabaapoabfdb 	JMP	L_StallPipe0                        
	JMP	L_StallPipe0                        
babaaabaappabfeb 	CLR	F_AddressStatus
	CLR	F_AddressStatus
babaaababaaabffb 	SNZ	Z                                   
	SNZ	Z                                   
babaaababababfgb 	SET	F_AddressStatus                     
	SET	F_AddressStatus                     
 343  0102              
babaaababacabfib 	CLR	M_STALL                             
	CLR	M_STALL                             
babaaababadabfjb 	MOV	A,C_STALL
	MOV	A,C_STALL
babaaababaeabfkb 	MOV	MP1,A
	MOV	MP1,A
babaaababafabflb 	CLR	R1
	CLR	R1
 348  0106              
babaaababagabfnb 	SZ	T_ValueL
	SZ	T_ValueL
babaaababahabfob 	JMP	L_ToConfigurationStatus
	JMP	L_ToConfigurationStatus
babaaababaiabfpb 	CLR	F_ConfigurationStatus
	CLR	F_ConfigurationStatus
babaaababajabgab 	JMP	L_WriteDataToFIFO_0_Packet
	JMP	L_WriteDataToFIFO_0_Packet
 353  010A              L_ToConfigurationStatus:
babaaababakabgcb 	SET	F_ConfigurationStatus
	SET	F_ConfigurationStatus
 355  010B              ;;	SET	TMR1C.4
babaaababalabgeb 	JMP	L_WriteDataToFIFO_0_Packet
	JMP	L_WriteDataToFIFO_0_Packet
 357  010C              ;;********************************************************************
 358  010C              SBR_GetLengthOfSendData:
babaaababamabghb 	SZ	M_DataLengthH
	SZ	M_DataLengthH
 360  010D  0003        	RET
babaaababaoabgjb 	MOV	A,M_DescriptorLength
	MOV	A,M_DescriptorLength
babaaababapabgkb 	SUB	A,M_DataLengthL
	SUB	A,M_DataLengthL
babaaababbaabglb 	SNZ	C
	SNZ	C
 364  0111  0003        	RET                                            
 365  0112              L_DesLenBiggerRecLen:
babaaababbcabgob 	MOV	A,M_DataLengthL                    
	MOV	A,M_DataLengthL                    
babaaababbdabgpb 	MOV 	M_DescriptorLength,A
	MOV 	M_DescriptorLength,A
 368  0114  0003        	RET
 369  0115              ;;********************************************************************
 370  0115              SBR_GetDescriptorToBuffer:
babaaababbfabhdb 	MOV	A,OFFSET M_FIFOBAK0		;load FIFO buffer's address
	MOV	A,OFFSET M_FIFOBAK0		;load FIFO buffer's address
babaaababbgabheb 	MOV	MP0,A
	MOV	MP0,A
babaaababbhabhfb 	CLR	M_DataPacketLength		;clear packet length
	CLR	M_DataPacketLength		;clear packet length
 374  0118              L_GetDescriptorToBufferLoop:                           
babaaababbiabhhb 	MOV	A,M_DataPacketLength
	MOV	A,M_DataPacketLength
babaaababbjabhib 	XOR	A,C_FIFOSize			;packet size = 8 byte?
	XOR	A,C_FIFOSize			;packet size = 8 byte?
babaaababbkabhjb 	SZ	Z                                  
	SZ	Z                                  
 378  011B  0003        	RET					;yes,return
babaaababbmabhlb 	JMP	L_GetDescriptorToBuffer		;no,continue
	JMP	L_GetDescriptorToBuffer		;no,continue
 380  011D              L_GetDescriptorToBuffer:
babaaababbnabhnb 	SZ	M_DescriptorLength		;Discriptor data was load finally                 
	SZ	M_DescriptorLength		;Discriptor data was load finally                 
babaaababboabhob 	JMP	L_Read_Data			;no,read data
	JMP	L_Read_Data			;no,read data
 383  011F  0003        	RET					;yes,return
 384  0120              L_Read_Data:
babaaababcaabibb 	SNZ	F_RdHighTable			;read table's high 8 bit or low 8 bit
	SNZ	F_RdHighTable			;read table's high 8 bit or low 8 bit
babaaababcbabicb 	JMP	L_ReadLowByteOfTable 
	JMP	L_ReadLowByteOfTable 
 387  0122              ;	JMP	L_ReadHighByteOfTable
 388  0122              L_ReadHighByteOfTable:  
babaaababccabifb 	CLR	F_RdHighTable			;14 bit table.if High bit=3fh,then read next 8bit
	CLR	F_RdHighTable			;14 bit table.if High bit=3fh,then read next 8bit
babaaababcdabigb 	TABRDL	R0
	TABRDL	R0
babaaababceabihb 	INC	TBLP
	INC	TBLP
babaaababcfabiib 	MOV	A,TBLH
	MOV	A,TBLH
 393  0126  0E3F        	AND	A,00111111B
 394  0127  0C3F        	XOR	A,3FH
babaaababciabilb 	SZ	Z                                 
	SZ	Z                                 
 396  0129  2800     R  	JMP	L_Read_Data                       
babaaababckabinb 	MOV	A,TBLH
	MOV	A,TBLH
 398  012B  0E3F        	AND	A,3FH
babaaababcmabipb 	MOV	R0,A
	MOV	R0,A
babaaababcnabjab 	JMP	L_ReadNextByte
	JMP	L_ReadNextByte
 401  012E              L_ReadLowByteOfTable:
babaaababcoabjcb 	SET 	F_RdHighTable
	SET 	F_RdHighTable
babaaababcpabjdb 	TABRDL	R0
	TABRDL	R0
babaaababdaabjeb 	JMP	L_ReadNextByte
	JMP	L_ReadNextByte
 405  0131              ;;--------------------------------------------------------------------
 406  0131              L_ReadNextByte:
babaaababdbabjhb 	INC	MP0				;next address
	INC	MP0				;next address
babaaababdcabjib 	INC	M_DataPacketLength   		;packet length add 1             
	INC	M_DataPacketLength   		;packet length add 1             
babaaababddabjjb 	SDZ	M_DescriptorLength		;descriptor length dec 1
	SDZ	M_DescriptorLength		;descriptor length dec 1
 410  0134  2800     R  	JMP	L_GetDescriptorToBufferLoop
 411  0135  0003        	RET
 412  0136              ;;********************************************************************

⌨️ 快捷键说明

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