📄 opmacro.inc
字号:
//====================================================================================
//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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -