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

📄 isr.lst

📁 水温控制系统
💻 LST
📖 第 1 页 / 共 2 页
字号:
                     <      		
                     <      		.ENDM
                     <      	
                     <      	
                     <      	
                     <      	
                     <      	//.define PC_Play_Enable_A2000		1    	// Enable the PC-Play function for SACM-A2000 module
                     <      	//.define PC_Play_Enable_S480		1    	// Enable the PC-Play function for SACM-S480 module
                     <      	//.define PC_Play_Enable_S240		1    	// Enable the PC-Play function for SACM-S240 module    
                     <      	//.define PC_Play_Enable_MS01		1    	// Enable the PC-Play function for SACM-MS01 module
                     <      	
                     <      	
                     <      	
                     <      	//========================================================================================        
                     <      	// End of hardware.inc
                     <      	//========================================================================================
                            	.INCLUDE	A2000.inc
                     <      	//////////////////////////////////////////////////////////////////////////////////////////
                     <      	// Progarm: SACM-A2000 API external definition
                     <      	// Writen by: Andy
                     <      	// Date: 2000/06/20
                     <      	//////////////////////////////////////////////////////////////////////////////////////////
                     <      	
                     <      	.external F_SACM_A2000_Initial;
                     <      	.external F_SACM_A2000_ServiceLoop;
                     <      	.external F_SACM_A2000_Play;
                     <      	.external F_SACM_A2000_Stop;
                     <      	.external F_SACM_A2000_Pause;
                     <      	.external F_SACM_A2000_Resume;
                     <      	
                     <      	.external F_SACM_A2000_Volume;
                     <      	.external F_SACM_A2000_Status;
                     <      	
                     <      	.external F_SACM_A2000_PcPlayInitial;
                     <      	
                     <      	.external	F_FIQ_Service_SACM_A2000;
                     <      	
                     <      	
                     <      	//========================================================================================        
                     <      	// End of a2000.inc
                     <      	//========================================================================================
                     <      	        
                            	.INCLUDE	Resource.inc
                     <      	
                     <      	// Resource Table
                     <      	// Created by IDE, Do not modify this table
                     <      	
00008009             <      	.TEXT
                     <      	.external _RES_Table;
                     <      	.external _RES_T034_16K_SA;
                     <      	.external _RES_T034_16K_EA;
                     <      	.external _RES_T046_16K_SA;
                     <      	.external _RES_T046_16K_EA;
                     <      	.external _RES_T047_16K_SA;
                     <      	.external _RES_T047_16K_EA;
                     <      	.external _RES_T048_16K_SA;
                     <      	.external _RES_T048_16K_EA;
                     <      	.external _RES_T049_16K_SA;
                     <      	.external _RES_T049_16K_EA;
                     <      	.external _RES_T050_16K_SA;
                     <      	.external _RES_T050_16K_EA;
                     <      	.external _RES_T051_16K_SA;
                     <      	.external _RES_T051_16K_EA;
                     <      	.external _RES_T052_16K_SA;
                     <      	.external _RES_T052_16K_EA;
                     <      	.external _RES_T053_16K_SA;
                     <      	.external _RES_T053_16K_EA;
                     <      	.external _RES_T054_16K_SA;
                     <      	.external _RES_T054_16K_EA;
                     <      	.external _RES_T055_16K_SA;
                     <      	.external _RES_T055_16K_EA;
                     <      	.external _RES_T056_16K_SA;
                     <      	.external _RES_T056_16K_EA;
                     <      	
                     <      	// End Table
                            	.EXTERNAL	_giADC_DataSave;
                            	.EXTERNAL  _G_ADC_flag  
                            	.EXTERNAL   _fOut;
                            	.EXTERNAL   F_turn_off_relay;
                            	.EXTERNAL   F_LED_Show
                            	 
                            	.DEFINE     P_ADC_MUX_Data      0x702c
                            	.DEFINE		P_ADC_MUX_Ctrl		0x702b  
                            	
0000035B                    	.IRAM
                            	.PUBLIC  G_Sum 
0000035B 0A 00              	.VAR     G_Sum  = 10;
00008009                    	.TEXT
                            	//===================================================================================
                            	//函数:IRQ5()
                            	//语法:void IRQ5(void)
                            	//描述:利用2Hz中断定时1秒,1秒钟采样一次温度值
                            	//参数:无
                            	//返回:无
                            	//===================================================================================
                            	
                            	.PUBLIC	_FIQ;
                            	_FIQ:
00008009 A0 D8              		push	r1,r4 to [sp];
0000800A 09 93 00 20        		r1 = 0x2000;
0000800C 11 C3 10 70        		test r1,[P_INT_Ctrl];
0000800E 0B 4E              		jnz L_FIQ_TimerA;
0000800F 09 93 00 08        		r1 = 0x0800;
00008011 11 C3 10 70        		test r1,[P_INT_Ctrl];
00008013 0C 4E              		jnz L_FIQ_TimerB;
                            	L_FIQ_PWM:
00008014 09 93 00 80        		r1 = C_FIQ_PWM;
00008016 19 D3 11 70        		[P_INT_Clear] = r1;
00008018 A0 90              		pop r1,r4 from[sp];
00008019 98 9A              		reti;
                            	L_FIQ_TimerA:
0000801A 19 D3 11 70        		[P_INT_Clear] = r1;
0000801C 40 F0 55 86        		call F_FIQ_Service_SACM_A2000;
0000801E A0 90              		pop r1,r4 from [sp];
0000801F 98 9A              		reti;
                            	L_FIQ_TimerB:
00008020 19 D3 11 70        		[P_INT_Clear] = r1;
00008022 A0 90              		pop r1,r4 from [sp];
00008023 98 9A              		reti;
                            		
                            	//===================================================================================
                            	//函数:IRQ5()
                            	//语法:void IRQ5(void)
                            	//描述:利用2Hz中断定时1秒,1秒钟采样一次温度值
                            	//参数:无
                            	//返回:无
                            	//===================================================================================
                            	.PUBLIC  _IRQ5;
                            	_IRQ5:	
00008024 A0 D8              		PUSH r1,r4 TO [sp];
00008025 48 92              		r1 = 0x0008;			 
00008026 11 C3 10 70        		test r1,[P_INT_Ctrl];			
00008028 23 4E              		jnz	L_4Hz;			               // 开Timer A FIQ 	
00008029 44 92              		r1 = 0x0004;
0000802A 19 D3 11 70        	    [P_INT_Clear] = r1;                //清中断    
                            	   // [P_UART_Data] = r1;              //通过串行通讯将采样的温度数据上传       
0000802C 11 93 5B 03        	    r1 =  [G_Sum]   
0000802E 41 22              	    r1 = r1 - 1
0000802F 19 D3 5B 03        	    [G_Sum] = r1
00008031 02 5E              	    jz ADC_Value  
00008032 A0 90              		POP r1,r4 FROM [sp]
00008033 98 9A              	    RETI; 
                            	 ADC_Value:
00008034 40 92              	    r1 = 0;    
                            	    L_AD: 	 
00008035 12 95 2B 70        	    R2 = [P_ADC_MUX_Ctrl]        //读寄存器[P_ADC_MUX_Ctrl]的B15位
00008037 0A C5 00 80        	    TEST R2,0x8000               //判断是否转换完毕
00008039 45 5E              	    JZ L_AD                      //否,继续转换
0000803A 13 97 2C 70        	    r3 = [P_ADC_MUX_Data]              //是,则读出[P_ADC_MUX_DATA]转换结果
0000803C 48 5E              	    jz  L_AD 
0000803D 7B 97              	    r3 = r3 lsr 4
0000803E 6B 97              	    r3 = r3 lsr 2    
0000803F 09 05 08 03        	    r2 = r1 + _giADC_DataSave
00008041 C2 D6              	   [r2] = r3
00008042 41 02              	    r1= r1 + 1
00008043 4B 42              	    cmp r1,11
00008044 50 4E              	    jne L_AD   
00008045 41 92              	    r1 = 1;
00008046 19 D3 59 03        	    [_G_ADC_flag] = r1;
00008048 4A 92              	    r1 = 10
00008049 19 D3 5B 03        	    [G_Sum] = r1
0000804B 03 EE              	    jmp exit_Int;
                            	L_4Hz:  
0000804C 48 92              	 	r1 = 0x0008;
0000804D 19 D3 11 70        	    [P_INT_Clear] = r1;               //清中断
                            	exit_Int:
0000804F A0 90              	    POP r1,r4 FROM [sp];
00008050 98 9A              	    RETI; 
                            	    
                            	//===================================================================================
                            	//函数:IRQ5()
                            	//语法:void IRQ5(void)
                            	//描述:利用2Hz中断定时1秒,1秒钟采样一次温度值
                            	//参数:无
                            	//返回:无
                            	//===================================================================================
                            	   
                            	.PUBLIC  _IRQ6;
                            	_IRQ6:
00008051 A0 D8              		PUSH r1,r4 to [sp];
00008052 41 92              		r1 = 0x0001;
00008053 11 C3 10 70        		TEST r1,[P_INT_Ctrl];
00008055 05 4E              		JNZ  _IRQ6_TMB2;
00008056 42 92              		r1=0x0002;
00008057 19 D3 11 70        		[P_INT_Clear]=r1;	
00008059 A0 90              		POP r1,r4 FROM [sp];
0000805A 98 9A              	    RETI;         
                            	_IRQ6_TMB2:   
0000805B 19 D3 11 70        		[P_INT_Clear]=r1;
0000805D 40 F0 06 98        		call F_LED_Show;	
0000805F A0 90              		POP r1,r4 FROM [sp];
00008060 98 9A              	    RETI;     
                            	//===================================================================================
                            	//函数:IRQ1()
                            	//语法:void IRQ1(void)
                            	//描述:利用中断定时10ms秒,确定加热时间
                            	//参数:无
                            	//返回:无
                            	//===================================================================================
                            	.PUBLIC  _IRQ2;
                            	_IRQ2:
00008061 A0 D8              	    PUSH r1,r4 to [sp];
00008062 09 93 00 04        	    r1 = 0x0400;
00008064 19 D3 11 70        	    [P_INT_Clear]=r1;
00008066 11 93 55 03        	    r1 = [_fOut]
00008068 41 22              	    r1 = r1 -1;
00008069 19 D3 55 03        	    [_fOut] = r1;
0000806B 02 5E              	    jz  l;
                            	exit:
0000806C A0 90              	    POP r1,r4 FROM [sp];
0000806D 98 9A              	    RETI;    
                            	l:
0000806E 40 F0 DB 95        	    call F_turn_off_relay;
00008070 45 EE              	    jmp exit;
0 error(s), 0 warning(s).

⌨️ 快捷键说明

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