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

📄 isr.lst

📁 SPCE061A_USB可以让你自己检测开发板是否能正常动作
💻 LST
📖 第 1 页 / 共 2 页
字号:
                     <      	
                     <      	.DEFINE	C_D1_Direct				0x0000;			// DAC1 latch
                     <      	.DEFINE C_D1_LatchA				0x0008;			// 
                     <      	.DEFINE C_D1_LatchB				0x0010;			//
                     <      	.DEFINE C_D1_LatchAB			0x0018;			//
                     <      	
                     <      	.DEFINE	C_D2_Direct				0x0000;			// DAC2 latch
                     <      	.DEFINE C_D2_LatchA				0x0020;			// 
                     <      	.DEFINE C_D2_LatchB				0x0040;			//
                     <      	.DEFINE C_D2_LatchAB			0x00C0;			//
                     <      	
                     <      	//... Define for P_LVD_Ctrl ...................
                     <      	.DEFINE C_LVD24V				0x0000;			// LVD = 2.4V 
                     <      	.DEFINE C_LVD28V				0x0001;			// LVD = 2.8V
                     <      	.DEFINE C_LVD32V				0x0002;			// LVD = 3.2V
                     <      	.DEFINE C_LVD36V				0x0003;			// LVD = 3.6V
                     <      	
                     <      	
                     <      	.EXTERNAL	F_SP_Read_INT_Status;			// for further use
                     <      	.EXTERNAL 	F_SP_Write_INT_Status;			// for further use
                     <      	.EXTERNAL  	F_SP_Set_INT_Vector;			// for further use
                     <      	.EXTERNAL	F_SP_Clear_INT_Vector;			// for further use
                     <      	
                     <      	.EXTERNAL	F_SP_Send_Out;					//
                     <      	.EXTERNAL	F_SP_Send_DAC1;					//
                     <      	.EXTERNAL	F_SP_Send_DAC2;					//
                     <      	.EXTERNAL	F_SP_Send_Two_DAC;				//
                     <      	.EXTERNAL	F_SP_Init_HW;					//
                     <      	
                     <      	.EXTERNAL	R_InterruptStatus;
                     <      	
                     <      	
                     <      	.EXTERNAL 	F_SP_RampUpDAC1;
                     <      	.EXTERNAL 	F_SP_RampDnDAC1;
                     <      	.EXTERNAL 	F_SP_RampUpDAC2;
                     <      	.EXTERNAL  	F_SP_RampDnDAC2;
                     <      	
                     <      	.EXTERNAL 	F_SP_InitQueue;
                     <      	.EXTERNAL 	F_SP_ReadQueue;
                     <      	.EXTERNAL 	F_SP_WriteQueue;
                     <      	.EXTERNAL 	F_SP_TestQueue;
                     <      	
                     <      	
                     <      	
                     <      	.EXTERNAL	F_SP_Get_ADC
                     <      	
                     <      	.EXTERNAL 	F_SP_Set_P_TimerA_Ctrl
                     <      	.EXTERNAL 	F_SP_Set_P_TimerA_Data
                     <      	.EXTERNAL 	F_SP_Set_P_TimerB_Ctrl
                     <      	.EXTERNAL 	F_SP_Set_P_TimerB_Data
                     <      	.EXTERNAL 	F_SP_Set_P_INT_Ctrl
                     <      	.EXTERNAL 	F_SP_Set_P_INT_Clear
                     <      	.EXTERNAL 	F_SP_Set_P_SystemClock
                     <      	.EXTERNAL 	F_SP_Set_P_DAC_Ctrl
                     <      	.EXTERNAL 	F_SP_Set_P_ADC_Ctrl
                     <      	
                     <      		
                     <      	
                     <      	//--------------------------------------------
                     <      	SACM_MACRO1: 	.MACRO
                     <      		
                     <      		.ENDM
                     <      	
                     <      	SACM_MACRO2:	.MACRO
                     <      		
                     <      		.ENDM
                     <      	
                     <      	//========================================================================================        
                     <      	// add by abin for easy programming
                     <      	//========================================================================================
                     <      	
                     <      	.define FoscCLK_20 	0x00;		  //Fosc=20.480MHz
                     <      	.define FoscCLK_24 	0x20;		  //Fosc=24.576MHz
                     <      	.define FoscCLK_32 	0x40;		  //Fosc=32.768MHz
                     <      	.define FoscCLK_40 	0x60;		  //Fosc=40.960MHz
                     <      	.define FoscCLK_49 	0x80;		  //Fosc=49.152MHz
                     <      	
                     <      	.define CPUCLK_Fosc      0x00;    //CPUClk选Fosc
                     <      	.define CPUCLK_Fosc2     0x01;    //CPUClk选Fosc/2
                     <      	.define CPUCLK_Fosc4     0x02;    //CPUClk选Fosc/4
                     <      	.define CPUCLK_Fosc8     0x03;    //CPUClk选Fosc/8
                     <      	.define CPUCLK_Fosc16    0x04;    //CPUClk选Fosc/16
                     <      	.define CPUCLK_Fosc32    0x05;    //CPUClk选Fosc/32
                     <      	.define CPUCLK_Fosc64    0x06;    //CPUClk选Fosc/64
                     <      	
                     <      	
                     <      	//========================================================================================        
                     <      	// End of hardware.inc
                     <      	//========================================================================================
                            	.external _F_USB_Isr
                            	.external _F_Interrupt_Off
                            	.external _F_Interrupt_On
00008009                    	.TEXT
                            	
                            	_FIQ:                  
00008009 A0 D8              			push R1,R4 to [sp];                
0000800A A0 90              	        pop R1,R4 from [sp]; 
0000800B 98 9A              	        reti;             
                            	     
                            	_BREAK:        
0000800C A0 D8              	        push R1,R4 to [sp];
0000800D A0 90              	        pop R1,R4 from [sp];
0000800E 98 9A              	        reti;          
                            	// ---------------------------------------------------------------------------
                            	_IRQ0:        
0000800F A0 D8              	        push R1,R4 to [sp];
00008010 A0 90              	        pop R1,R4 from [sp]; 
00008011 98 9A              	        reti;          
                            	// ---------------------------------------------------------------------------
                            	_IRQ1:        
00008012 A0 D8              			push R1,R4 to [sp]; 
00008013 A0 90              	        pop R1,R4 from [sp]; 
00008014 98 9A              	        reti;   
                            	// ---------------------------------------------------------------------------
                            	_IRQ2:        
00008015 A0 D8              	        push R1,R4 to [sp]; 
00008016 A0 90              	        pop R1,R4 from [sp]; 
00008017 98 9A              	        reti;         
                            	// ---------------------------------------------------------------------------
                            	_IRQ3:        
00008018 A8 DA              	   		push R1,R5 to [sp];		//压栈保护 
00008019 09 93 00 01        	   		R1=0x0100; 	    
0000801B 11 C3 10 70        	   		test R1,[P_INT_Ctrl]; 	//比较是否为IRQ3_EXT1	 
0000801D 0F 4E              	   		jnz  irq3_ext1;			//是,则转至对应程序段;
0000801E 09 93 00 02        	   		R1=0x0200; 	    
00008020 11 C3 10 70        	   		test R1,[P_INT_Ctrl]; 	//否,则比较是否为IRQ3_EXT2
00008022 05 4E              	   		jnz  irq3_ext2;			//是,则转至对应程序段;
                            	 
                            	irq3_key:		     			//否,则进入键唤醒中断
00008023 09 93 80 00        			R1=0x0080;	     
00008025 19 D3 11 70        			[P_INT_Clear]=R1; 
00008027 10 EE              	    	jmp ExitIrq3;
                            	irq3_ext2:	
00008028 09 93 00 02        	    	R1=0x0200; 	     
0000802A 19 D3 11 70        	    	[P_INT_Clear]=R1; 
0000802C 0B EE              	    	jmp ExitIrq3;
                            	irq3_ext1:
0000802D 40 F1              	   		int off;
0000802E 09 93 00 01        	   		R1=0x0100; 	     
00008030 19 D3 11 70        	   		[P_INT_Clear]=R1; 
00008032 41 92              			R1=0x0001;
00008033 19 D3 12 70        			[P_Watchdog_Clear]=R1;
00008035 40 F0 DB 89        	   		call _F_USB_Isr;       //调用PDIUSBD12中断处理函数
00008037 41 F1              	   		int irq;
                            	ExitIrq3:
00008038 A8 90              	   		pop R1,R5 from [sp]; 
00008039 98 9A              	   		reti;          
                            	// ---------------------------------------------------------------------------
                            	_IRQ4:        
0000803A A0 D8              	        push R1,R4 to [sp]; 
0000803B A0 90              	        pop R1,R4 from [sp]; 
0000803C 98 9A              	        reti;   
                            	// ---------------------------------------------------------------------------
                            	_IRQ5:        
0000803D A0 D8              	        push R1,R4 to [sp] 
0000803E A0 90              	        pop R1,R4 from [sp] 
0000803F 98 9A              	        reti          
                            	// ---------------------------------------------------------------------------
                            	_IRQ6:        
00008040 A0 D8              	        push R1,R4 to [sp]; 
00008041 A0 90              	        pop R1,R4 from [sp]; 
00008042 98 9A              	        reti;          
                            	// ---------------------------------------------------------------------------
                            	_IRQ7:        
00008043 A0 D8              	        push R1,R4 to [sp]; 
00008044 A0 90              	        pop R1,R4 from [sp]; 
00008045 98 9A              	        reti;          
                            	// ---------------------------------------------------------------------------
                            	        
0 error(s), 0 warning(s).

⌨️ 快捷键说明

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