C51 COMPILER V9.54 BH1750 02/17/2022 16:20:58 PAGE 1 C51 COMPILER V9.54, COMPILATION OF MODULE BH1750 OBJECT MODULE PLACED IN .\Objects\BH1750.obj COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE BH1750.c OPTIMIZE(8,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\Listings\BH -1750.lst) TABS(2) OBJECT(.\Objects\BH1750.obj) line level source 1 #include 2 //#include //Keil library 3 #include //Keil library 4 #include 5 6 7 #define SlaveAddress 0x46 //定义器件在IIC总线中的从地址,根据ALT ADDRESS地址引脚不同修改 8 //ALT ADDRESS引脚接地时地址为0x46,接电源时地址为0xB8 9 typedef unsigned char BYTE; 10 typedef unsigned short WORD; 11 12 BYTE BUF[8]; //接收数据缓存区 13 // uchar ge,shi,bai,qian,wan; //显示变量 14 //int dis_data; //变量 15 16 void IICdelay_xms(unsigned int k); 17 void Init_BH1750(void); 18 19 20 void Single_Write_BH1750(uchar REG_Address); //单个写入数据 21 uchar Single_Read_BH1750(uchar REG_Address); //单个读取内部寄存器数据 22 void Multiple_Read_BH1750(); //连续的读取内部寄存器数据 23 void Delay5us(); 24 void Delay5ms(); 25 void BH1750_Start(); //起始信号 26 void BH1750_Stop(); //停止信号 27 void BH1750_SendACK(bit ack); //应答ACK 28 bit BH1750_RecvACK(); //读ack 29 void BH1750_SendByte(BYTE dat); //IIC单个字节写 30 BYTE BH1750_RecvByte(); //IIC单个字节读 31 32 //---------------------------------- 33 //毫秒延时************************** 34 void IICdelay_xms(unsigned int k) 35 { 36 1 unsigned int i,j; 37 1 for(i=0;i