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

📄 function.lst

📁 Holtek ht82a832r USB-PHONE DEMO 源码 ht82a832r 是Holtek开发的USB-PHONE 的OTP SOC芯片,信价比很高
💻 LST
📖 第 1 页 / 共 2 页
字号:
 228  0046  0F02        		MOV		A,00000010b
 229  0047  2800     R  		JMP		FIFO_CHECK
 230  0048              
 231  0048              FIFO_CHECK:
 232  0048  0001        		clr wdt	
 233  0049  0080     E  		MOV		FIFO_TEMP,A
 234  004A  0F26        		MOV		A,USB_MISC
 235  004B  0083        		MOV		MP1,A
文件:FUNCTION.ASM 盛群编译器版本 2.86 页次5

 236  004C  0702        		MOV		A,R1
 237  004D  0EF8        		AND		A,11111000b
 238  004E  0500     E  		OR		A,FIFO_TEMP
 239  004F  0082        		MOV		R1,A
 240  0050  2000     R  		CALL		Delay_3us
 241  0051  3002        		SET		R1.@MISC_REQ			;set request
 242  0052  2000     R  		CALL		Delay_28us
 243  0053  3000     E  		SET		bFlag_FIFO_Ready
 244  0054  3B02        		SNZ		R1.@MISC_Ready
 245  0055  3400     E  		CLR		bFlag_FIFO_Ready	;if MISC.Ready = 1 -> bFlag_FIFO_Ready = 1
 246  0056  3000     E  		SET		bFlag_FIFO_LEN0
 247  0057  3B82        		SNZ		R1.@MISC_LEN0
 248  0058  3400     E  		CLR		bFlag_FIFO_LEN0
 249  0059              
 250  0059              		;;SZ		bFlag_FIFO_Ready
 251  0059  3800     E  		SNZ		bFlag_FIFO_Ready	;2007-4-5
 252  005A  3426        		clr		MISC.@MISC_REQ
 253  005B  0001        		clr wdt	
 254  005C  0003        		RET
 255  005D              
 256  005D              ;modify 2006-09-22
 257  005D              ReadLen0:
 258  005D  0F28        		MOV		A,USB_FIFO0
 259  005E  0083        		MOV		MP1,A
 260  005F              		
 261  005F  0702        		MOV		A,R1
 262  0060  0000        		NOP
 263  0061  2800     R  		JMP		Read_FIFO_END
 264  0062              Read_FIFO0:
 265  0062  0F08        		MOV		A,USB_FIFO0_SIZE
 266  0063  0080     E  		MOV		FIFO_SIZE,A
 267  0064  0F28        		MOV		A,USB_FIFO0
 268  0065  2800     R  		JMP		Read_FIFO
 269  0066              Read_FIFO1:
 270  0066  0F08        		MOV		A,USB_FIFO1_SIZE
 271  0067  0080     E  		MOV		FIFO_SIZE,A
 272  0068  0F29        		MOV		A,USB_FIFO1
 273  0069  2800     R  		JMP		Read_FIFO
 274  006A              Read_FIFO2:
 275  006A  0F08        		MOV		A,USB_FIFO2_SIZE
 276  006B  0080     E  		MOV		FIFO_SIZE,A
 277  006C  0F2A        		MOV		A,USB_FIFO2
 278  006D  2800     R  		JMP		Read_FIFO
 279  006E              Read_FIFO3:
 280  006E  0F08        		MOV		A,USB_FIFO3_SIZE
 281  006F  0080     E  		MOV		FIFO_SIZE,A
 282  0070  0F2B        		MOV		A,USB_FIFO3
 283  0071  2800     R  		JMP		Read_FIFO
 284  0072              Read_FIFO4:
 285  0072  0F08        		MOV		A,USB_FIFO4_SIZE
 286  0073  0080     E  		MOV		FIFO_SIZE,A
 287  0074  0F2C        		MOV		A,USB_FIFO4
 288  0075  2800     R  		JMP		Read_FIFO
 289  0076              Read_FIFO5:
 290  0076  0F08        		MOV		A,USB_FIFO5_SIZE
 291  0077  0080     E  		MOV		FIFO_SIZE,A
 292  0078  0F2D        		MOV		A,USB_FIFO5
 293  0079  2800     R  		JMP		Read_FIFO
 294  007A              
 295  007A              Read_FIFO:
文件:FUNCTION.ASM 盛群编译器版本 2.86 页次6

 296  007A  3026        		SET		MISC.@MISC_REQ
 297  007B              
 298  007B  0080     E  		MOV		FIFO_TEMP,A		;FIFO_TEMP SAVE FIFOX ADDRESS
 299  007C  1F00     E  		CLR		FIFO_SendLen
 300  007D  0F00     E  		MOV		A,OFFSET FIFO_Type
 301  007E  0081        		MOV		MP0,A
 302  007F              Read_FIFO_Loop:
 303  007F  0700     E  		MOV		A,FIFO_TEMP
 304  0080  0083        		MOV		MP1,A
 305  0081  0702        		MOV		A,R1
 306  0082  0080        		MOV		R0,A
 307  0083  1480     E  		INC		FIFO_SendLen
 308  0084  1481        		INC		MP0
 309  0085  0700     E  		MOV		A,FIFO_SIZE
 310  0086  0400     E  		XOR		A,FIFO_SendLen
 311  0087  3D0A        		SZ		Z				;1=FIFO_SIZE=FIFO_SendLen
 312  0088  2800     R  		JMP		Read_FIFO_End
 313  0089  0F26        		MOV		A,USB_MISC
 314  008A  0083        		MOV		MP1,A
 315  008B  2000     R  		CALL		Delay_28us
 316  008C  3F02        		SZ		R1.@MISC_Ready
 317  008D  2800     R  		JMP		Read_FIFO_LOOP
 318  008E  2800     R  		JMP		Read_FIFO_End
 319  008F              
 320  008F              ;
 321  008F              ;检查并等待发送完毕后改变 MISC@MISC_TX1的状态,表示操作完毕
 322  008F              ;
 323  008F              ;
 324  008F              Send_Hand_Shake:
 325  008F              Send_Hand_Shake_wait:
 326  008F              		; protect die loop
 327  008F  2000     R  		call		Check_Real_Cmd
 328  0090  3C00     E  		sz		bFlag_Real_Cmd
 329  0091              		;jmp		USB_EP0_ISR_END
 330  0091  0003        		ret				;modify by 2006-02-16
 331  0092              
 332  0092  2000     R  		CALL		FIFO0_WR_CHECK
 333  0093  3800     E  		SNZ		bFlag_FIFO_Ready
 334  0094  2800     R  		JMP		Send_Hand_Shake_wait
 335  0095              
 336  0095  3026        		set		MISC.@MISC_REQ
 337  0096              WriteLen0:
 338  0096              Write_FIFO_OK:
 339  0096              Read_FIFO_End:
 340  0096  0F26        		MOV		A,USB_MISC
 341  0097  0083        		MOV		MP1,A
 342  0098  0F02        		MOV		A,(01H SHL @MISC_TX)		;Change TX State
 343  0099              		;CLR		INTC0.0
 344  0099  0482        		XORM		A,R1
 345  009A  2000     R  		CALL		Delay_3us
 346  009B  3402        		CLR		R1.@MISC_REQ
 347  009C              		;SET		INTC0.0
 348  009C  0003        		RET
 349  009D              
 350  009D              
 351  009D              		
 352  009D              ;============================================================
 353  009D              ;Function:Read FIFOx_Ex 将数据读取保存到Data_RStart位置,
 354  009D              ;并且Data_RCount记录接收的总字节数
 355  009D              ;============================================================
文件:FUNCTION.ASM 盛群编译器版本 2.86 页次7

 356  009D              Read_FIFO0_EX:
 357  009D  0F08        		MOV		A,USB_FIFO0_SIZE
 358  009E  0080     E  		MOV		FIFO_SIZE,A
 359  009F  0F28        		MOV		A,USB_FIFO0
 360  00A0  2800     R  		JMP		Read_FIFO_EX
 361  00A1              Read_FIFO1_EX:
 362  00A1  0F08        		MOV		A,USB_FIFO1_SIZE
 363  00A2  0080     E  		MOV		FIFO_SIZE,A
 364  00A3  0F29        		MOV		A,USB_FIFO1
 365  00A4  2800     R  		JMP		Read_FIFO_EX
 366  00A5              Read_FIFO2_EX:
 367  00A5  0F08        		MOV		A,USB_FIFO2_SIZE
 368  00A6  0080     E  		MOV		FIFO_SIZE,A
 369  00A7  0F2A        		MOV		A,USB_FIFO2
 370  00A8  2800     R  		JMP		Read_FIFO_EX
 371  00A9              Read_FIFO3_EX:
 372  00A9  0F08        		MOV		A,USB_FIFO3_SIZE
 373  00AA  0080     E  		MOV		FIFO_SIZE,A
 374  00AB  0F2B        		MOV		A,USB_FIFO3
 375  00AC  2800     R  		JMP		Read_FIFO_EX
 376  00AD              Read_FIFO4_EX:
 377  00AD  0F08        		MOV		A,USB_FIFO4_SIZE
 378  00AE  0080     E  		MOV		FIFO_SIZE,A
 379  00AF  0F2C        		MOV		A,USB_FIFO4
 380  00B0  2800     R  		JMP		Read_FIFO_EX
 381  00B1              Read_FIFO5_EX:
 382  00B1  0F08        		MOV		A,USB_FIFO5_SIZE
 383  00B2  0080     E  		MOV		FIFO_SIZE,A
 384  00B3  0F2D        		MOV		A,USB_FIFO5
 385  00B4  2800     R  		JMP		Read_FIFO_EX
 386  00B5              
 387  00B5              Read_FIFO_EX:
 388  00B5  3026        		SET		MISC.@MISC_REQ
 389  00B6              
 390  00B6  0080     E  		MOV		FIFO_TEMP,A		;FIFO_TEMP SAVE FIFOX ADDRESS
 391  00B7  1F00     E  		CLR		FIFO_SendLen
 392  00B8  0700     E  		MOV		A,Data_RStart
 393  00B9  0081        		MOV		MP0,A
 394  00BA              Read_FIFO_EX_Loop:
 395  00BA  0700     E  		MOV		A,FIFO_TEMP
 396  00BB  0083        		MOV		MP1,A
 397  00BC  0702        		MOV		A,R1
 398  00BD  0080        		MOV		R0,A
 399  00BE  1480     E  		INC		FIFO_SendLen
 400  00BF  1480     E  		INC		Data_RCount
 401  00C0  1481        		INC		MP0
 402  00C1  0700     E  		MOV		A,FIFO_SIZE
 403  00C2  0400     E  		XOR		A,FIFO_SendLen
 404  00C3  3D0A        		SZ		Z				;1=FIFO_SIZE=FIFO_SendLen
 405  00C4  2800     R  		JMP		Read_FIFO_EX_End
 406  00C5  0F26        		MOV		A,USB_MISC
 407  00C6  0083        		MOV		MP1,A
 408  00C7  2000     R  		CALL		Delay_28us
 409  00C8  3F02        		SZ		R1.@MISC_Ready
 410  00C9  2800     R  		JMP		Read_FIFO_EX_LOOP
 411  00CA  2800     R  		JMP		Read_FIFO_EX_End
 412  00CB              Read_FIFO_EX_End:
 413  00CB  0003        		RET
 414  00CC              		
 415  00CC              		
文件:FUNCTION.ASM 盛群编译器版本 2.86 页次8

 416  00CC              ;============================================================
 417  00CC              ;Function:Write FIFOx from FIFO_OUTx
 418  00CC              ;============================================================
 419  00CC              Write_FIFO0:
 420  00CC  0F28        		MOV		A,USB_FIFO0
 421  00CD  2800     R  		JMP		Write_FIFO
 422  00CE              Write_FIFO1:
 423  00CE  0F29        		MOV		A,USB_FIFO1
 424  00CF  2800     R  		JMP		Write_FIFO
 425  00D0              Write_FIFO2:
 426  00D0  0F2A        		MOV		A,USB_FIFO2
 427  00D1  2800     R  		JMP		Write_FIFO
 428  00D2              Write_FIFO3:
 429  00D2  0F2B        		MOV		A,USB_FIFO3
 430  00D3  2800     R  		JMP		Write_FIFO
 431  00D4              Write_FIFO4:
 432  00D4  0F2C        		MOV		A,USB_FIFO4
 433  00D5  2800     R  		JMP		Write_FIFO
 434  00D6              Write_FIFO5:
 435  00D6  0F2D        		MOV		A,USB_FIFO5
 436  00D7  2800     R  		JMP		Write_FIFO
 437  00D8              
 438  00D8              Write_FIFO:
 439  00D8  0001        		clr wdt	
 440  00D9  3026        		SET		MISC.@MISC_REQ
 441  00DA  0080     E  		MOV		FIFO_TEMP,A		;FIFO NO Address
 442  00DB  0F00     E  		MOV		A,OFFSET FIFO_OUT1
 443  00DC  0081        		MOV		MP0,A
 444  00DD              Write_FIFO_Loop:
 445  00DD  0001        		clr wdt	
 446  00DE  0700     E  		MOV		A,FIFO_SendLen
 447  00DF  0C00        		XOR		A,00H
 448  00E0  3D0A        		SZ		Z
 449  00E1  2800     R  		JMP		Write_FIFO_End
 450  00E2              		
 451  00E2  0700     E  		MOV		A,FIFO_TEMP
 452  00E3  0083        		MOV		MP1,A
 453  00E4  0700        		MOV		A,R0
 454  00E5  0082        		MOV		R1,A
 455  00E6  1580     E  		DEC		FIFO_SendLen
 456  00E7  0700     E  		MOV		A,FIFO_SendLen
 457  00E8  0C00        		XOR		A,00H
 458  00E9  3D0A        		SZ		Z
 459  00EA  2800     R  		JMP		Write_FIFO_End		;FIFO_SendLen=0 

⌨️ 快捷键说明

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