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

📄 main.lst

📁 Holtek ht82a832r USB-PHONE DEMO 源码 ht82a832r 是Holtek开发的USB-PHONE 的OTP SOC芯片,信价比很高
💻 LST
📖 第 1 页 / 共 4 页
字号:
 267  00A2              extern			Send_Hand_Shake:NEAR
 268  00A2              extern			get_descriptor_length:NEAR
 269  00A2              
 270  00A2              extern			SetAddress:NEAR
 271  00A2              extern			SetConfiguration:NEAR
 272  00A2              extern			SetInterface:NEAR
 273  00A2              extern			GetInterface:NEAR
 274  00A2              extern			GetDescriptor:NEAR
 275  00A2              extern			SetIdle:NEAR
 276  00A2              extern			GetDeviceDescriptor:NEAR
 277  00A2              extern			GetConfigurationDescriptor:NEAR
 278  00A2              extern			GetStringDescriptor:NEAR
 279  00A2              extern			GetStatus:NEAR
 280  00A2              extern			SetFeature:NEAR
 281  00A2              extern			ClearFeature:NEAR
 282  00A2              extern			SetReport:NEAR
 283  00A2              extern			Execute:NEAR
 284  00A2              extern			SendStall0:NEAR
 285  00A2              extern			Delay_3us:NEAR
文件:MAIN.ASM     盛群编译器版本 2.86 页次6

 286  00A2              
 287  00A2              extern			Delay_28us:NEAR
 288  00A2              
 289  00A2              
 290  00A2              extern			SetFeature_Endpoint:NEAR
 291  00A2              extern			ClearFeature_Endpoint:NEAR
 292  00A2              extern			GetStatus_Endpoint:NEAR
 293  00A2              
 294  00A2              extern			Check_Real_Cmd:NEAR
 295  00A2              extern			GetConfiguration:NEAR
 296  00A2              
 297  00A2              
 298  00A2              ;audio
 299  00A2              extern		SetCur:NEAR
 300  00A2              extern		GetMin:NEAR
 301  00A2              extern		GetMax:NEAR
 302  00A2              extern		GetRes:NEAR
 303  00A2              extern		GetCur:NEAR
 304  00A2              
 305  00A2              extern		GetPipeBit:NEAR
 306  00A2              
 307  00A2              
 308  00A2              ;***************************************************************
 309  00A2              ;		MCU Interrupt Table
 310  00A2              ;***************************************************************
 311  00A2              
 312  00A2              
 313  0000              CODE            .section        AT 00H 'code'
 314  0000              		ORG		00H
 315  0000  2820        		jmp		Start
 316  0001              		ORG		04H
 317  0004  28C1        		jmp		USB_ISR
 318  0005              		ORG		08H
 319  0008  2891        		jmp		Timer_0_ISR
 320  0009              		ORG		0CH
 321  000C  28A8        		jmp		Timer_1_ISR
 322  000D              
 323  000D              
 324  000D              	;-----------------------------------------------------------
 325  000D              	; Start : ORG 20H 避開前面 interrupt
 326  000D              	;-----------------------------------------------------------
 327  000D              ORG	20H
 328  0020              Start:
 329  0020              ;---------------------------------------
 330  0020              ;modify 2006-07-27
 331  0020              ADC_Power_On_Reset:
 332  0020  3134        		set	AD_ENB 		;AD_ENB=1 =>ADC Power Down
 333  0021  22FC        		call  	Delay_20ms
 334  0022  3534        		clr	AD_ENB 		;AD_ENB=0 =>ADC Power On
 335  0023              ;---------------------------------------
 336  0023  203C        		call	System_Initial
 337  0024              	;-----------------------------------------------------------
 338  0024              	; Main LOOP Function  : 
 339  0024              	;-----------------------------------------------------------
 340  0024              Main:
 341  0024              	;-----------------------------------------------------------
 342  0024              	; Check Suspend Function  :
 343  0024              	; 第一次檢查到 suspend 應要再 delay 1 S 後再檢查一次 , 如果此時 suspend 訊號還在才進入 halt
 344  0024              	; 請檢查 timer 此時是否有開啟 , 若有應暫時關閉 , 待 resume 後再開啟 
 345  0024              	;-----------------------------------------------------------
文件:MAIN.ASM     盛群编译器版本 2.86 页次7

 346  0024  3820        		SNZ		USC.@USC_SUSP		;check SUSPEND ?
 347  0025  2831        		JMP		Main_My_Function
 348  0026              
 349  0026  24B2        		call		wait_about_1s
 350  0027  3820        		SNZ		USC.@USC_SUSP
 351  0028  2831        		JMP		Main_My_Function
 352  0029              		
 353  0029              	
 354  0029  0001        		clr 		wdt	
 355  002A  3611        		clr		TMR1C.4
 356  002B  3412        		clr		USB_LED_ON
 357  002C  35A2        		clr		UCC.@UCC_USBCKEN
 358  002D              	;-----------------------------------------------------------
 359  002D              	; Resume  Function  : 
 360  002D              	; 在此 function 要把 halt 之前的 timer 狀態恢復 , 並且開啟 USBCKEN
 361  002D              	;-----------------------------------------------------------
 362  002D  0002        		HALT
 363  002E  3211        		set		TMR1C.4		
 364  002F  3012        		set		USB_LED_ON
 365  0030  31A2        		set		UCC.@UCC_USBCKEN
 366  0031              
 367  0031              Main_My_Function:
 368  0031              	;-----------------------------------------------------------
 369  0031              	; Here to add your another code !!
 370  0031              	;-----------------------------------------------------------
 371  0031  0001        		clr wdt	
 372  0032  0000        		NOP
 373  0033              ;---------------------------------------------------	
 374  0033              		;modify 2006-07-27	
 375  0033  7CA3        		SZ 	ADC_POR_FG
 376  0034  283B        		JMP 	Main_End			
 377  0035  7811        		SNZ	bFlag_SetConfiguration_Ready
 378  0036  283B        		JMP 	Main_End 
 379  0037  3134        		set	AD_ENB 		;AD_ENB=1 =>ADC Power Down
 380  0038  22FC        		call  	Delay_20ms
 381  0039  3534        		clr	AD_ENB 		;AD_ENB=0 =>ADC Power On
 382  003A  70A3        		SET	ADC_POR_FG
 383  003B              ;---------------------------------------------------
 384  003B              Main_End:
 385  003B  2824        		JMP		Main
 386  003C              
 387  003C              ;***************************************************************
 388  003C              ;		System Initial
 389  003C              ;		1.ram_initial
 390  003C              ;		1.Timer Initial
 391  003C              ;		2.USB Config
 392  003C              ;***************************************************************
 393  003C              System_Initial:
 394  003C              	;-----------------------------------------------------------
 395  003C              	; Debug
 396  003C              	;-----------------------------------------------------------
 397  003C  0001        		clr wdt
 398  003D              
 399  003D              	;-----------------------------------------------------------
 400  003D              	; Modify Pop Noise
 401  003D              	;-----------------------------------------------------------
 402  003D              		kmov WDTS,07h
 403  003F  0709        		mov		a,WDTS
 404  0040  4090        		mov		FIFO_TEMP,a
 405  0041              
文件:MAIN.ASM     盛群编译器版本 2.86 页次8

 406  0041  0F57        		mov		a,01010111b
 407  0042  0089        		mov		WDTS,a
 408  0043              
 409  0043  1F2D        		clr		[02DH]
 410  0044              
 411  0044              		
 412  0044  0F80        		mov		a,80H
 413  0045  00AE        		mov		[02EH],a
 414  0046  0000        		nop
 415  0047  0000        		nop
 416  0048  31AF        		set		[02FH].3
 417  0049  0000        		nop
 418  004A  0000        		nop
 419  004B  35AF        		clr		[02FH].3
 420  004C  0000        		nop
 421  004D  0000        		nop
 422  004E              
 423  004E  4710        		mov		a,FIFO_TEMP
 424  004F  0089        		mov		WDTS,a
 425  0050              	;-----------------------------------------------------------
 426  0050              	; Wait Bais and ROUT LOUT Capacity rise about 1.98ms
 427  0050              	; delay time = 255*255*30*3(sdz,jmp) cycle * 0.3333us/cycle = 1.98 ms
 428  0050              	;-----------------------------------------------------------
 429  0050              	IF	WaitBias
 430  0050              		clr		pac
 431  0050              
 432  0050              		clr		FIFO_OUT1
 433  0050              		clr		FIFO_OUT2
 434  0050              		clr		FIFO_OUT3
 435  0050              		clr		FIFO_OUT4
 436  0050              		mov		a,9		
 437  0050              		mov		FIFO_OUT3,a
 438  0050              		clr		pa
 439  0050              
 440  0050              
 441  0050              
 442  0050              	System_Initial_Loop:
 443  0050              		clr wdt	
 444  0050              		sdz		FIFO_OUT1
 445  0050              		jmp		System_Initial_Loop
 446  0050              		sdz		FIFO_OUT2
 447  0050              		jmp		System_Initial_Loop		
 448  0050              		sdz		FIFO_OUT3
 449  0050              		jmp		System_Initial_Loop		
 450  0050              		nop
 451  0050              		clr wdt	
 452  0050              		set		pa
 453  0050              	ENDIF
 454  0050              	;-----------------------------------------------------------
 455  0050              	; Codec Limit
 456  0050              	;-----------------------------------------------------------
 457  0050  1F2D        		clr		[02DH]
 458  0051  1FAE        		set		[02EH]
 459  0052              	;-----------------------------------------------------------
 460  0052              	; ram_initial : clear the ram of bank 0
 461  0052              	;-----------------------------------------------------------
 462  0052              	ram_initial:	;clear RAM (040H--0FFH)
 463  0052  0F40        		MOV		A,040H
 464  0053  0081        		MOV		MP0,A
 465  0054  0FC0        		MOV		A,192
文件:MAIN.ASM     盛群编译器版本 2.86 页次9

 466  0055              	ram_initial_next_addr:
 467  0055  0001        		clr wdt
 468  0056  1F00        		CLR		R0
 469  0057  1481        		INC		MP0
 470  0058  1785        		SDZ		acc
 471  0059  2855        		JMP		ram_initial_next_addr
 472  005A              		
 473  005A  7691        		CLR		bFlag_RD_HTable
 474  005B              	;-----------------------------------------------------------
 475  005B              	; timer_initial : do timer initial
 476  005B              	;-----------------------------------------------------------
 477  005B              	timer_initial:
 478  005B  0F82        		MOV 		A,82H		;  設定 low 到 high 觸發並設為內部計時模式
 479  005C  008E        		MOV		TMR0C,A		;
 480  005D  0F00        		MOV		A,00H		; 1ms
 481  005E  008D        		MOV		TMR0L,A		
 482  005F  0F00        		MOV		A,000H		
 483  0060  008C        		MOV		TMR0H,A		
 484  0061              
 485  0061  0F80        		mov		a,80H
 486  0062  0091        		mov		TMR1C,a
 487  0063  0F00        		mov		a,00H
 488  0064  0090        		mov		TMR1L,a
 489  0065  008F        		mov		TMR1H,a
 490  0066              
 491  0066              	;-----------------------------------------------------------
 492  0066              	; config_io_port :
 493  0066              	;-----------------------------------------------------------
 494  0066  1F12        		clr		pa
 495  0067              		;kmov		pac,0FEH
 496  0067              		
 497  0067              		;IF 		UseMediaKey
 498  0067              		;	kmov		pac,Key_Defined
 499  0067              		;ENDIF
 500  0067              		;IFE		UseMediaKey
 501  0067              		;	kmov		pac,00000000b
 502  0067              		;ENDIF
 503  0067              		kmov		pac,Key_Defined
 504  0069  1F14        		clr		pb
 505  006A  1F95        		set		pbc
 506  006B  1F16        		clr		pc		;for volume control
 507  006C  1F97        		set		pcc
 508  006D              
 509  006D              		;按键状态扫描寄存器
 510  006D  0F00        		MOV		A,0
 511  006E  40D8        		MOV		Key_State00,A
 512  006F  40DA        		MOV		Key_State10,A
 513  0070  40DC        		MOV		Key_State20,A
 514  0071  40DE        		MOV		Key_State30,A
 515  0072  40D9        		MOV		Key_State01,A
 516  0073  40DB        		MOV		Key_State11,A
 517  0074  40DD        		MOV		Key_State21,A
 518  0075  40DF        		MOV		Key_State31,A
 519  0076              
 520  0076  40E0        		MOV		Key_MState0,A
 521  0077  40E1        		MOV		Key_MState1,A
 522  0078              
 523  0078  40D7        		mov		Key_Count,A
 524  0079              
 525  0079              	;-----------------------------------------------------------
文件:MAIN.ASM     盛群编译器版本 2.86 页次10

 526  0079              	; config_usb_speaker_register :
 527  0079              	;-----------------------------------------------------------
 528  0079  1F1C        		clr		USVC		;mute & 0db
 529  007A              	
 530  007A              	;for test
 531  007A              		;set		DA_R_ENB	;Right Channel Disable	
 532  007A              		
 533  007A              
 534  007A              	;-----------------------------------------------------------
 535  007A              	; reset variable :
 536  007A              	;-----------------------------------------------------------
 537  007A  7592        		clr		bFlag_Audio_Mute
 538  007B  7692        		clr		bFlag_Mute_Detect
 539  007C  7712        		clr		bFlag_INC_Detect
 540  007D  7792        		clr		bFlag_DEC_Detect
 541  007E              	;-----------------------------------------------------------
 542  007E              	; config_usb : do usb config
 543  007E              	;-----------------------------------------------------------
 544  007E              	config_usb:
 545  007E  1F0B        		CLR		INTC0
 546  007F  308B        		SET		INTC0.@INTC0_EEI		;enable USB
 547  0080  300B        		SET		INTC0.@INTC0_EMI		;Global interrupt

⌨️ 快捷键说明

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