欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: GY-30光照傳感器,芯片為bh1750,最小值212lx,中文數(shù)據(jù)手冊在附件里,串口顯示 [打印本頁]

作者: 唯戀一人心    時(shí)間: 2018-1-9 22:13
標(biāo)題: GY-30光照傳感器,芯片為bh1750,最小值212lx,中文數(shù)據(jù)手冊在附件里,串口顯示
#include  <REG51.H>        
#include  <math.h>    //Keil library  
#include  <stdio.h>   //Keil library        
#include  <INTRINS.H>
#include  <IIC.H>
#define   uchar unsigned char
#define   uint unsigned int        
#define          address   0x46 //定義器件在IIC總線中的從地址,根據(jù)ALT  ADDRESS地址引腳不同修改
                              //ALT  ADDRESS引腳接地時(shí)地址為0x46,接電源時(shí)地址為0xB8
                                                         
typedef   unsigned char BYTE;                 //聲明新的類型名來代替原有的類型名
typedef   unsigned short WORD;

BYTE    BUF[8];                         //接收數(shù)據(jù)緩存區(qū)              
uchar   ge,shi,bai,qian,wan;            //顯示變量
int     dis_data;                       //變量
int w_data;


void  Multiple_Read_BH1750();                               //連續(xù)的讀取內(nèi)部寄存器數(shù)據(jù)
//------------------------------------
bit  BH1750_RecvACK();                  //讀ack
BYTE BH1750_RecvByte();                 //IIC單個字節(jié)讀

void conversion(uint temp_data)  //  數(shù)據(jù)轉(zhuǎn)換出 個,十,百,千,萬
{  
    wan=temp_data/10000+0x30 ;
    temp_data=temp_data%10000;   //取余運(yùn)算
        qian=temp_data/1000+0x30 ;
    temp_data=temp_data%1000;    //取余運(yùn)算
    bai=temp_data/100+0x30   ;
    temp_data=temp_data%100;     //取余運(yùn)算
    shi=temp_data/10+0x30    ;
    temp_data=temp_data%10;      //取余運(yùn)算
    ge=temp_data+0x30;         
}
//-------------------------------------------------------------------------------------//
//函數(shù):      wr_BH1750_one_data()
//功能:      寫一位bh1750數(shù)據(jù)
//address:   芯片從地址
//saddress:  寫寄存器地址
//w_data:    待寫數(shù)據(jù)
//-------------------------------------------------------------------------------------//
void wr_BH1750_one_data(int saddress)
{
_nop_();
iic_start();
_nop_();
iic_sendbyte(address);
_nop_();
iic_sendbyte(saddress);
_nop_();
iic_sendbyte(w_data);
_nop_();
iic_stop();
_nop_();
}
//-------------------------------------------------------------------------------------//
//函數(shù):      rd_BH1750_one_data()
//功能:      讀一位max30102數(shù)據(jù)
//address:   芯片從地址
//saddress:  讀寄存器地址
//rda:       讀出的數(shù)據(jù)
//-------------------------------------------------------------------------------------//
void rd_BH1750_one_data(void)
{

iic_start();
_nop_();
iic_sendbyte(address+1);
BUF[0] =iic_rcvbyte_nack();          //BUF[0]存儲0x32地址中的數(shù)據(jù)
_nop_();
_nop_();
iic_start();
_nop_();
BUF[1] =iic_rcvbyte_nack();
_nop_();
_nop_();
iic_stop();


}



void uart_putchar(unsigned char dat)
{
        SBUF=dat; //把數(shù)據(jù)送給sbuf緩存器中
        while(TI!=1);//發(fā)送標(biāo)志位 TI如果發(fā)送了為1,沒發(fā)送為0,沒發(fā)送等待,到了退出循環(huán)
        TI=0; //到了,TI清為0

        
}
void uart_printf(unsigned char *buff)
{

         while(*buff)
uart_putchar(*buff++);
}

//-------------------------------------------------------------------------------------//
//函數(shù):      主程序
//功能:   
//-------------------------------------------------------------------------------------//
main()
{
float temp;
   unsigned char str[5];
TMOD=0x21;                  
SCON=0x50;
TH1=0xFD;
TL1=0xFD;
TR1=1;                           
TI=1;   
//設(shè)置51的波特率為 9600 N 8 1
//51主頻為11.0592MHz
wr_BH1750_one_data(0x01);
while(1)
{  

wr_BH1750_one_data(0x01);   // power on
wr_BH1750_one_data(0x10);   // H- resolution mode   連續(xù)H分辨率模式        在1lx分辨率下開始測量。  測量時(shí)間一般為120ms。
delayms(180);      
rd_BH1750_one_data();




        dis_data=BUF[0];
    dis_data=(dis_data<<8)+BUF[1];//合成數(shù)據(jù),即光照數(shù)據(jù)

    temp=(float)dis_data/1.2;

    conversion(temp);         //計(jì)算數(shù)據(jù)和顯示

        str[0]=wan;
        str[1]=qian;
        str[2]=bai;
        str[3]=shi;
        str[4]=ge;
        uart_printf("light:");
        uart_printf(str);
        uart_printf(" lx");
        delayms(200);
        uart_printf("\r\n");
        delayms(100);
}
}


GY-30光照傳感器.rar

1004.25 KB, 下載次數(shù): 53, 下載積分: 黑幣 -5

中文數(shù)據(jù)手冊加全程序






歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1