//------------------------------------

void Delay5us();

void Delay5ms();

void BH1750_Start(); //起始信号

void BH1750_Stop(); //停止信号

void BH1750_SendACK(bit ack); //应答ACK

bit BH1750_RecvACK(); //读ack

void BH1750_SendByte(BYTE dat); //IIC单个字节写

BYTE BH1750_RecvByte(); //IIC单个字节读

//-----------------------------------

//*********************************************************

void conversion(uint temp_data) // 数据转换出 个,十,百,千,万

{

table[0]=temp_data/10000+0x30 ;

temp_data=temp_data%10000; //取余运算

table[1]=temp_data/1000+0x30 ;

temp_data=temp_data%1000; //取余运算

table[2]=temp_data/100+0x30 ;

temp_data=temp_data%100; //取余运算

table[3]=temp_data/10+0x30 ;

temp_data=temp_data%10; //取余运算

table[4]=temp_data+0x30;

}

//毫秒延时**************************

void delay_nms(unsigned int k)

{

unsigned int i,j;

for(i=0;i

{

for(j=0;j《121;j++)

{;}}

}

/**************************************

延时5微秒(STC90C52RC@12M)

不同的工作环境,需要调整此函数,注意时钟过快时需要修改

当改用1T的MCU时,请调整此延时函数

**************************************/

void Delay5us()

{

_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();

}

/**************************************

延时5毫秒(STC90C52RC@12M)

不同的工作环境,需要调整此函数

当改用1T的MCU时,请调整此延时函数

**************************************/

void Delay5ms()

{

WORD n = 560;

while (n--);

}

/**************************************

起始信号

**************************************/

void BH1750_Start()

{

SDA = 1; //拉高数据线

SCL = 1; //拉高时钟线

Delay5us(); //延时

SDA = 0; //产生下降沿

Delay5us(); //延时

SCL = 0; //拉低时钟线

}

/**************************************

停止信号

**************************************/

void BH1750_Stop()

{

SDA = 0; //拉低数据线

SCL = 1; //拉高时钟线

Delay5us(); //延时

SDA = 1; //产生上升沿

Delay5us(); //延时

}

/**************************************

发送应答信号

入口参数:ack (0:ACK 1:NAK)

**************************************/

void BH1750_SendACK(bit ack)

{

SDA = ack; //写应答信号

SCL = 1; //拉高时钟线

Delay5us(); //延时

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查