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

📄 et21x130_i2c_et.asm

📁 在台湾义统公司
💻 ASM
📖 第 1 页 / 共 3 页
字号:
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (77)
;  M_BS(I2C_PORT, SCLK);	 	 //SCLK=1
	BS	_ET21x130_CTRL,3
	NOP 			;inline asm
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (79)
;  M_BC(I2C_PORT, SCLK);		 //SCLK=0  
	BC	_ET21x130_CTRL,3
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (80)
;  ET21x130_IO_Ctrl = 0x74;   //#0b01110100 SDATA == INPUT (FOR DATA RECEIVE)
	MOV	A,#0x74
	MOV	_IOCD,A
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (86)
;  I2C_DataRead();  
	CALL	_I2C_DataRead
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (87)
;  ET21x130_IO_Ctrl = 0x70;  //for SDATA OUTPUT
	MOV	A,#0x70
	MOV	_IOCD,A
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (92)
;  I2C_StopBit();
	CALL	_I2C_StopBit
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (93)
;  if (I2C_RxTx_Data_L == DEFAULT_ID)
	MOV	A,_I2C_RxTx_Data_L
	XOR	A,#0x82
	JBC	_STTS,2,_00124_DS_ET21x130_I2C_Check_SensorID
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (94)
;  break;
	RET	
; exit point of _Check_SensorID
;***
;  pBlock Stats: dbName = C
;***
;entry:  _GetI2CReg:	;Function start
; 1 exit point 
;Using Bank: Bank0
;has an exit
;functions called:
;   _Read_Register
;   _Read_Register
;   _Read_Register
;   _Read_Register
;   _Read_Register
;   _Read_Register
;   _Read_Register
;   _Read_Register
;1 compiler assigned register :
;   s0xF0
;; Starting pCode block
_GetI2CReg:	;Function start
; 1 exit point 
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (51)
;  M_BC(I2C_PORT, SCE); //SCE=0   
	BC	_ET21x130_CTRL,1
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (52)
;  Read_Register(0x00, 0x00);   
	MOV	A,#0x00
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Read_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (53)
;  I2CRegR0 = I2C_RxTx_Data;
	MOV	A,_I2C_RxTx_Data
	MOV	_I2CRegR0,A
	MOV	A,_I2C_RxTx_Data + 1
	MOV	_I2CRegR0 + 1,A
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (54)
;  Read_Register(0x00, 0x01);  
	MOV	A,#0x01
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Read_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (55)
;  I2CRegR1 = I2C_RxTx_Data;
	MOV	A,_I2C_RxTx_Data
	MOV	_I2CRegR1,A
	MOV	A,_I2C_RxTx_Data + 1
	MOV	_I2CRegR1 + 1,A
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (56)
;  Read_Register(0x00, 0x02);  
	MOV	A,#0x02
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Read_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (57)
;  I2CRegR2 = I2C_RxTx_Data;
	MOV	A,_I2C_RxTx_Data
	MOV	_I2CRegR2,A
	MOV	A,_I2C_RxTx_Data + 1
	MOV	_I2CRegR2 + 1,A
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (58)
;  Read_Register(0x00, 0x03);  
	MOV	A,#0x03
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Read_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (59)
;  I2CRegR3 = I2C_RxTx_Data;
	MOV	A,_I2C_RxTx_Data
	MOV	_I2CRegR3,A
	MOV	A,_I2C_RxTx_Data + 1
	MOV	_I2CRegR3 + 1,A
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (60)
;  Read_Register(0x00, 0x05);  
	MOV	A,#0x05
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Read_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (61)
;  I2CRegR5 = I2C_RxTx_Data;
	MOV	A,_I2C_RxTx_Data
	MOV	_I2CRegR5,A
	MOV	A,_I2C_RxTx_Data + 1
	MOV	_I2CRegR5 + 1,A
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (62)
;  Read_Register(0x00, 0x06);  
	MOV	A,#0x06
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Read_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (63)
;  I2CRegR6 = I2C_RxTx_Data;
	MOV	A,_I2C_RxTx_Data
	MOV	_I2CRegR6,A
	MOV	A,_I2C_RxTx_Data + 1
	MOV	_I2CRegR6 + 1,A
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (64)
;  Read_Register(0x00, 0x07);  
	MOV	A,#0x07
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Read_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (65)
;  I2CRegR7 = I2C_RxTx_Data;
	MOV	A,_I2C_RxTx_Data
	MOV	_I2CRegR7,A
	MOV	A,_I2C_RxTx_Data + 1
	MOV	_I2CRegR7 + 1,A
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (66)
;  Read_Register(0x00, 0x08);  
	MOV	A,#0x08
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Read_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (67)
;  I2CRegR8 = I2C_RxTx_Data;  
	MOV	A,_I2C_RxTx_Data
	MOV	_I2CRegR8,A
	MOV	A,_I2C_RxTx_Data + 1
	MOV	_I2CRegR8 + 1,A
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (68)
;  M_BS(I2C_PORT, SCE); //SCE=1  
	BS	_ET21x130_CTRL,1
	RET	
; exit point of _GetI2CReg
;***
;  pBlock Stats: dbName = C
;***
;entry:  _SetI2CReg:	;Function start
; 1 exit point 
;Using Bank: Bank0
;has an exit
;functions called:
;   _Write_Register
;   _Write_Register
;   _Write_Register
;   _Write_Register
;   _Write_Register
;   _Write_Register
;   _Write_Register
;   _Write_Register
;   _Read_Register
;3 compiler assigned registers:
;   s0xF2
;   s0xF1
;   s0xF0
;; Starting pCode block
_SetI2CReg:	;Function start
; 1 exit point 
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (33)
;  M_BC(I2C_PORT, SCE); //SCE=0   
	BC	_ET21x130_CTRL,1
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (34)
;  Write_Register(0x00, 0x00, I2CRegR0_H, I2CRegR0_L);
	MOV	A,_I2CRegR0_L
	MOV	s0xF2,A
	MOV	A,_I2CRegR0_H
	MOV	s0xF1,A
	MOV	A,#0x00
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Write_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (35)
;  Write_Register(0x00, 0x01, I2CRegR1_H, I2CRegR1_L);
	MOV	A,_I2CRegR1_L
	MOV	s0xF2,A
	MOV	A,_I2CRegR1_H
	MOV	s0xF1,A
	MOV	A,#0x01
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Write_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (36)
;  Write_Register(0x00, 0x02, I2CRegR2_H, I2CRegR2_L);
	MOV	A,_I2CRegR2_L
	MOV	s0xF2,A
	MOV	A,_I2CRegR2_H
	MOV	s0xF1,A
	MOV	A,#0x02
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Write_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (37)
;  Write_Register(0x00, 0x03, I2CRegR3_H, I2CRegR3_L);
	MOV	A,_I2CRegR3_L
	MOV	s0xF2,A
	MOV	A,_I2CRegR3_H
	MOV	s0xF1,A
	MOV	A,#0x03
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Write_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (39)
;  Write_Register(0x00, 0x05, I2CRegR5_H, I2CRegR5_L);
	MOV	A,_I2CRegR5_L
	MOV	s0xF2,A
	MOV	A,_I2CRegR5_H
	MOV	s0xF1,A
	MOV	A,#0x05
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Write_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (40)
;  Write_Register(0x00, 0x06, I2CRegR6_H, I2CRegR6_L);
	MOV	A,_I2CRegR6_L
	MOV	s0xF2,A
	MOV	A,_I2CRegR6_H
	MOV	s0xF1,A
	MOV	A,#0x06
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Write_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (41)
;  Write_Register(0x00, 0x07, I2CRegR7_H, I2CRegR7_L);
	MOV	A,_I2CRegR7_L
	MOV	s0xF2,A
	MOV	A,_I2CRegR7_H
	MOV	s0xF1,A
	MOV	A,#0x07
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Write_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (42)
;  Write_Register(0x00, 0x08, I2CRegR8_H, I2CRegR8_L);
	MOV	A,_I2CRegR8_L
	MOV	s0xF2,A
	MOV	A,_I2CRegR8_H
	MOV	s0xF1,A
	MOV	A,#0x08
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Write_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (43)
;  Read_Register(0x00, 0x06);  //007E    
	MOV	A,#0x06
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Read_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (44)
;  M_BS(I2C_PORT, SCE); //SCE=1  
	BS	_ET21x130_CTRL,1
	RET	
; exit point of _SetI2CReg
;***
;  pBlock Stats: dbName = C
;***
;entry:  _Setup_ET21x130:	;Function start
; 1 exit point 
;Using Bank: Bank0
;has an exit
;functions called:
;   _Write_Register
;   _Write_Register
;   _Write_Register
;   _Write_Register
;   _Write_Register
;   _Write_Register
;   _Write_Register
;   _Write_Register
;3 compiler assigned registers:
;   s0xF2
;   s0xF1
;   s0xF0
;; Starting pCode block
_Setup_ET21x130:	;Function start
; 1 exit point 
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (16)
;  M_BC(I2C_PORT, SCE); //SCE=0
	BC	_ET21x130_CTRL,1
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (17)
;  Write_Register(0x00, 0x00, R0_H_VALUE,     R0_L_VALUE);
	MOV	A,#0x00
	MOV	s0xF2,A
	MOV	A,#0x28
	MOV	s0xF1,A
	MOV	A,#0x00
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Write_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (18)
;  Write_Register(0x00, 0x01, AE_ADD_EP_TIME, 0x77);
	MOV	A,#0x77
	MOV	s0xF2,A
	MOV	A,#0x0a
	MOV	s0xF1,A
	MOV	A,#0x01
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Write_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (19)
;  Write_Register(0x00, 0x02, AE_UPPER_BOUND, AE_LOWER_BOUND);
	MOV	A,#0x40
	MOV	s0xF2,A
	MOV	A,#0x60
	MOV	s0xF1,A
	MOV	A,#0x02
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Write_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (20)
;  Write_Register(0x00, 0x03, 0x00,           OP_GAIN);
	MOV	A,#0x09
	MOV	s0xF2,A
	MOV	A,#0x00
	MOV	s0xF1,A
	MOV	A,#0x03
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Write_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (21)
;  Write_Register(0x00, 0x05, EP_PIXEL_H,     EP_PIXEL_L);
	MOV	A,#0xc8
	MOV	s0xF2,A
	MOV	A,#0x01
	MOV	s0xF1,A
	MOV	A,#0x05
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Write_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (22)
;  Write_Register(0x00, 0x06, 0x00,           EP_TIME);
	MOV	A,#0x7e
	MOV	s0xF2,A
	MOV	A,#0x00
	MOV	s0xF1,A
	MOV	A,#0x06
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Write_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (23)
;  Write_Register(0x00, 0x07, R7_H_VALUE,     R7_L_VALUE);
	MOV	A,#0x3f
	MOV	s0xF2,A
	MOV	A,#0x0b
	MOV	s0xF1,A
	MOV	A,#0x07
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Write_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (24)
;  Write_Register(0x00, 0x08, OB_ENABLE,      R8_L_VALUE); 
	MOV	A,#0x40
	MOV	s0xF2,A
	MOV	A,#0x01
	MOV	s0xF1,A
	MOV	A,#0x08
	MOV	s0xF0,A
	MOV	A,#0x00
	CALL	_Write_Register
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (26)
;  M_BS(I2C_PORT, SCE); //SCE=1  
	BS	_ET21x130_CTRL,1
	RET	
; exit point of _Setup_ET21x130
;***
;  pBlock Stats: dbName = C
;***
;entry:  _Reset_ET21x130:	;Function start
; 1 exit point 
;Using Bank: Bank0
;has an exit
;functions called:
;   _DelayMs
;; Starting pCode block
_Reset_ET21x130:	;Function start
; 1 exit point 
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (7)
;  M_BC(ET21x130_CTRL, RESET);//RESET位置0
	BC	_ET21x130_CTRL,0
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (8)
;  DelayMs(100);
	MOV	A,#0x64
	CALL	_DelayMs
;#CSRC	F:\左开中\ETOM\ET21X130D摄像头演示\C\ET21x130_I2C.c (9)
;  M_BS(ET21x130_CTRL, RESET);//RESET位置1
	BS	_ET21x130_CTRL,0
	RET	
; exit point of _Reset_ET21x130
;	end

⌨️ 快捷键说明

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