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

📄 system.lst

📁 利用凌阳A061单片机实现制作而成的温度控制器
💻 LST
📖 第 1 页 / 共 3 页
字号:
                            	//函数: SP_INT_IRQ5()
                            	//语法:void SP_INT_IRQ5(void)
                            	//描述:初始化中断为2HZ定时中断源,用来确定ADC采样时间定时.1秒钟采样一次.
                            	//参数:无
                            	//返回:无
                            	//=============================================================================================
                            	.PUBLIC _SP_INT_IRQ5;  		       //初始化中断为2HZ定时中断源
                            	.PUBLIC F_SP_INT_IRQ5;  		   
                            	
                            	_SP_INT_IRQ5: .PROC
                            	F_SP_INT_IRQ5:   
0000958C 11 93 2D 70        	    r1 =  [P_INT_Ctrl_New];     
0000958E 44 A2              		r1 =  r1 |0x0004;
0000958F 19 D3 10 70        	    [P_INT_Ctrl] = r1; 
00009591 49 F1              	    irq on;          		       //开中断
00009592 90 9A              	    retf
                            	.ENDP;
                            	
                            	//============================================================================================
                            	//函数: turn_off_IRQ5()
                            	//语法:void SP_INT_IRQ5(void)
                            	//描述:初始化中断为2HZ定时中断源
                            	//参数:无
                            	//返回:无
                            	//=============================================================================================
                            	.PUBLIC _turn_off_IRQ5;  		       //初始化中断为2HZ定时中断源
                            	 _turn_off_IRQ5:  .PROC
00009593 11 93 2D 70        	     r1 =  [P_INT_Ctrl_New];
00009595 09 B3 FB FF        		 r1 &=  0xfffb;
00009597 19 D3 2D 70        	     [P_INT_Ctrl_New] = r1;     
00009599 90 9A              	      retf;
                            	 .ENDP    
                            	//============================================================================================
                            	//函数: UART_Init()
                            	//语法:void UART_Init(void)
                            	//描述:通过串行通讯传输采样温度值
                            	//参数:无
                            	//返回:无
                            	//=============================================================================================
                            	.PUBLIC _UART_Init;
                            	.PUBLIC F_UART_Init
                            	_UART_Init:  .PROC
                            	F_UART_Init:
                            	
0000959A 11 93 08 70        	    r1 = [P_IOB_Attrib]              //设置IOB7为输入IOB10为输出
0000959C 09 A3 80 04        	    r1 = r1 | 0x0480;	                
0000959E 19 D3 08 70        		[P_IOB_Attrib] = R1;
000095A0 11 93 07 70        		r1 = [P_IOB_Dir]
000095A2 09 A3 00 04        		r1 = r1 | 0x0400;
000095A4 19 D3 07 70        		[P_IOB_Dir] = R1;
000095A6 11 93 05 70        		r1 = [P_IOB_Data] 
000095A8 09 B3 B7 FF        		r1 = r1 & 0xffb7;		
000095AA 19 D3 05 70        		[P_IOB_Data] = R1;
                            		
000095AC 09 93 6B 00        	   	R1 = 0x006b;	     	         //设置波特率为115.2Kbps
000095AE 19 D3 24 70        	    [P_UART_BaudScalarLow] = R1;
000095B0 40 92              		R1 = 0x0000;
000095B1 19 D3 25 70        	    [P_UART_BaudScalarHigh] = R1;
000095B3 40 92              		R1 = 0x0000;                     
000095B4 0C 99 C0 00        		R4 = 0x00C0;		             //使能输入和输出
000095B6 19 D3 21 70        		[P_UART_Command1] = R1;
000095B8 1C D9 22 70        		[P_UART_Command2] = R4;	
                            	.ENDP
                            	//============================================================================================
                            	//函数: SP_INT_IRQ6()
                            	//语法:void SP_INT_IRQ6(void)
                            	//描述:初始化中断IRQ6
                            	//参数:无
                            	//返回:无
                            	//=============================================================================================
                            	.PUBLIC _SP_INT_IRQ6;    	      //128hz
                            	.PUBLIC F_SP_INT_IRQ6;    	      //128hz
                            	_SP_INT_IRQ6:   .PROC
                            	 F_SP_INT_IRQ6:
000095BA 40 92              	     r1 = 0x0000;
000095BB 19 D3 0E 70        	     [P_TimeBase_Setup]=r1        //128hz
000095BD 11 93 2D 70        	     r1 =  [P_INT_Ctrl_New];
000095BF 41 A2              		 r1 =  r1 |0x0001;           //开中断IRQ6   			         
000095C0 19 D3 2D 70        		 [P_INT_Ctrl_New]= r1 
000095C2 49 F1              		 irq on;	 
000095C3 90 9A              	     RETF;
                            	.ENDP
                            	//============================================================================================
                            	//函数: SP_INT_TIMEA()
                            	//语法:void SP_INT_TIMEA(void)
                            	//描述:初始化中断为1s定时中断源
                            	//参数:无
                            	//返回:无
                            	//============================================================================================
                            	.PUBLIC _SP_INT_TIMEA;
                            	_SP_INT_TIMEA: .PROC
                            		//r1 = 0x0000;                    //CPU选频
                            	    //[P_SystemClock] = r1;
000095C4 09 93 AF FF        	    r1 = TIMER_DATA_FOR_8KHZ 
000095C6 19 D3 0A 70        		[P_TimerA_Data] = r1;
000095C8 73 92              		r1 = TIMER_CLKA_8K + TIMER_CLKB_1 
000095C9 19 D3 0B 70        		[P_TimerA_Ctrl]=r1;                
000095CB 11 93 2D 70        		r1 = [P_INT_Ctrl_New];
000095CD 09 A3 00 10        		r1 |= 0x1000                 //IRQ1_TMA
000095CF 19 D3 2D 70        		[P_INT_Ctrl_New] = r1;             //开TimeA 中断
000095D1 49 F1              		IRQ ON;
000095D2 90 9A              	    RETF
                            	   .ENDP
                            	   
                            	//============================================================================================
                            	//函数: turn_off_timerA
                            	//语法:turn_off_timerA
                            	//描述:关闭定时器B
                            	//参数:无
                            	//返回:无
                            	//============================================================================================
                            	.PUBLIC _turn_off_timerB
                            	_turn_off_timerB:  .PROC
000095D3 11 93 2D 70        		 r1 =  [P_INT_Ctrl_New];
000095D5 09 B3 FF FB        		 r1 &=  0xfbff;
000095D7 19 D3 2D 70        	     [P_INT_Ctrl_New] = r1;     
000095D9 90 9A              	      retf;
                            	 .ENDP
                            	//============================================================================================
                            	//函数: turn_on_relay;
                            	//语法:void turn_on_relay;
                            	//描述:打开继电器
                            	//参数:无
                            	//返回:无
                            	//============================================================================================
                            	.PUBLIC _turn_on_relay;
                            	.PUBLIC F_turn_on_relay;
                            	_turn_on_relay: .PROC
                            	F_turn_on_relay:
000095DA 11 93 01 70        		r1 = [P_IOA_Buffer]
000095DC 50 A2              		r1 |= 0x0010;
000095DD 19 D3 01 70        		[P_IOA_Buffer] = r1;
000095DF 90 9A              		retf
                            	.ENDP
                            	//============================================================================================
                            	//函数: turn_off_relay;
                            	//语法:void turn_off_relay;
                            	//描述:关闭继电器
                            	//参数:无
                            	//返回:无
                            	//============================================================================================
                            	.PUBLIC _turn_off_relay;
                            	.PUBLIC F_turn_off_relay;
                            	_turn_off_relay: .PROC
                            	F_turn_off_relay:
000095E0 11 93 01 70        		r1 = [P_IOA_Buffer]
000095E2 09 B3 EF FF        		r1 &= 0xffef;
000095E4 19 D3 01 70        		[P_IOA_Buffer] = r1;
000095E6 90 9A              		retf
                            	.ENDP
                            	//============================================================================================
                            	//函数: SP_INT_TIMEA()
                            	//语法:void SP_INT_TIMEA(void)
                            	//描述:初始化中断为1s定时中断源
                            	//参数:无
                            	//返回:无
                            	//============================================================================================
                            	.PUBLIC _SP_INT_TIMEB;
                            	_SP_INT_TIMEB: .PROC
                            		//r1 = 0x0000;                    //CPU选频
                            	    //[P_SystemClock] = r1;
000095E7 09 93 AF FF        	    r1 = TIMER_DATA_FOR_8KHZ 
000095E9 19 D3 0C 70        		[P_TimerB_Data] = r1;
000095EB 43 92              		r1 = TIMER_CLKA_8K 
000095EC 19 D3 0D 70        		[P_TimerB_Ctrl]=r1;                
000095EE 11 93 2D 70        		r1 = [P_INT_Ctrl_New];
000095F0 09 A3 00 04        		r1 |= 0x0400                       //IRQ1_TMA
000095F2 19 D3 2D 70        		[P_INT_Ctrl_New] = r1;             //开TimeA 中断
000095F4 49 F1              		IRQ ON;
000095F5 90 9A              	    RETF
                            	   .ENDP
0 error(s), 0 warning(s).

⌨️ 快捷键说明

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