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

📄 et21x130_i2c_et.asm

📁 在台湾义统公司
💻 ASM
📖 第 1 页 / 共 3 页
字号:
	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 + -