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

📄 uart.lst

📁 能同时进行多路数据采集
💻 LST
📖 第 1 页 / 共 2 页
字号:
                     <      	
                     <      	//... 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
                     <      	//========================================================================================
00008FBC                    	.CODE
                            	//========================================================================================================
                            	//函数: F_UART_Initial
                            	//语法:void F_UART_Initial()
                            	//描述:初始化UART
                            	//参数:无
                            	//返回:无
                            	//========================================================================================================
                            	
                            	.PUBLIC _F_UART_Initial;
                            	_F_UART_Initial:		
                            	
                            		//INT OFF;
                            		//r1 = 0x0000;				//未使能任何中断
                            		//[P_INT_Ctrl] = r1;
00008FBC 11 93 08 70        	    r1=[P_IOB_Attrib]
00008FBE 09 A3 80 04        	    r1|=0x0480  				//设置IOB7为输入IOB10为输出
00008FC0 19 D3 08 70        		[P_IOB_Attrib] = r1;
                            		
00008FC2 11 93 07 70        		r1=[P_IOB_Dir]
00008FC4 09 A3 00 04        		r1|=0x0400;
00008FC6 09 B3 7F FF        		r1&=0xFF7F;
00008FC8 19 D3 07 70        		[P_IOB_Dir] = R1;
                            		
00008FCA 11 93 06 70        		r1=	[P_IOB_Buffer]
00008FCC 09 B3 7F FB        		r1&=0xFB7F;
00008FCE 19 D3 06 70        		[P_IOB_Buffer] = R1;
                            	
00008FD0 09 93 6B 00        	   	R1 = 0x006b;	     		//设置波特率为115.2Kbps
00008FD2 19 D3 24 70        	    [P_UART_BaudScalarLow] = R1;
00008FD4 40 92              		R1 = 0x0000;
00008FD5 19 D3 25 70        	    [P_UART_BaudScalarHigh] = R1;
                            		
                            		
00008FD7 40 92              		R1 = 0x0000;
00008FD8 0C 99 C0 00        		R4 = 0x00C0;		    	//使能输入和输出
00008FDA 19 D3 21 70        		[P_UART_Command1] = R1;
00008FDC 1C D9 22 70        		[P_UART_Command2] = R4;
                            		
00008FDE 90 9A              		retf
                            	
                            	//========================================================================================================
                            	//函数: F_UART_Read
                            	//语法:unsigned int F_UART_Read(void)
                            	//描述:读UART
                            	//参数:无
                            	//返回:r1,返回值低8bit为有效值
                            	//========================================================================================================
                            	.public _F_UART_ReadByte
                            	_F_UART_ReadByte:
00008FDF A0 DA              		PUSH r2,r5 TO [sp];
00008FE0 0C 99 FF 00        		r4=0x00FF;
00008FE2 0B 97 FF FF        		r3=0xFFFF;
                            	L_Check_RxRDY:
00008FE4 41 26              		r3-=1;
00008FE5 02 4E              		JNZ L_TestUART;
00008FE6 41 28              		r4-=1;
00008FE7 09 5E              		JZ L_UART_Read_Timeout;
                            	L_TestUART:
00008FE8 12 95 22 70        		r2 = [P_UART_Command2]; 	//检测是否有数据接收
00008FEA 0A B5 80 00        		r2 &= 0x0080;
00008FEC 49 5E              		JZ L_Check_RxRDY;	
                            	
00008FED 11 93 23 70        		r1 = [P_UART_Data];			//接收数据
                            	
00008FEF A0 92              		POP r2,r5 FROM [sp]	
00008FF0 90 9A              		retf;
                            	
                            	L_UART_Read_Timeout:
00008FF1 09 93 FF FF        		r1=0xffff;
00008FF3 A0 92              		POP r2,r5 FROM [sp]	
00008FF4 90 9A              		retf;
                            	
                            	//========================================================================================================
                            	//函数: F_UART_SendCommand
                            	//语法:void F_UART_SendCommand(unsigned int)
                            	//描述:写UART
                            	//参数:为要写入串口的值,其低8bit为有效值。
                            	//返回:无
                            	//========================================================================================================
                            	.PUBLIC _F_UART_SendCommand
                            	_F_UART_SendCommand:
00008FF5 A8 DA              		PUSH r1,r5 TO [sp]
00008FF6 08 0B 01 00        		bp=sp+1;
00008FF8 07 92              		r1=[bp+7];					//命令值
                            		
                            	L_Check_TxRDY:
00008FF9 12 95 22 70        		R2 = [P_UART_Command2];
00008FFB 0A B5 40 00        		R2 &= 0x0040;				//检测输出是否READY
00008FFD 45 5E              		JZ L_Check_TxRDY;
00008FFE 19 D3 23 70        		[P_UART_Data] = r1;			//
                            		
00009000 A8 90              		POP r1,r5 FROM [SP]
00009001 90 9A              		RETF;
                            	
0 error(s), 0 warning(s).

⌨️ 快捷键说明

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