bh1750c语言程序,BH1750FVI数字光线强度传感器 51单片机源程序

这是一个使用STC89C51单片机通过IIC通信协议与BH1750FVI数字光线强度传感器交互的程序。程序中包含了LCD1602的显示设置,以及数据的读取和转换,最终在LCD上显示光照强度的数值。
摘要由CSDN通过智能技术生成

a6868fd7648b9d7e8dfc5270b7cb55f6.png

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

// BH1750FVI IIC测试程序

// 使用单片机STC89C51

// 晶振:11.0592M

// 显示:LCD1602

// 编译环境 Keil uVision2

// 参考宏晶网站24c04通信程序

// 时间:2011年4月20日

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

#include  

#include      //Keil library

#include     //Keil library

#include  

#define   uchar unsigned char

#define   uint unsigned int

#define   DataPort P0         //LCD1602数据端口

sbit          SCL=P1^0;      //IIC时钟引脚定义

sbit            SDA=P1^1;      //IIC数据引脚定义

sbit      LCM_RS=P2^0;   //LCD1602命令端口

sbit      LCM_RW=P2^1;   //LCD1602命令端口

sbit      LCM_EN=P2^2;   //LCD1602命令端口

#define          SlaveAddress   0x46 //定义器件在IIC总线中的从地址,根据ALT  ADDRESS地址引脚不同修改

//ALT  ADDRESS引脚接地时地址为0x46,接电源时地址为0xB8

typedef   unsigned char BYTE;

typedef   unsigned short WORD;

BYTE    BUF[8];                         //接收数据缓存区

uchar   ge,shi,bai,qian,wan;            //显示变量

int     dis_data;                       //变量

void delay_nms(unsigned int k);

void InitLcd();

void Init_BH1750(void);

void WriteDataLCM(uchar dataW);

void WriteCommandLCM(uchar CMD,uchar Attribc);

void DisplayOneChar(uchar X,uchar Y,uchar DData);

void conversion(uint temp_data);

void  Single_Write_BH1750(uchar REG_Address);               //单个写入数据

uchar Single_Read_BH1750(uchar REG_Address);                //单个读取内部寄存器数据

void  Multiple_Read_BH1750();                               //连续的读取内部寄存器数据

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

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();         

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值