#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****************************************/函數