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

📄 main.lst

📁 Holtek audio decoder , headset 参考范例
💻 LST
📖 第 1 页 / 共 4 页
字号:
 229  0020  3134        		set	AD_ENB 		;AD_ENB=1 =>ADC Power Down
 230  0021  20F5        		call  	Delay_20ms
 231  0022  3534        		clr	AD_ENB 		;AD_ENB=0 =>ADC Power On
 232  0023              ;---------------------------------------
 233  0023  2030        		call	System_Initial
 234  0024  2000     E  		call 	nRF_initial
 235  0025              	;-----------------------------------------------------------
 236  0025              	; Main LOOP Function  : 
 237  0025              	;-----------------------------------------------------------
 238  0025              Main:
 239  0025              
 240  0025              
 241  0025              Main_My_Function:
 242  0025              	;-----------------------------------------------------------
 243  0025              	; Here to add your another code !!
 244  0025              	;-----------------------------------------------------------
 245  0025  0001        		clr wdt	
 246  0026  0000        		NOP
 247  0027              ;---------------------------------------------------	
 248  0027              		;modify 2006-07-27	
 249  0027  3FE5        		SZ 	ADC_POR_FG
 250  0028  282D        		JMP 	Main_End1			
 251  0029  3134        		set	AD_ENB 		;AD_ENB=1 =>ADC Power Down
 252  002A  20F5        		call  	Delay_20ms
 253  002B  3534        		clr	AD_ENB 		;AD_ENB=0 =>ADC Power On
 254  002C  33E5        		SET	ADC_POR_FG
 255  002D              ;---------------------------------------------------
 256  002D              Main_End1:
 257  002D              		;;sz	NRF_IRQ
 258  002D              		;;jmp	Main_My_Function
 259  002D  3012        		set	pa.0
 260  002E  301E        		set	EPLAYI
 261  002F              Main_End2:
 262  002F              		;call	TX_RX_Switch
 263  002F              		;call	nRF_TX_Transmit
 264  002F              		;call	nRF_RX_Receive
 265  002F  282F        		JMP	Main_End2
 266  0030              
 267  0030              ;***************************************************************
 268  0030              ;		System Initial
 269  0030              ;		1.ram_initial
 270  0030              ;		1.Timer Initial
 271  0030              ;		2.USB Config
 272  0030              ;***************************************************************
 273  0030              System_Initial:
 274  0030              	;-----------------------------------------------------------
 275  0030              	; Debug
 276  0030              	;-----------------------------------------------------------
 277  0030  0001        		clr wdt
 278  0031              
 279  0031              	;-----------------------------------------------------------
 280  0031              	; Modify Pop Noise
 281  0031              	;-----------------------------------------------------------
 282  0031              		kmov WDTS,07h
 283  0033  0709        		mov		a,WDTS
 284  0034  00E3        		mov		FIFO_TEMP,a
 285  0035              
"File: MAIN.ASM      Holtek Cross-Assembler  Version 2.86      Page 6

 286  0035  0F57        		mov		a,01010111b
 287  0036  0089        		mov		WDTS,a
 288  0037              
 289  0037  1F2D        		clr		[02DH]
 290  0038              
 291  0038              		
 292  0038  0F80        		mov		a,80H
 293  0039  00AE        		mov		[02EH],a
 294  003A  0000        		nop
 295  003B  0000        		nop
 296  003C  31AF        		set		[02FH].3
 297  003D  0000        		nop
 298  003E  0000        		nop
 299  003F  35AF        		clr		[02FH].3
 300  0040  0000        		nop
 301  0041  0000        		nop
 302  0042              
 303  0042  0763        		mov		a,FIFO_TEMP
 304  0043  0089        		mov		WDTS,a
 305  0044              	;-----------------------------------------------------------
 306  0044              	; Wait Bais and ROUT LOUT Capacity rise about 1.98ms
 307  0044              	; delay time = 255*255*30*3(sdz,jmp) cycle * 0.3333us/cycle = 1.98 ms
 308  0044              	;-----------------------------------------------------------
 309  0044              	IF	WaitBias
 310  0044              		clr		pac
 311  0044              
 312  0044              		clr		FIFO_OUT1
 313  0044              		clr		FIFO_OUT2
 314  0044              		clr		FIFO_OUT3
 315  0044              		mov		a,9		
 316  0044              		mov		FIFO_OUT3,a
 317  0044              		clr		pa
 318  0044              
 319  0044              
 320  0044              
 321  0044              	System_Initial_Loop:
 322  0044              		clr wdt	
 323  0044              		sdz		FIFO_OUT1
 324  0044              		jmp		System_Initial_Loop
 325  0044              		sdz		FIFO_OUT2
 326  0044              		jmp		System_Initial_Loop		
 327  0044              		sdz		FIFO_OUT3
 328  0044              		jmp		System_Initial_Loop		
 329  0044              		nop
 330  0044              		clr wdt	
 331  0044              		set		pa
 332  0044              	ENDIF
 333  0044              	;-----------------------------------------------------------
 334  0044              	; Codec Limit
 335  0044              	;-----------------------------------------------------------
 336  0044  1F2D        		clr		[02DH]
 337  0045  1FAE        		set		[02EH]
 338  0046              	;-----------------------------------------------------------
 339  0046              	; ram_initial : clear the ram of bank 0
 340  0046              	;-----------------------------------------------------------
 341  0046              	ram_initial:	;clear RAM (040H--0FFH)
 342  0046  0F40        		MOV		A,040H
 343  0047  0081        		MOV		MP0,A
 344  0048  0FC0        		MOV		A,192
 345  0049              	ram_initial_next_addr:
"File: MAIN.ASM      Holtek Cross-Assembler  Version 2.86      Page 7

 346  0049  0001        		clr		wdt
 347  004A  1F00        		CLR		R0
 348  004B  1481        		INC		MP0
 349  004C  1785        		SDZ		acc
 350  004D  2849        		JMP		ram_initial_next_addr
 351  004E              
 352  004E              	ram_initial_1:	;clear RAM (040H--0FFH)
 353  004E  0F40        		MOV		A,040H
 354  004F  0083        		MOV		MP1,A
 355  0050              		KMOV		TBLP,192
 356  0052              		kmov		BP,001h
 357  0054              	ram_initial_next_addr_1:
 358  0054  0001        		clr		wdt
 359  0055              		KMOV		R1,080h
 360  0057  1483        		INC		MP1
 361  0058  1787        		SDZ		TBLP
 362  0059  2854        		JMP		ram_initial_next_addr_1
 363  005A  1F04        		clr		BP	
 364  005B              			
 365  005B              	;-----------------------------------------------------------
 366  005B              	; timer_initial : do timer initial
 367  005B              	;-----------------------------------------------------------
 368  005B              	timer_initial:
 369  005B  0F82        		MOV 		A,82H		;  low to high edge trigger, internal timer mode
 370  005C  008E        		MOV		TMR0C,A		;
 371  005D  0F00        		MOV		A,00H		; 1ms
 372  005E  008D        		MOV		TMR0L,A		
 373  005F  0F00        		MOV		A,000H		
 374  0060  008C        		MOV		TMR0H,A		
 375  0061              
 376  0061  0F80        		mov		a,80H
 377  0062  0091        		mov		TMR1C,a
 378  0063  0F00        		mov		a,00H
 379  0064  0090        		mov		TMR1L,a
 380  0065  008F        		mov		TMR1H,a
 381  0066              
 382  0066              	;-----------------------------------------------------------
 383  0066              	; config_io_port :
 384  0066              	;-----------------------------------------------------------
 385  0066  1F12        		clr		pa
 386  0067              		;kmov		pac,0FEH
 387  0067              		
 388  0067              		IF 		UseMediaKey
 389  0067              			kmov		pac,Key_Defined
 390  0069              		ENDIF
 391  0069              		IFE		UseMediaKey
 392  0069              			kmov		pac,00000000b
 393  0069              		ENDIF
 394  0069              		
 395  0069  1F14        		clr		pb
 396  006A  1F95        		set		pbc
 397  006B  1F16        		clr		pc		;for volume control
 398  006C  1F97        		set		pcc
 399  006D              
 400  006D              	;-----------------------------------------------------------
 401  006D              	; config_usb_speaker_register :
 402  006D              	;-----------------------------------------------------------
 403  006D  1F1C        		clr		USVC		;mute & 0db
 404  006E              	
 405  006E              	;for test
"File: MAIN.ASM      Holtek Cross-Assembler  Version 2.86      Page 8

 406  006E              		;set		DA_R_ENB	;Right Channel Disable	
 407  006E              		
 408  006E              
 409  006E              	;-----------------------------------------------------------
 410  006E              	; config_usb : do usb config
 411  006E              	;-----------------------------------------------------------
 412  006E              	config_usb:
 413  006E  1F0B        		CLR		INTC0
 414  006F              		;SET		INTC0.@INTC0_EEI		;enable USB
 415  006F  300B        		SET		INTC0.@INTC0_EMI		;Global interrupt
 416  0070              
 417  0070              		;set		MISC.@MISC_ISOEN	;ISO Output Interrupt Enable
 418  0070              		;set		MISC.@MISC_ISIEN	;ISO Input Interrupt Enable
 419  0070              		;clr		STALL
 420  0070  3622        		clr		UCC.@UCC_SUSP2
 421  0071              		
 422  0071              		;SYSCLK
 423  0071              		;set			UCC.6	//set to 6 MHz
 424  0071              
 425  0071  31A2        		set 		UCC.@UCC_USBCKEN
 426  0072  0000        		nop
 427  0073              		;set		USC.@USC_V33C		;//pc start to send command
 428  0073              
 429  0073              			
 430  0073              		if	AUDIO_8K
 431  0073  31B4        			set		MODE_CTRL.3
 432  0074              		endif
 433  0074              		
 434  0074  0001        		clr wdt		
 435  0075  0003        		RET
 436  0076              
 437  0076              ;***************************************************************
 438  0076              ;		AUDIO_INT_ISR
 439  0076              ;		
 440  0076              ;		
 441  0076              ;***************************************************************
 442  0076              AUDIO_INT_ISR:
 443  0076  00D2        		MOV		isr_play_acc,A		;save ACC
 444  0077  070A        		MOV		A,STATUS
 445  0078  00D3        		MOV		isr_play_status,A	;save status
 446  0079  0703        		MOV		A,MP1
 447  007A  00D4        		MOV		isr_play_mp1,A		;save mp1
 448  007B  0701        		MOV		A,MP0
 449  007C  00D5        		MOV		isr_play_mp0,A		;save mp0
 450  007D  0707        		MOV		A,TBLP
 451  007E  00D6        		MOV		isr_play_tblp,A		;save TBLP
 452  007F  0704        		MOV		A,BP
 453  0080  00D7        		MOV		isr_play_bp,A		;save bp		
 454  0081              
 455  0081              		;call		nRF_int			
 456  0081              		
 457  0081              		;------- RAM to DAC (play)
 458  0081              		xmov	FIFO_TEMP,WDTS			;save WDT
 459  0083              		xmov	WDTS,01010000b			;dac write mode  	
 460  0085  0779        		mov     A,RX_FIFO_ADDR_temp		;RX ADDRESS start
 461  0086  0375        		ADD     A,DAC_FIFO_COUNTER				
 462  0087  0083        		mov     MP1,A				
 463  0088              		kmov	DAC_LIMIT_L,R1
 464  008A  1483        		inc     MP1
 465  008B              	   	kmov	DAC_LIMIT_H,R1
"File: MAIN.ASM      Holtek Cross-Assembler  Version 2.86      Page 9

 466  008D              		;------- write DAC trigger
 467  008D  31AF        		set	DAC_WR.3
 468  008E  0000        		nop
 469  008F  35AF        		clr	DAC_WR.3
 470  0090  0000        		nop	
 471  0091              		xmov	WDTS,FIFO_TEMP 
 472  0093              
 473  0093              		;------- ADC to RAM (rec)

⌨️ 快捷键说明

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