- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
学 海 无 涯
基于51 单片机SHT11 温湿度传感器检测程
序(含电路图)
• •
下面是原理图:
下面是SHT11 与MCU 连接的典型电路:
1
学 海 无 涯
下面是源代码:
#include <reg52.h>
#include <intrins.h>
/********************************************************
宏定义
********************************************************/
#define uint unsigned int
#define uchar unsigned char
#define noACK 0
#define ACK 1
#define STATUS_REG_W 0x06
#define STATUS_REG_R 0x07
#define MEASURE_TEMP 0x03
#define MEASURE_HUMI 0x05
#define RESET 0x1e
enum {TEMP,HUMI};
typedef union //定义共用同类型
{
unsigned int i;
float f;
} value;
/********************************************************
位定义
********************************************************/
sbit lcdrs=P2^0;
sbit lcdrw=P2^1;
sbit lcden=P2^2;
sbit SCK = P1^0;
sbit DATA = P1^1;
/********************************************************
变量定义
********************************************************/
uchar table2[]="SHT11 温湿度检测";
uchar table3[]="温度为: ℃";
uchar table4[]="湿度为:";
uchar table5[]=".";
uchar wendu[6];
uchar shidu[6];
2
学 海 无 涯
/********************************************************
1ms 延时函数
********************************************************/
void delay(int z)
{
int x,y;
for(x=z;x>0;x--)
for(y=125;y>0;y--);
}
/********************************************************
50us 延时函数
********************************************************/
void delay_50us(uint t)
{
uint j;
for(;t>0;t--)
for(j=19;j>0;j--);
}
/********************************************************
50ms 延时函数
********************************************************/
void delay_50ms(uint t)
{
uint j;
for(;t>0;t--)
for(j=6245;j>0;j--);
}
/*****************
文档评论(0)