#include
#include"intrins.h"
#define uchar unsigned char
#define uint unsigned int
sbit DQ=P3^2;
unsigned int j=0;
uchar flag,a;
// 延时子函数
//**************************************************************/
void delay(uint t)
{ for (; t>0 ; t--) ;
}
/************************************************************
/* 产生复位脉冲初始化DS18B20 */
void ow_reset(void)
{ char presence=1;
while(presence)
{
while(presence)
{
DQ=1;_nop_();_nop_();//从高拉倒低
DQ=0;
delay(50); //550 us
DQ=1;
delay(6); //66 us
presence=DQ; //presence=0 复位成功,继续下一步
}
delay(45); //延时500 us
presence=~DQ;
}
DQ=1;