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

📄 iic.h

📁 TSL256源程序驱动!通过其IIC口采集环境光光强
💻 H
字号:
//**********************************************************
//**                  IIC驱动程序头文件                **
//**          单片机: AT89C4051 主频: 11.0592MHz          **
//**              Jumping<2008.04.28>              **
//**********************************************************

#define TSL2561_ADDR 0x39<<1      //TSL2561 ADDR GND 地址-0101001X  29
							      //TSL2561 ADDR 悬空地址-0111001X  39 
						    	   //TSL2561 ADDR VCC 地址-1001001X 49
#define TSL2561_WR 0
#define TSL2561_RD 1

#define PWUP      0X03    //寄存器00  bit1:0   0x03 器件开启/ 0x00 器件关闭
#define PWDOWN    0X00    //寄存器00  bit1:0   0x03 器件开启/ 0x00 器件关闭

#define GAIN_1X   0   
#define GAIN_16X  1

#define ITIME_13MS    0
#define ITIME_100MS   1
#define ITIME_400MS   2

#define FootType_T        0    // T package
#define FootType_CS       1    // T package

#define REG_CTR       0X00     //TSL2561 寄存器地址
#define REG_TIME      0X01
#define REG_G_FL      0X02
#define REG_G_FH      0X03
#define REG_G_TL      0X04
#define REG_G_TH      0X05
#define REG_INT_CON   0X07
#define REG_ID        0X0A

#define REG_CH0_L     0X0C
#define REG_CH0_H     0X0D

#define REG_CH1_L     0X0E
#define REG_CH1_H     0X0F

#define LUX_SCALE 14 // scale by 2^14
#define RATIO_SCALE 9 // scale ratio by 2^9
//...................................................
// Integration time scaling factors
//...................................................
#define CH_SCALE 10   		 // scale channel values by 2^10
#define CHSCALE_TINT0 0x7517 // 322/11 * 2^CH_SCALE
#define CHSCALE_TINT1 0x0fe7 // 322/81 * 2^CH_SCALE
/*
TMB Package
For    0 < CH1/CH0 ≤0.50 Lux = 0.0304 *CH0 -0.062  *CH0 *((CH1/CH0)1.4)
For 0.50 < CH1/CH0 ≤0.61 Lux = 0.0224 *CH0 -0.031  *CH1
For 0.61 < CH1/CH0 ≤0.80 Lux = 0.0128 *CH0 -0.0153 *CH1
For 0.80 < CH1/CH0 ≤1.30 Lux = 0.00146*CH0 -0.00112*CH1
For CH1/CH0 > 1.30 Lux = 0
*/
//...................................................
// T Package coefficients
//...................................................
// For Ch1/Ch0=0.00 to 0.50
	// Lux/Ch0=0.0304-0.062*((Ch1/Ch0)^1.4)
	// piecewise approximation
	// For Ch1/Ch0=0.00 to 0.125:
	// Lux/Ch0=0.0304.0.0272*(Ch1/Ch0)
	//
	// For Ch1/Ch0=0.125 to 0.250:
	// Lux/Ch0=0.0325-0.0440*(Ch1/Ch0)
	//
	// For Ch1/Ch0=0.250 to 0.375:
	// Lux/Ch0=0.0351-0.0544*(Ch1/Ch0)
	//
	// For Ch1/Ch0=0.375 to 0.50:
	// Lux/Ch0=0.0381-0.0624*(Ch1/Ch0)
//
// For Ch1/Ch0=0.50 to 0.61:
// Lux/Ch0=0.0224-0.031*(Ch1/Ch0)
//
// For Ch1/Ch0=0.61 to 0.80:
// Lux/Ch0=0.0128-0.0153*(Ch1/Ch0)
//
// For Ch1/Ch0=0.80 to 1.30:
// Lux/Ch0=0.00146-0.00112*(Ch1/Ch0)
//
// For Ch1/Ch0>1.3:
// Lux/Ch0=0
//...................................................
#define K1T 0x0040 // 0.125 * 2^RATIO_SCALE
#define B1T 0x01f2 // 0.0304 * 2^LUX_SCALE
#define M1T 0x01be // 0.0272 * 2^LUX_SCALE
#define K2T 0x0080 // 0.250 * 2^RATIO_SCALE
#define B2T 0x0214 // 0.0325 * 2^LUX_SCALE
#define M2T 0x02d1 // 0.0440 * 2^LUX_SCALE
#define K3T 0x00c0 // 0.375 * 2^RATIO_SCALE
#define B3T 0x023f // 0.0351 * 2^LUX_SCALE
#define M3T 0x037b // 0.0544 * 2^LUX_SCALE
#define K4T 0x0100 // 0.50 * 2^RATIO_SCALE
#define B4T 0x0270 // 0.0381 * 2^LUX_SCALE
#define M4T 0x03fe // 0.0624 * 2^LUX_SCALE
#define K5T 0x0138 // 0.61 * 2^RATIO_SCALE
#define B5T 0x016f // 0.0224 * 2^LUX_SCALE
#define M5T 0x01fc // 0.0310 * 2^LUX_SCALE
#define K6T 0x019a // 0.80 * 2^RATIO_SCALE
#define B6T 0x00d2 // 0.0128 * 2^LUX_SCALE
#define M6T 0x00fb // 0.0153 * 2^LUX_SCALE
#define K7T 0x029a // 1.3 * 2^RATIO_SCALE
#define B7T 0x0018 // 0.00146 * 2^LUX_SCALE
#define M7T 0x0012 // 0.00112 * 2^LUX_SCALE
#define K8T 0x029a // 1.3 * 2^RATIO_SCALE
#define B8T 0x0000 // 0.000 * 2^LUX_SCALE
#define M8T 0x0000 // 0.000 * 2^LUX_SCALE


extern void InitTsl256x(void);
extern INT GetLux(void);

// *** 外部函数声明 ***
//***************************************************************************************
extern unsigned int CalculateLux(unsigned int iGain, unsigned int tInt, unsigned int ch0, unsigned int ch1, int iType);
extern uchar TSL2561_read_byte( uchar addr);//for test

⌨️ 快捷键说明

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