基于51单片机SHT11温湿度传感器检测程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于51单片机SHT11温湿度传感器检测程序(含电路图)

下面是原理图:

下面是SHT11与MCU连接的典型电路:

下面是源代码:

view source

print?

001.#include

002.#include

003.

004./******************************************************** 005. 宏定义

006.********************************************************/ 007.#define uint unsigned int

008.#define uchar unsigned char

009.#define noACK 0

010.#define ACK 1

011.#define STATUS_REG_W 0x06

012.#define STATUS_REG_R 0x07

013.#define MEASURE_TEMP 0x03

014.#define MEASURE_HUMI 0x05

015.#define RESET 0x1e

016.

017.enum {TEMP,HUMI};

018.

019.typedef union //定义共用同类型

020.{

021. unsigned int i;

022. float f;

023.} value;

024.

025.

026./******************************************************** 027. 位定义

028.********************************************************/ 029.sbit lcdrs=P2^0;

030.sbit lcdrw=P2^1;

031.sbit lcden=P2^2;

032.sbit SCK = P1^0;

033.sbit DATA = P1^1;

034.

035./******************************************************** 036. 变量定义

037.********************************************************/ 038.uchar table2[]="SHT11 温湿度检测";

039.uchar table3[]="温度为:℃";

040.uchar table4[]="湿度为:";

041.uchar table5[]=".";

042.uchar wendu[6];

043.uchar shidu[6];

044.

045./******************************************************** 046. 1ms延时函数

047.********************************************************/ 048.void delay(int z)

049.{

050. int x,y;

051. for(x=z;x>0;x--)

052. for(y=125;y>0;y--);

053.}

054.

055./******************************************************** 056. 50us延时函数

057.********************************************************/ 058.void delay_50us(uint t)

059.{

060. uint j;

061. for(;t>0;t--)

062. for(j=19;j>0;j--);

063.}

064.

065./******************************************************** 066. 50ms延时函数

067.********************************************************/ 068.void delay_50ms(uint t)

069.{

070. uint j;

071. for(;t>0;t--)

072. for(j=6245;j>0;j--);

073.}

074.

075./******************************************************** 076. 12864液晶写指令

077.********************************************************/ 078.void write_12864com(uchar com)

079.{

080. lcdrs=0;

081. lcdrw=0;

082. delay_50us(1);

083. P0=com;

084. lcden=1;

085. delay_50us(10);

086. lcden=0;

相关文档
最新文档