#ifndef DS18B20_H
#define DS18B20_H
/*********************************************************************************************************
** 基本环境
********************************************************************************************************/
#include <intrins.h>
#include<reg52.h>
/*********************************************************************************************************
** 1-Wire参数定义
********************************************************************************************************/
// 1-Wire Standard Speed
#define TLOW0 40 //单线写0低电平时间80us
#define TLOW1 1 //单线写1低电平时间7us
#define TSOLT 40 //时间间隙80us
#define TRDV 1 //得到信号时间7us
#define TRSTL 300 //复为低电平时间 600us延时
#define TPDHIGH 20 //40us高电平存在检测
#define TPDLOW 80 //160us低电平存在检测
#define TTSTH 200 //400us复位电平延时
/*********************************************************************************************************
** 1-Wire命令定义
********************************************************************************************************/
/*ROM操做命令*/
#define OW_SearchROM 0xF0 //搜索ROM
#define OW_ReadROM 0x33 //读取ROM
#define OW_MatchROM 0x55 //匹配ROM
#define OW_SkipROM 0xCC //跳过ROM
#define OW_AlarmSearch 0xEC //告警搜索
/*存取器操做与温度变换命令*/
#define OW_ConvertT 0x44 //温度转换
#define OW_WriteScratchpad 0x4E //写暂存器命令
#define OW_ReadScratchpad 0xBE //读暂存器命令
#define OW_CopyScratchpad 0x48 // 复制寄存器
#define OW_RecallE2 0xB8 //重新调用E2
#define OW_ReadPower 0xB4 //读电源模式
/*********************************************************************************************************
** 信号线声明
********************************************************************************************************/
sbit DQ =P2^3;
/*********************************************************************************************************
** 变量全局声明
********************************************************************************************************/
extern unsigned char Temperature;
/*********************************************************************************************************
** 函数声明
********************************************************************************************************/
static void Delay_us (unsigned char us);
static unsigned char OWTouchReset (void);
static void OWWriteBit (unsigned char BitData);
static unsigned char OWReadBit (void);
static void OWWriteByte (unsigned char Data);
static unsigned char OWReadByte (void);
extern unsigned char DS18B20_Init (void);
extern unsigned char ReadDS18B20 (void);
extern void DS18B20ConvT (void);ide
#endif
/**********************end****************************************/函数