资源简介

APDS9930-C51程序只有对该模块基本初始化,调用的代码,没有其他的花里胡哨,主程序十分简洁。只有最有用的,没有多余的,方便阅读。

资源截图

代码片段和文件信息

#include “APDS_9930.h“

void Delay12ms() //@11.0592MHz
{
unsigned char i j k;

i = 1;
j = 130;
k = 19;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}

//void ClearINTF(unsigned char address)
//{
// char Ack;
// I2CStart();
// Ack = I2CWrite(((0x39<<1)&(0XFE)));
// Ack = I2CWrite(0xA0|address);  
// I2CStop(); 
//}


void WriteRegData(unsigned char addressunsigned char dat)
{
char Ack;
I2CStart();
Ack = I2CWrite(((0x39<<1)&(0XFE)));

Ack = I2CWrite(0x80|address);  

Ack = I2CWrite(dat);

I2CStop(); 
}


unsigned int Read_Word(unsigned char Address)
{
char Ack;
unsigned char recv_data[2];///0  low; 1  high
I2CStart();
Ack = I2CWrite((0x39<<1)&(0XFE));

if(!Ack)
{
return -1;
}


Ack = I2CWrite(0xa0|Address);  

if(!Ack)
{
return -1;
}

//SCL_LOW();
I2CStart();
Ack = I2CWrite(((0x39<<1)|(0X01)));

if(!Ack)
{
return -1;
}
recv_data[0]=I2CReadACK();

I2CDelay();
recv_data[1]=I2CReadNAK(); 

I2CStop(); 

return (unsigned int)(recv_data[0] + 256 * recv_data[1]); 
}

/*可以不用*/
//unsigned char Read_byte(unsigned char Address)
//{
// char Ack;
// unsigned char recv_data;
// I2CStart();
// Ack = I2CWrite((0x39<<1)&(0XFE));
//
// Ack = I2CWrite(0xA0|Address);  
//
//
////SCL_LOW();
// I2C_SCL = 0;
// I2CStart();
// Ack = I2CWrite(((0x39<<1)|(0X01)));
//
// recv_data=I2CReadNAK();
//
// I2CStop(); 
//
// return recv_data; 
//}


unsigned char init_APDS9930()
{
uint8 ATIME PTIME WTIME PPCOUNT; 
uint8 PDRIVEPDIODEPGAINAGAIN;
    uint8 WENPENAENPON;

ATIME = 0xff; // 2.7 ms – minimum ALS integration time 
WTIME = 0xff; // 2.7 ms – minimum Wait time 
PTIME = 0xff; // 2.7 ms – minimum Prox integration time 
PPCOUNT = 1; // Minimum prox pulse count 

// ATIME = 0xf6; // 2.7 ms ?minimum ALS integration time 
// WTIME = 0xff; // 2.7 ms ?minimum Wait time 
// PTIME = 0xf6; // 2.7 ms ?minimum Prox integration time 
// PPCOUNT = 0x08; // Minimum prox pulse count 

WriteRegData(0 0); //Disable and Powerdown 
WriteRegData (1 ATIME); 
WriteRegData (2 PTIME); 
WriteRegData (3 WTIME);   
//WriteRegData (0xd 0); 
WriteRegData (0xe PPCOUNT); 

Delay12ms(); //Wait for 12 ms 
PDRIVE = 0; //100mA of LED Power 
PDIODE = 0x20; // CH1 Diode 
PGAIN = 0; //1x Prox gain 
AGAIN = 0; //1x ALS gain 
WriteRegData (0xf PDRIVE | PDIODE | PGAIN |AGAIN); 
//WriteRegData(0xc0xf0);
 

WEN = 8; // Enable Wait 
PEN = 4; // Enable Prox 
AEN = 2; // Enable ALS 
PON = 1; // Enable Power On 
WriteRegData (0 WEN | PEN | AEN | PON); 
//WriteRegData(00x0f ); 
Delay12ms(); //Wait for 12 ms 

return 1;
}



 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-02-26 00:03  APDS9930-51程序\
     文件       14779  2020-02-25 11:42  APDS9930-51程序\APDS_9930
     文件        6539  2020-02-25 11:42  APDS9930-51程序\APDS_9930.LST
     文件       14842  2020-02-25 11:42  APDS9930-51程序\APDS_9930.M51
     文件        7298  2020-02-25 11:42  APDS9930-51程序\APDS_9930.OBJ
     文件        2765  2020-02-25 11:38  APDS9930-51程序\APDS_9930.c
     文件         236  2020-02-25 11:38  APDS9930-51程序\APDS_9930.h
     文件          75  2020-02-25 11:42  APDS9930-51程序\APDS_9930.lnp
     文件         184  2020-02-26 00:01  APDS9930-51程序\APDS_9930.plg
     文件       77101  2020-02-26 00:03  APDS9930-51程序\APDS_9930.uvopt
     文件       13547  2020-02-25 09:27  APDS9930-51程序\APDS_9930.uvproj
     文件       77097  2020-02-25 11:42  APDS9930-51程序\APDS_9930_uvopt.bak
     文件       13547  2020-02-25 09:12  APDS9930-51程序\APDS_9930_uvproj.bak
     文件        6017  2020-02-25 11:42  APDS9930-51程序\I2C.LST
     文件        6061  2020-02-25 11:42  APDS9930-51程序\I2C.OBJ
     文件        3418  2020-02-25 10:40  APDS9930-51程序\I2C.c
     文件         210  2019-12-16 14:57  APDS9930-51程序\IIC.h
     文件          16  2020-02-25 09:31  APDS9930-51程序\comm.h
     文件        1308  2020-02-25 11:40  APDS9930-51程序\config.h
     文件        1696  2020-02-25 11:42  APDS9930-51程序\main.LST
     文件        2610  2020-02-25 11:42  APDS9930-51程序\main.OBJ
     文件         432  2020-02-25 11:42  APDS9930-51程序\main.c

评论

共有 条评论