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

📄 led.lst

📁 利用凌阳A061单片机实现制作而成的温度控制器
💻 LST
📖 第 1 页 / 共 2 页
字号:
                     <      	.DEFINE	C_DAC_Mode				0x0000;			// b1, (default)
                     <      	.DEFINE C_PWM_Mode				0x0002;			// b1
                     <      	
                     <      	.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
                     <      	
                     <      	
                     <      	
                     <      	
                     <      	//.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
                     <      	//========================================================================================
                            	.EXTERNAL  _guiLED_Value;
0000031C                    	.RAM
                            	.PUBLIC LED_No
0000031C 00 00              	.VAR  LED_No = 0;
                            	
00000000                    	.IRAM
0000AD03                    	.DATA
0000AD03 3F 00 06 00        	    C_Address: .DW 0x003f,0x0006,0x005b,0x004f, 0x0066,0x006d,0x007c,0x0007,0x007f,0x006f;//'0''1''2''3''4''5''6''7''8''9'的代码
         5B 00 4F 00
         66 00 6D 00
         7C 00 07 00
         7F 00 6F 00
0000AD0D 01 00 02 00        	    C_Dig:     .DW 0x0001,0x0002,0x0008,0x1000,0x2000,0x4000;//选中LED管
         08 00 00 10
         00 20 00 40
0000980B                    	.CODE
                            	    
                            	//============================================================================================
                            	//函数: F_Show()
                            	//语法:void F_Show(int A,int B)
                            	//描述:点亮LED
                            	//参数:A,LED的位数(C_Dig),B,LED的显示值
                            	//返回:无
                            	//============================================================================================  
                            	.PUBLIC _LED_Show;
                            	.PUBLIC F_LED_Show;
                            	_LED_Show: .PROC
                            	F_LED_Show:
0000980B A8 DA              	    PUSH r1,r5 TO  [sp];  		    //弹出入口参数共两个入口参数
                            	       
                            	L_Loop:       
0000980C 15 9B 1C 03        	    bp  = [LED_No] 
0000980E 0D 03 57 03        	    r1  = bp + _guiLED_Value;
00009810 C1 92              	    r1 = [r1];
00009811 0D 05 0D AD        	    r2 =  bp + C_Dig;             //取LED管的片选地址       
00009813 C2 94              	    r2  = [r2]   
00009814 09 09 03 AD        	    r4 =  r1 + C_Address          //取显示数据的地址 
00009816 C4 98              	    r4 = [r4]
00009817 5C 99              	    R4 = R4 LSL 4;
00009818 5C 99              	    R4 = R4 LSL 4;
00009819 41 4A              	    cmp bp, 1;
0000981A 10 5E              	    je  dot;    
                            	 l:  
0000981B 11 93 01 70        	    r1 = [P_IOA_Buffer]
0000981D 09 B3 FF 00        	    r1 &= 0x00ff
0000981F 04 A3              	    r1 |=  r4   
00009820 19 D3 01 70        	    [P_IOA_Buffer] = r1;       
                            	    //r1 = [P_IOB_Data]
                            	    //r1 &= 0xfff0
                            	    //r1 |= r2
00009822 1A D5 05 70        	    [P_IOB_Data] = r2;            //显示数据  
00009824 41 0A              	    bp = bp + 1
00009825 43 4A              	    cmp bp,3;
00009826 07 5E              	    je l2;
00009827 1D DB 1C 03        	 l1: [LED_No]  = bp
00009829 A8 90              	     POP r1,r5 FROM [sp]
0000982A 90 9A              	     RETF;
0000982B 0C A9 00 80        	 dot:  r4 |= 0x8000;   
0000982D 53 EE              	       jmp l
0000982E 40 9A              	 l2:   bp = 0;
0000982F 49 EE              	       jmp l1
                            	.ENDP
                            	
                            	
                            	
0 error(s), 0 warning(s).

⌨️ 快捷键说明

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