DS18B20.H  

 


#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);

#endif
/**********************end****************************************/