[05-04 22:14:50] 来源:http://www.592dz.com 传感技术 阅读:9158次
概要:1_read_byte( unsigned char addr, unsigned char *c) {unsigned char status=0;status= twi_start( );//开始status=twi_writebyte(TSL2561_ADDR|TSL2561_WR);//写TSL2561地址status=twi_writebyte(0x80|addr);//写命令status=twi_start( );//重新开始status=twi_writebyte(TSL2561_ADDR|TSL2561_RD);//写TSL2561地址status=twi_readbyte(c,TW_NACK);//写数据twi_stop( );delay_ms(10);return 0;} 当积分式A/D转换器转换完成后,可以从通道0寄存器和通道1寄存器读取相应的值CH0和CH1,但是要以Lux(流明)为单位,还要根据CH0和CH1进行计算。对于TMB封装,假设光强为E(单位为Lux),则计算公式如下:① 0<CH1/CH0≤0.50E=0.030 4×CH0-0.062×CH0×(CH1/CH0)1/4② 0.50<CH1/CH0≤0.61E=0.022 4×C
基于光强传感器TSL256x的感测系统设计,http://www.592dz.com限于篇幅,在此给出对TSL2561读写操作的部分程序:
unsigned char TSL2561_write_byte( unsigned char aDDR, unsigned char c) {
unsigned char status=0;
status=twi_start();//开始
status=twi_writebyte(TSL2561_ADDR|TSL2561_WR);//写TSL2561地址
status=twi_writebyte(0x80|addr);//写命令
status=twi_writebyte(c);//写数据
twi_stop( );//停止
delay_ms(10);//延时10 ms
return 0;
}
unsigned char TSL2561_read_byte( unsigned char addr, unsigned char *c) {
unsigned char status=0;
status= twi_start( );//开始
status=twi_writebyte(TSL2561_ADDR|TSL2561_WR);//写TSL2561地址
status=twi_writebyte(0x80|addr);//写命令
status=twi_start( );//重新开始
status=twi_writebyte(TSL2561_ADDR|TSL2561_RD);//写TSL2561地址
status=twi_readbyte(c,TW_NACK);//写数据
twi_stop( );
delay_ms(10);
return 0;
}
当积分式A/D转换器转换完成后,可以从通道0寄存器和通道1寄存器读取相应的值CH0和CH1,但是要以Lux(流明)为单位,还要根据CH0和CH1进行计算。对于TMB封装,假设光强为E(单位为Lux),则计算公式如下:
① 0<CH1/CH0≤0.50
E=0.030 4×CH0-0.062×CH0×(CH1/CH0)1/4
② 0.50<CH1/CH0≤0.61
E=0.022 4×CH0-0.031×CH1
③ 0.61<CH1/CH0≤0.80
E=0.012 8×CH0-0.015 3×CH1
④ 0.80<CH1/CH0≤1.30
E=0.001 46×CH0-0.001 12×CH1
⑤ CH1/CH0>1.30
E=0
对于CHIPSCALE封装,计算公式可以查看相应的芯片资料。
5 结论
采用TSL256x实现光强度实时监测的系统,具有精度高、成本低、体积小等优点。芯片内部集成了积分式A/D转换器,采用数字信号输出,因此抗干扰能力比同类芯片强。该芯片在光强监测控制领域已得到广泛应用。