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

📄 main.lst

📁 Holtek audio decoder , Dongle 参考范例
💻 LST
📖 第 1 页 / 共 5 页
字号:
 530  0072  1F16        		clr		pc		;for volume control
 531  0073  1F97        		set		pcc
 532  0074              
 533  0074              	;-----------------------------------------------------------
 534  0074              	; config_usb_speaker_register :
 535  0074              	;-----------------------------------------------------------
 536  0074  1F1C        		clr		USVC		;mute & 0db
 537  0075              	
 538  0075              	;for test
 539  0075              		;set		DA_R_ENB	;Right Channel Disable	
 540  0075              		
 541  0075              
 542  0075              	;-----------------------------------------------------------
 543  0075              	; reset variable :
 544  0075              	;-----------------------------------------------------------
 545  0075  3576        		clr		bFlag_Audio_Mute
 546  0076  3676        		clr		bFlag_Mute_Detect
 547  0077  36F6        		clr		bFlag_INC_Detect
 548  0078  3776        		clr		bFlag_DEC_Detect
 549  0079              	;-----------------------------------------------------------
 550  0079              	; config_usb : do usb config
 551  0079              	;-----------------------------------------------------------
 552  0079              	config_usb:
 553  0079  1F0B        		CLR		INTC0
 554  007A  308B        		SET		INTC0.@INTC0_EEI		;enable USB
 555  007B  300B        		SET		INTC0.@INTC0_EMI		;Global interrupt
 556  007C              
 557  007C  3226        		set		MISC.@MISC_ISOEN	;ISO Output Interrupt Enable
 558  007D  31A6        		set		MISC.@MISC_ISIEN	;ISO Input Interrupt Enable
 559  007E  1F24        		clr		STALL
 560  007F  3622        		clr		UCC.@UCC_SUSP2
 561  0080              		
 562  0080              		;SYSCLK
 563  0080              		;set			UCC.6	//set to 6 MHz
 564  0080              
 565  0080  31A2        		set 		UCC.@UCC_USBCKEN
 566  0081  0000        		nop
 567  0082  3220        		set		USC.@USC_V33C		;//pc start to send command
 568  0083              
 569  0083              			
 570  0083              		if	AUDIO_8K
 571  0083  31B4        			set		MODE_CTRL.3
 572  0084              		endif
 573  0084              		
 574  0084  0001        		clr wdt		
 575  0085  0003        		RET
 576  0086              
 577  0086              ;***************************************************************
 578  0086              ;		RECORD_INT_ISR
 579  0086              ;		
 580  0086              ;		
 581  0086              ;***************************************************************
 582  0086              RECORD_INT_ISR:
 583  0086              ;set pa7
 584  0086  00D8        		MOV		isr_rec_acc,A		;save ACC
 585  0087  070A        		MOV		A,STATUS
"File: MAIN.ASM      Holtek Cross-Assembler  Version 2.86      Page 11

 586  0088  00D9        		MOV		isr_rec_status,A	;save status
 587  0089  0703        		MOV		A,MP1
 588  008A  00DA        		MOV		isr_rec_mp1,A		;save mp1
 589  008B  0701        		MOV		A,MP0 
 590  008C  00DB        		MOV		isr_rec_mp0,A		;save mp0
 591  008D  0707        		MOV		A,TBLP
 592  008E  00DC        		MOV		isr_rec_tblp,A		;save TBLP
 593  008F  0704        		MOV		A,BP
 594  0090  00DD        		MOV		isr_rec_bp,A		;save bp
 595  0091              
 596  0091  2000     E  		call		nRF_int			
 597  0092              		
 598  0092              EXIT_RECORD_INT_ISR:
 599  0092  075D        		MOV		A,isr_rec_bp		;restone bp
 600  0093  0084        		MOV		BP,A
 601  0094  075C        		MOV		A,isr_rec_tblp		;restore TBLP
 602  0095  0087        		MOV		TBLP,A
 603  0096  075B        		MOV		A,isr_rec_mp0		;restore MP0
 604  0097  0081        		MOV		MP0,A
 605  0098  075A        		MOV		A,isr_rec_mp1		;restore MP1
 606  0099  0083        		MOV		MP1,A
 607  009A  0759        		MOV		A,isr_rec_status	;restore STATUS
 608  009B  008A        		MOV		STATUS,A
 609  009C  0758        		MOV		A,isr_rec_acc		;restore ACC   	     		
 610  009D              ;clr pa7		
 611  009D  0004        		RETI
 612  009E              		
 613  009E              ;***************************************************************
 614  009E              ;		Timer_0_ISR
 615  009E              ;		1.Timer time = 21.2 ms
 616  009E              ;		2.Do this procedure is 3.6ms
 617  009E              ;***************************************************************
 618  009E              Timer_0_ISR:	
 619  009E  360E        		clr		TMR0C.4
 620  009F  00C6        		MOV		isr_tmr0_acc,A		;save ACC
 621  00A0  070A        		MOV		A,STATUS
 622  00A1  00C7        		MOV		isr_tmr0_status,A	;save status
 623  00A2  0703        		MOV		A,MP1
 624  00A3  00C8        		MOV		isr_tmr0_mp1,A		;save mp1
 625  00A4  0701        		MOV		A,MP0
 626  00A5  00C9        		MOV		isr_tmr0_mp0,A		;save mp0
 627  00A6  0707        		MOV		A,TBLP
 628  00A7  00CA        		MOV		isr_tmr0_tblp,A		;save TBLP
 629  00A8  0704        		MOV		A,BP
 630  00A9  00CB        		MOV		isr_tmr0_bp,A		;save bp
 631  00AA              		
 632  00AA  1F04        		clr	BP		
 633  00AB              		
 634  00AB              Timer_0_My_Function:
 635  00AB              	;-----------------------------------------------------------
 636  00AB              	; Here to add your another code !!
 637  00AB              	;-----------------------------------------------------------
 638  00AB              		;call	RX_mode_set
 639  00AB              	
 640  00AB  0000        		NOP		
 641  00AC  0001        		clr wdt
 642  00AD              		
 643  00AD              Timer_0_ISR_END:	
 644  00AD  074B        		MOV		A,isr_tmr0_bp		;restone bp
 645  00AE  0084        		MOV		BP,A		
"File: MAIN.ASM      Holtek Cross-Assembler  Version 2.86      Page 12

 646  00AF  074A        		MOV		A,isr_tmr0_tblp		;restore TBLP
 647  00B0  0087        		MOV		TBLP,A
 648  00B1  0749        		MOV		A,isr_tmr0_mp0		;restore MP0
 649  00B2  0081        		MOV		MP0,A
 650  00B3  0748        		MOV		A,isr_tmr0_mp1		;restore MP1
 651  00B4  0083        		MOV		MP1,A
 652  00B5  0747        		MOV		A,isr_tmr0_status	;restore STATUS
 653  00B6  008A        		MOV		STATUS,A
 654  00B7  0746        		MOV		A,isr_tmr0_acc		;restore ACC
 655  00B8              		;SET		TMR0C.4			;start timer0
 656  00B8              
 657  00B8  0004        		RETI
 658  00B9              
 659  00B9              ;***************************************************************
 660  00B9              ;		Timer_1_ISR
 661  00B9              ;		1.Timer time = 21.2 ms
 662  00B9              ;		2.Do this procedure is 3.6ms
 663  00B9              ;***************************************************************
 664  00B9              Timer_1_ISR:
 665  00B9  3611        		CLR		TMR1C.4
 666  00BA  300B        		SET		INTC0.@INTC0_EMI
 667  00BB              
 668  00BB  00CC        		MOV		isr_tmr1_acc,A		;save ACC
 669  00BC  070A        		MOV		A,STATUS
 670  00BD  00CD        		MOV		isr_tmr1_status,A	;save status
 671  00BE  0703        		MOV		A,MP1
 672  00BF  00CE        		MOV		isr_tmr1_mp1,A		;save mp1
 673  00C0  0701        		MOV		A,MP0
 674  00C1  00CF        		MOV		isr_tmr1_mp0,A		;save mp0
 675  00C2  0707        		MOV		A,TBLP
 676  00C3  00D0        		MOV		isr_tmr1_tblp,A		;save TBLP
 677  00C4  0704        		MOV		A,BP
 678  00C5  00D1        		MOV		isr_tmr1_bp,A		;save bp
 679  00C6              				
 680  00C6  1F04        		clr	BP		
 681  00C7              		
 682  00C7  0001        		clr	wdt	
 683  00C8  33F6        		SET		TMR1_KEY_FG
 684  00C9              		IF	UseMediaKey
 685  00C9  2277        		call		Key_Debounced
 686  00CA              		ENDIF
 687  00CA  2247        		call		Run_Volume_Step
 688  00CB              
 689  00CB  0751        		MOV		A,isr_tmr1_bp		;restone bp
 690  00CC  0084        		MOV		BP,A
 691  00CD  0750        		MOV		A,isr_tmr1_tblp		;restore TBLP
 692  00CE  0087        		MOV		TBLP,A
 693  00CF  074F        		MOV		A,isr_tmr1_mp0		;restore MP0
 694  00D0  0081        		MOV		MP0,A
 695  00D1  074E        		MOV		A,isr_tmr1_mp1		;restore MP1
 696  00D2  0083        		MOV		MP1,A
 697  00D3  074D        		MOV		A,isr_tmr1_status	;restore STATUS
 698  00D4  008A        		MOV		STATUS,A
 699  00D5  074C        		MOV		A,isr_tmr1_acc		;restore ACC
 700  00D6              
 701  00D6              Timer_1_ISR_End:
 702  00D6  3211        		SET		TMR1C.4
 703  00D7  0004        		RETI
 704  00D8              
 705  00D8              ;***************************************************************
"File: MAIN.ASM      Holtek Cross-Assembler  Version 2.86      Page 13

 706  00D8              ;		USB_ISR : USB Interrupt Routine
 707  00D8              ;		1.Back up every status register
 708  00D8              ;		2.check which endpoint is interrupt
 709  00D8              ;***************************************************************
 710  00D8              USB_ISR:
 711  00D8  348B        		CLR		INTC0.@INTC0_EEI	;disable USB interrupt
 712  00D9              		;modify 2006-09-11
 713  00D9  358B        		CLR		ET1I
 714  00DA  300B        		SET		INTC0.@INTC0_EMI
 715  00DB              
 716  00DB  00C0        		MOV		isr_usb_acc,A		;save ACC
 717  00DC  070A        		MOV		A,STATUS
 718  00DD  00C1        		MOV		isr_usb_status,A	;save status
 719  00DE  0703        		MOV		A,MP1
 720  00DF  00C2        		MOV		isr_usb_mp1,A		;save mp1
 721  00E0  0701        		MOV		A,MP0
 722  00E1  00C3        		MOV		isr_usb_mp0,A		;save mp0
 723  00E2  0707        		MOV		A,TBLP
 724  00E3  00C4        		MOV		isr_usb_tblp,A		;save TBLP
 725  00E4  0704        		MOV		A,BP
 726  00E5  00C5        		MOV		isr_usb_bp,A		;save bp
 727  00E6              
 728  00E6  1F04        		clr	BP
 729  00E7              		
 730  00E7  0001        		clr	wdt
 731  00E8              		;;Check Which FIFO is interrupt
 732  00E8  28F7        		JMP		Check_Access_FIFO		
 733  00E9              
 734  00E9              USB_ISR_END:
 735  00E9  0745        		MOV		A,isr_usb_bp		;restone bp
 736  00EA  0084        		MOV		BP,A
 737  00EB  0744        		MOV		A,isr_usb_tblp		;restore TBLP
 738  00EC  0087        		MOV		TBLP,A
 739  00ED  0743        		MOV		A,isr_usb_mp0		;restore MP0
 740  00EE  0081        		MOV		MP0,A
 741  00EF  0742        		MOV		A,isr_usb_mp1		;restore MP1
 742  00F0  0083        		MOV		MP1,A
 743  00F1  0741        		MOV		A,isr_usb_status	;restore STATUS
 744  00F2  008A        		MOV		STATUS,A
 745  00F3  0740        		MOV		A,isr_usb_acc		;restore ACC
 746  00F4              
 747  00F4              		;modify 2006-08-18
 748  00F4              		;CLR		INTC0.@INTC0_EMI
 749  00F4  318B        		SET		ET1I
 750  00F5  308B        		SET		INTC0.@INTC0_EEI
 751  00F6              
 752  00F6              
 753  00F6  0004        		RETI
 754  00F7              
 755  00F7              
 756  00F7              ;***************************************************************
 757  00F7              ;		USB_EPX_ISR
 758  00F7              ;***************************************************************
 759  00F7              Check_Access_FIFO:
 760  00F7  0001        		clr wdt	
 761  00F8  3C21        		SZ		USR.@USR_EP0F
 762  00F9  2903        		JMP		USB_EP0_ISR
 763  00FA  3CA1        		SZ		USR.@USR_EP1F
 764  00FB  297D        		JMP		USB_EP1_ISR
 765  00FC  3D21        		SZ		USR.@USR_EP2F
"File: MAIN.ASM      Holtek Cross-Assembler  Version 2.86      Page 14

 766  00FD  297F        		JMP		USB_EP2_ISR
 767  00FE  3DA1        		SZ		USR.@USR_EP3F
 768  00FF  2982        		JMP		USB_EP3_ISR
 769  0100  3E21        		SZ		USR.@USR_EP4F
 770  0101  2985        		JMP		USB_EP4_ISR
 771  0102              
 772  0102  28E9        		JMP		USB_ISR_END
 773  0103              
 774  0103              ;-----------------------------------------------------
 775  0103              ;EPNPOINT 0
 776  0103              ;-----------------------------------------------------
 777  0103              USB_EP0_ISR:
 778  0103              		;modify 2006-07-27
 779  0103              		;CLR		USR.@USR_EP0F	;Fix Bus Enumeration Stress
 780  0103              
 781  0103              ;;case1
 782  0103  3EA6        		SZ		MISC.@MISC_SCMD			;check setup token      
 783  0104  290F        		JMP		USB_EP0_SETUP_TOKEN                                     
 784  0105                              
 785  0105  3FA6        		SZ		MISC.@MISC_LEN0			;check out ack token    
 786  0106  2916        		JMP		USB_EP0_OUT_ACK_TOKEN                                   
 787  0107              
 788  0107  2000     E  		CALL		FIFO0_RD_CHECK                                          
 789  0108  3DF5        		SZ		bFlag_FIFO_Ready                                        
 790  0109  291A        		JMP		USB_EP0_OUT_TOKEN 
 791  010A              		;clr		MISC.@MISC_REQ
 792  010A              
 793  010A  2000     E  		CALL		FIFO0_WR_CHECK                                          
 794  010B  3DF5        		SZ		bFlag_FIFO_Ready                                        
 795  010C  2912        		JMP		USB_EP0_IN_TOKEN		;else is in token       
 796  010D              		;clr		MISC.@MISC_REQ
 797  010D              
 798  010D              		;modify 2006-08-28
 799  010D  3421        		CLR		USR.@USR_EP0F	;Fix OHCI Volume
 800  010E              
 801  010E  297B          		JMP		USB_EP0_ISR_END   
 802  010F              
 803  010F              

⌨️ 快捷键说明

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