📄 et21x130_i2c_et.asm
字号:
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (277)
; M_BC(I2C_PORT, SCLK); //SCLK=0 -> START
BC _ET21x130_CTRL,3
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (283)
; M_BS(I2C_PORT, SData); //SData=1 -> WRITE
BS _ET21x130_CTRL,2
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (284)
; M_BS(I2C_PORT, SCLK); //SCLK=1
BS _ET21x130_CTRL,3
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (289)
; M_BC(I2C_PORT, SCLK); //SCLK=0
BC _ET21x130_CTRL,3
RET
; exit point of _I2C_Write_SartBit
;***
; pBlock Stats: dbName = C
;***
;entry: _I2C_StopBit: ;Function start
; 1 exit point
;Using Bank: Bank0
;has an exit
;; Starting pCode block
_I2C_StopBit: ;Function start
; 1 exit point
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (264)
; M_BC(I2C_PORT, SData); //SData=0
BC _ET21x130_CTRL,2
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (265)
; M_BS(I2C_PORT, SCLK); //SCLK=1
BS _ET21x130_CTRL,3
NOP ;inline asm
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (267)
; M_BS(I2C_PORT, SData); //SData=1 -> STOP
BS _ET21x130_CTRL,2
RET
; exit point of _I2C_StopBit
;***
; pBlock Stats: dbName = C
;***
;entry: _I2C_DataRead: ;Function start
; 1 exit point
;Using Bank: Bank0
;has an exit
;; Starting pCode block
_I2C_DataRead: ;Function start
; 1 exit point
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (235)
; I2C_RxTx_Data = 0;//unsigned int型变量0~65535
CLR _I2C_RxTx_Data
CLR _I2C_RxTx_Data + 1
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (239)
; for (COUNTER_16=0; COUNTER_16<16; COUNTER_16++)
CLR _COUNTER_16
_00171_DS_ET21x130_I2C_I2C_DataRead:
MOV A,#0x10
SUB A,_COUNTER_16
JBS _STTS,0,_00175_DS_ET21x130_I2C_I2C_DataRead
RLC _I2C_RxTx_Data_L,#1 ;inline asm
RLC _I2C_RxTx_Data_H,#1 ;inline asm
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (252)
; M_BS(I2C_PORT, SCLK); //SCLK=1
BS _ET21x130_CTRL,3
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (253)
; if (M_ISBS(I2C_PORT, SData))////检测SData是否为1
JBC _ET21x130_CTRL,2,_00170_DS_ET21x130_I2C_I2C_DataRead
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (256)
; I2C_RxTx_Data_L++;
INC _I2C_RxTx_Data_L
_00170_DS_ET21x130_I2C_I2C_DataRead:
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (258)
; M_BC(I2C_PORT, SCLK); //SCLK=0
BC _ET21x130_CTRL,3
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (239)
; for (COUNTER_16=0; COUNTER_16<16; COUNTER_16++)
INC _COUNTER_16
JMP _00171_DS_ET21x130_I2C_I2C_DataRead
_00175_DS_ET21x130_I2C_I2C_DataRead:
RET
; exit point of _I2C_DataRead
;***
; pBlock Stats: dbName = C
;***
;entry: _I2C_DataWrite: ;Function start
; 1 exit point
;Using Bank: Bank0
;has an exit
;; Starting pCode block
_I2C_DataWrite: ;Function start
; 1 exit point
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (200)
; M_BC(I2C_PORT, SData);
BC _ET21x130_CTRL,2
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (201)
; for (COUNTER_16=0; COUNTER_16<16; COUNTER_16++)
CLR _COUNTER_16
_00161_DS_ET21x130_I2C_I2C_DataWrite:
MOV A,#0x10
SUB A,_COUNTER_16
JBS _STTS,0,_00164_DS_ET21x130_I2C_I2C_DataWrite
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (203)
; if (M_ISBS(I2C_RxTx_Data_H, 7))
JBC _I2C_RxTx_Data_H,7,_00160_DS_ET21x130_I2C_I2C_DataWrite
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (206)
; M_BS(I2C_PORT, SData);
BS _ET21x130_CTRL,2
NOP ;inline asm
_00160_DS_ET21x130_I2C_I2C_DataWrite:
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (213)
; M_BS(I2C_PORT, SCLK); //SCLK=1
BS _ET21x130_CTRL,3
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (219)
; M_BC(I2C_PORT, SCLK); //SCLK=0
BC _ET21x130_CTRL,3
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (220)
; M_BC(I2C_PORT, SData);
BC _ET21x130_CTRL,2
RLC _I2C_RxTx_Data_L,#1 ;inline asm
RLC _I2C_RxTx_Data_H,#1 ;inline asm
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (201)
; for (COUNTER_16=0; COUNTER_16<16; COUNTER_16++)
INC _COUNTER_16
JMP _00161_DS_ET21x130_I2C_I2C_DataWrite
_00164_DS_ET21x130_I2C_I2C_DataWrite:
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (228)
; M_BC(I2C_PORT, SData);
BC _ET21x130_CTRL,2
RET
; exit point of _I2C_DataWrite
;***
; pBlock Stats: dbName = C
;***
;entry: _I2C_IndexWrite: ;Function start
; 1 exit point
;Using Bank: Bank0
;has an exit
;; Starting pCode block
_I2C_IndexWrite: ;Function start
; 1 exit point
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (164)
; M_BC(I2C_PORT, SData);
BC _ET21x130_CTRL,2
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (167)
; for (COUNTER_16=0; COUNTER_16<16; COUNTER_16++)
CLR _COUNTER_16
_00151_DS_ET21x130_I2C_I2C_IndexWrite:
MOV A,#0x10
SUB A,_COUNTER_16
JBS _STTS,0,_00154_DS_ET21x130_I2C_I2C_IndexWrite
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (169)
; if (M_ISBS(I2C_Reg_Index_H, 7))
JBC _I2C_Reg_Index_H,7,_00150_DS_ET21x130_I2C_I2C_IndexWrite
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (172)
; M_BS(I2C_PORT, SData);
BS _ET21x130_CTRL,2
NOP ;inline asm
_00150_DS_ET21x130_I2C_I2C_IndexWrite:
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (179)
; M_BS(I2C_PORT, SCLK); //SCLK=1
BS _ET21x130_CTRL,3
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (185)
; M_BC(I2C_PORT, SCLK); //SCLK=0
BC _ET21x130_CTRL,3
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (186)
; M_BC(I2C_PORT, SData);
BC _ET21x130_CTRL,2
RLC _I2C_Reg_Index_L,#1 ;inline asm
RLC _I2C_Reg_Index_H,#1 ;inline asm
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (167)
; for (COUNTER_16=0; COUNTER_16<16; COUNTER_16++)
INC _COUNTER_16
JMP _00151_DS_ET21x130_I2C_I2C_IndexWrite
_00154_DS_ET21x130_I2C_I2C_IndexWrite:
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (195)
; M_BC(I2C_PORT, SData);
BC _ET21x130_CTRL,2
RET
; exit point of _I2C_IndexWrite
;***
; pBlock Stats: dbName = C
;***
;entry: _I2C_Read: ;Function start
; 1 exit point
;Using Bank: Bank0
;has an exit
;functions called:
; _I2C_Read_SartBit
; _I2C_DataRead
; _I2C_StopBit
;; Starting pCode block
_I2C_Read: ;Function start
; 1 exit point
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (148)
; I2C_Read_SartBit();
CALL _I2C_Read_SartBit
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (149)
; M_BS(I2C_PORT, SData); //RS=1 -> REGISTER
BS _ET21x130_CTRL,2
NOP ;inline asm
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (151)
; M_BS(I2C_PORT, SCLK); //SCLK=1
BS _ET21x130_CTRL,3
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (155)
; M_BC(I2C_PORT, SCLK); //SCLK=0
BC _ET21x130_CTRL,3
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (156)
; ET21x130_IO_Ctrl = 0x74; //#0b11110100 for SData == Input
MOV A,#0x74
MOV _IOCD,A
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (157)
; I2C_DataRead();
CALL _I2C_DataRead
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (158)
; ET21x130_IO_Ctrl = 0x70; //#0b11110000 for SData == Output
MOV A,#0x70
MOV _IOCD,A
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (159)
; I2C_StopBit();
CALL _I2C_StopBit
RET
; exit point of _I2C_Read
;***
; pBlock Stats: dbName = C
;***
;entry: _I2C_Write: ;Function start
; 1 exit point
;Using Bank: Bank0
;has an exit
;functions called:
; _I2C_Write_SartBit
; _I2C_DataWrite
; _I2C_StopBit
;; Starting pCode block
_I2C_Write: ;Function start
; 1 exit point
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (135)
; I2C_Write_SartBit();
CALL _I2C_Write_SartBit
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (136)
; M_BS(I2C_PORT, SData); //RS=1 -> REGISTER
BS _ET21x130_CTRL,2
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (137)
; M_BS(I2C_PORT, SCLK); //SCLK=1
BS _ET21x130_CTRL,3
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (141)
; M_BC(I2C_PORT, SCLK); //SCLK=0
BC _ET21x130_CTRL,3
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (142)
; I2C_DataWrite();
CALL _I2C_DataWrite
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (143)
; I2C_StopBit();
CALL _I2C_StopBit
RET
; exit point of _I2C_Write
;***
; pBlock Stats: dbName = C
;***
;entry: _I2C_Index: ;Function start
; 1 exit point
;Using Bank: Bank0
;has an exit
;functions called:
; _I2C_Write_SartBit
; _I2C_IndexWrite
; _I2C_StopBit
;; Starting pCode block
_I2C_Index: ;Function start
; 1 exit point
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (122)
; I2C_Write_SartBit();//I2C启动
CALL _I2C_Write_SartBit
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (123)
; M_BC(I2C_PORT, SData); //RS=0 -> INDEX
BC _ET21x130_CTRL,2
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (124)
; M_BS(I2C_PORT, SCLK); //SCLK=1
BS _ET21x130_CTRL,3
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (128)
; M_BC(I2C_PORT, SCLK); //SCLK=0
BC _ET21x130_CTRL,3
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (129)
; I2C_IndexWrite();
CALL _I2C_IndexWrite
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (130)
; I2C_StopBit();
CALL _I2C_StopBit
RET
; exit point of _I2C_Index
;***
; pBlock Stats: dbName = C
;***
;entry: _Read_Register: ;Function start
; 1 exit point
;Using Bank: Bank0
;has an exit
;functions called:
; _I2C_Index
; _I2C_Read
;1 compiler assigned register :
; s0xF0
;; Starting pCode block
_Read_Register: ;Function start
; 1 exit point
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (112)
; void Read_Register(BYTE rReg_H, BYTE rReg_L)
MOV _I2C_Reg_Index_H,A
MOV A,s0xF0
MOV _I2C_Reg_Index_L,A
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (116)
; I2C_Index();
CALL _I2C_Index
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (117)
; I2C_Read();
CALL _I2C_Read
RET
; exit point of _Read_Register
;***
; pBlock Stats: dbName = C
;***
;entry: _Write_Register: ;Function start
; 1 exit point
;Using Bank: Bank0
;has an exit
;functions called:
; _I2C_Index
; _I2C_Write
;3 compiler assigned registers:
; s0xF0
; s0xF1
; s0xF2
;; Starting pCode block
_Write_Register: ;Function start
; 1 exit point
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (99)
; void Write_Register(BYTE wRegIndex_H, BYTE wRegIndex_L,
MOV _I2C_Reg_Index_H,A
MOV A,s0xF0
MOV _I2C_Reg_Index_L,A
MOV A,s0xF1
MOV _I2C_RxTx_Data_H,A
MOV A,s0xF2
MOV _I2C_RxTx_Data_L,A
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (104)
; I2C_Index();
CALL _I2C_Index
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (108)
; I2C_Write();
CALL _I2C_Write
RET
; exit point of _Write_Register
;***
; pBlock Stats: dbName = C
;***
;entry: _Check_SensorID: ;Function start
; 1 exit point
;Using Bank: Bank0
;has an exit
;functions called:
; _I2C_Read_SartBit
; _I2C_DataRead
; _I2C_StopBit
;; Starting pCode block
_Check_SensorID: ;Function start
; 1 exit point
_00124_DS_ET21x130_I2C_Check_SensorID:
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (75)
; I2C_Read_SartBit();
CALL _I2C_Read_SartBit
;#CSRC F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (76)
; M_BC(I2C_PORT, SData); //RS=0 -> READ ID
BC _ET21x130_CTRL,2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -