opmacro.inc

来自「本人下载的电力系统相关资料,具有极其重要的参考价值」· INC 代码 · 共 171 行

INC
171
字号
   
//====================================================================================
//Macro Name:		M_StartSignal
//Description:		Create Start Signal
//Parameters:		None
//Return Value:		None
//Usage:				M_StartSignal
//Example:			M_StartSignal	
//====================================================================================
M_StartSignal:	.MACRO
					r1=		[P_IOB_Buffer]
					r1|=	0x01
					[P_IOB_Data] = r1	
					
					r1=		[P_IOB_Buffer]
					r1|=	0x02
					[P_IOB_Data] =	r1			
			
					M_Delay();
					
					r1=		[P_IOB_Buffer]
					r1&=	0xfe
					[P_IOB_Data] =	r1	
		
					M_Delay();
					
					r1=		[P_IOB_Buffer]
					r1&=	0xfd
					[P_IOB_Data] =	r1			
				.ENDM
//====================================================================================
//Macro Name:		M_StopSignal
//Description:		Create Stop Signal
//Parameters:		None
//Return Value:		None
//Usage:				M_StopSignal
//Example:			M_StopSignal	
//====================================================================================
M_StopSignal:	.MACRO
					r1=		[P_IOB_Buffer]
					r1&=	0xfd
					[P_IOB_Data] =	r1					

					r1=		[P_IOB_Buffer]
					r1&=	0xfe
					[P_IOB_Data] =	r1	
					
					r1=		[P_IOB_Buffer]
					r1|=	0x02
					[P_IOB_Data] =	r1	
		
					M_Delay();
					r1=		[P_IOB_Buffer]
					r1|=	0x01
					[P_IOB_Data] = r1			
				.ENDM	
//====================================================================================
//Macro Name:		M_SetIO_Input
//Description:		set PB0(SDA) input with pull-high  
//Parameters:		None
//Return Value:		None
//Usage:				M_SetIO_Input
//Example:			M_SetIO_Input			
//====================================================================================
M_SetIO_Input:	.MACRO
					r1=		[P_IOB_Buffer]
					r1|=0x01
			//		r1&=0xfe
					[P_IOB_Data]=r1
					
					r1=		[P_IOB_Attrib]
					r1&=0xfe
			//		r1|=0x01
					[P_IOB_Attrib]= r1	
					
					r1=		[P_IOB_Dir]
					r1&=0xfe
					[P_IOB_Dir]= r1	
				.ENDM
//====================================================================================
//Macro Name:		M_SetIO_Output
//Description:		set PB0(SDA) output low
//Parameters:		None
//Return Value:		None
//Usage:				M_SetIO_Output
//Example:			M_SetIO_Output			
//====================================================================================
M_SetIO_Output:	.MACRO	
					r1=		[P_IOB_Buffer]
			//		r1|=0x01
					r1&=0xfe
					[P_IOB_Data]=r1
					
					r1=		[P_IOB_Attrib]
					r1|=0x01
					[P_IOB_Attrib]= r1	
					
					r1=		[P_IOB_Dir]
					r1|=0x01
					[P_IOB_Dir]= r1	
				.ENDM
				
//====================================================================================
//Macro Name:		M_ClrSCL
//Description:		clear bit1
//Parameters:		None
//Return Value:		None
//Usage:				M_ClrSCL
//Example:			M_ClrSCL			
//====================================================================================
M_ClrSCL:		.MACRO
					r1=		[P_IOB_Buffer]
					r1&=0xfd
					[P_IOB_Data]= r1			
				.ENDM
//====================================================================================
//Macro Name:		M_SetSCL
//Description:		set bit1
//Parameters:		None
//Return Value:		None
//Usage:				M_SetSCL
//Example:			M_SetSCL			
//====================================================================================
M_SetSCL:		.MACRO
					r1=		[P_IOB_Buffer]
					r1|=0x02
					[P_IOB_Data]= r1
				.ENDM
//====================================================================================
//Macro Name:		M_ClrSDA
//Description:		clear bit0
//Parameters:		None
//Return Value:		None
//Usage:				M_ClrSDA
//Example:			M_ClrSDA			
//====================================================================================
M_ClrSDA:		.MACRO
					r1=		[P_IOB_Buffer]
					r1&=0xfe
					[P_IOB_Data]= r1
				.ENDM
//====================================================================================
//Macro Name:		M_SetSDA
//Description:		set bit0
//Parameters:		None
//Return Value:		None
//Usage:				M_SetSDA
//Example:			M_SetSDA			
//====================================================================================
M_SetSDA:		.MACRO
					r1=		[P_IOB_Buffer]
					r1|=0x01
					[P_IOB_Data]= r1
				.ENDM
//====================================================================================
//Macro Name:		M_Delay
//Description:		delay 
//Parameters:		None
//Return Value:		None
//Usage:				M_Delay
//Example:			M_Delay			
//====================================================================================
M_Delay:		.MACRO	
					nop
					nop
					nop
					nop
					nop
					nop
				.ENDM     
 

⌨️ 快捷键说明

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