资源简介
SHT20 温湿度传感器,代码自己优化过,亲测可用。自己项目中使用的,自己实际项目一直在用,所以没有明显的问题。
代码片段和文件信息
/***************************************************************
* File name : SHT20.c
* Description : SHT20 Humidity and Temperature Sensors
* M C U : STC89C52RC
* Compiler : Keil uVision V4.00a (C51)
* Created by : dingshidong
* Copyright : Copyright(c) 2012 WUXI
* Created data : 2012.08.07
* Modified data: 2012.08.10
* Vision : V1.0
*****************************************************************/
#include “math.h“
#include “main.h“
#include “nrf24l01.h“
#include “reg24le1.h“
#include “SHT20.h“ //sht20 head file
/*================================================================
【 Name 】Pin Description
【Function】模拟IIC使用的引脚定义,注意要上拉电阻,SDA和SCL均上拉10KΩ电阻
【 Notes 】
【 Author 】dingshidong
【 Data 】2012.08.07
================================================================*/
/*************Pin Description*************
P1.2------SCK (SHT20)
P1.3------DATA (SHT20)
*****************************************/
#define SCL P12 //IIC时钟引脚定义
#define SDA P13 //IIC 数据引脚定义
/*================================================================
【 Name 】
【Function】SHT20的I2C地址
【 Notes 】
【 Author 】dingshidong
【 Data 】2012.08.07
================================================================*/
#define SHT20ADDR 0x80
/*================================================================
【 Name 】
【Function】应答位电平定义
【 Notes 】
【 Author 】dingshidong
【 Data 】2012.08.07
================================================================*/
#define ACK 0 //应答信号
#define NACK 1 //非应答信号
/*================================================================
【 Name 】void Delay(uint t)
【Function】delay Nms
【 Notes 】
【 Author 】dingshidong
【 Data 】2012.08.07
================================================================*/
void Delay(uint t)
{
uchar i;
while(t--)
{
for(i=0;i<200;i++);
}
}
/*------------------------------------------------------------*/
/**********************Simulation I2C Function*****************/
/*------------------------------------------------------------*/
/*================================================================
【 Name 】void I2CDelay (uchar t)
【Function】模拟IIC用的短延时 us
【 Notes 】
【 Author 】dingshidong
【 Data 】2012.08.07
================================================================*/
void I2CDelay (uchar t)
{
while(t--);
}
/*================================================================
【 Name 】void I2CInit(void)
【Function】I2C初始化,空闲状态
【 Notes 】
【 Author 】dingshidong
【 Data 】2012.08.07
================================================================*/
void I2CInit(void)
{
SDA = 1;
I2CDelay(1);
SCL = 1;
I2CDelay(1);
}
/*================================================================
【 Name 】void I2CStart(void)
【Function】I2C起始信号
【 Notes 】SCL、SDA同为高,SDA跳变成低之后,SCL跳变成低
【 Author 】dingshidong
【 Data 】2012.08.07
================================================================*/
void I2CStart(void)
{
SDA = 1; //发送起始条件的数据信号--Z
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8427 2016-08-22 14:31 SHT20.c
文件 4561 2016-08-22 14:29 SHT20.h
----------- --------- ---------- ----- ----
12988 2
- 上一篇:韦根协议26
- 下一篇:WinIo 2.0 & 3.0
评论
共有 条评论