芯片解密SHT20是瑞士Sensirion 数字温湿度传感器。 SHT20数字温湿度传感器是众多温湿度传感器中一款性价比高的产品,配有4C 代CMOSens®芯片。除了配有电容式相对湿度传感器和能隙温度传感器外,该芯片还包含一个放大器、A/D 转换器、OTP 内存和数字处理单元。用量以百万计,且应用领域广泛。该类传感器适用于对成本极其敏感但又注重品质的大批量生产的行业。 同时具有很高的温度精度和湿度精度。 SHT20系列模块专为低功耗小体积应用设计,具有良好的品质、快的响应速度、抗干扰能力强、性价比高等优点、极低的功耗。懂行的人都知道它的优点。传感器重要参数: 湿度测量范围:0—100%RH
湿度精度范围(10%RH to 95%RH): ±3%RH温度测量范围: -40℃—125℃ (-40 - +257°F)温度精度范围:±0.3℃湿度迟滞:±1%RH测量时间:50ms年漂移量:-0.5%RH/year响应时间:5 s
=================================================
芯片解密BMP180是一款高精度、小体积、超低能耗的压力传感器,可以应用在移动设备中
它的性能卓越,绝对精度最低可以达到0.03hPa,并且耗电极低,只有3μA,采用强大的8-pin陶瓷无引线芯片承载(LCC)超薄封装,可以通过I2C总线直接与各种微处理器相连
主要特点:
压力范围:300~1100hPa(海拔9000米~-500米),从这里可以看出来,该模块还可以通过公式计算海拔高度哦~
低功耗:5μA,在标准模式
高精度:低功耗模式下,分辨率为0.06hPa(0.5米)
高线性模式下,分辨率为0.03hPa(0.25米)
======================================================BH1750FVI
芯片解密采用ROHM原装BH1750FVI芯片
光照度范围:0-65535 lx (有没有发现比光敏电阻强N倍?)
传感器内置16bitAD转换器
直接数字输出,省略复杂的计算,省略标定
不区分环境光源
接近于视觉灵敏度的分光特性
可对广泛的亮度进行1勒克斯的高精度测定
===============================================
单片机源程序如下:
- #include <reg52.h>
- #include <intrins.h>
- #include"LCD1602.h"
- #define uchar unsigned char // 以后unsigned char就可以用uchar代替
- #define uint unsigned int // 以后unsigned int 就可以用uint 代替
- uchar rxfalg=1;
- uchar Byte1,Byte2,Byte3,Byte4,Byte5,Byte6,Byte7,Byte8,Byte9,Byte10,Byte11,Byte12,Byte13,Byte14,Byte15,Byte15,Byte16;
- uint Light,Pressure,Temp; //定义的光照强度,气压,温度。
- uchar Humi; //湿度
- /*********************************************************/
- // 毫秒级的延时函数,time是要延时的毫秒数
- /*********************************************************/
- void DelayMs(uint time)
- {
- uint i,j;
- for(i=0;i<time;i++)
- for(j=0;j<112;j++);
- }
- /*********************************************************/
- // 串口初始化
- /*********************************************************/
- void UartInit()
- {
- SCON = 0x50; // 配置串口寄存器
- TMOD = 0x20; // 配置定时器寄存器
- TH1 = 0xfd; // 计算波特率的值为9600
- TL1 = 0xfd; // 计算波特率的值为9600
- EA = 1; // 打开总中断
- ES = 1; // 打开串口中断
- TR1 = 1; // 启动定时器
- }
- /*********************************************************/
- // 主函数
- /*********************************************************/
- void main(void)
- {
- LCDInt(); //液晶初始化
- UartInit(); // 串口初始化
- DelayMs(500);
- SetXY(0,0); // 光照
- LCDWriteDate('L');
- LCDWriteDate(':');
- SetXY(0,7);
- LCDWriteDate('L');
- LCDWriteDate('x');
-
- SetXY(1,0); // 气压
- LCDWriteDate('P');
- LCDWriteDate(':');
- SetXY(1,8);
- LCDWriteDate('K');
- LCDWriteDate('p');
-
-
- SetXY(0,10); // 温度
- LCDWriteDate('T');
- LCDWriteDate(':');
- // SetXY(0,15); //
- // LCDWriteDate(0XDF);
-
- SetXY(1,11); //湿度
- LCDWriteDate('H');
- LCDWriteDate(':');
- SetXY(1,15); //
- LCDWriteDate('%');
-
-
- while(1)
- {
-
-
- if(rxfalg==0)
- {
- rxfalg=1;
-
- //光照强度
- SetXY(0,2); //
- LCDWriteDate(Light/10000+0x30);
- LCDWriteDate(Light%10000/1000+0x30);
- LCDWriteDate(Light%1000/100+0x30);
- LCDWriteDate(Light%100/10+0x30);
- LCDWriteDate(Light%10+0x30);
-
- //气压强度
- SetXY(1,2); //
- LCDWriteDate(Pressure/10000+0x30);
- LCDWriteDate(Pressure%10000/1000+0x30);
- LCDWriteDate(Pressure%1000/100+0x30);
- LCDWriteDate('.');
- LCDWriteDate(Pressure%100/10+0x30);
- LCDWriteDate(Pressure%10+0x30);
-
- //温度
- SetXY(0,12); //
- LCDWriteDate(Temp/100+0x30);
- LCDWriteDate(Temp%100/10+0x30);
- LCDWriteDate('.');
- LCDWriteDate(Temp%10+0x30);
-
- //湿度
- SetXY(1,13); //
- LCDWriteDate(Humi/10+0x30);
- LCDWriteDate(Humi%10+0x30);
-
- }
-
- DelayMs(500);
- }