最常用的DS18B20测温程序
uchar x=0;
DQ=1;
delay(8);
DQ=0;
delay(85);
DQ=1;
delay(14);
x=DQ;
delay(20);
}
Read(void)
{
uchar i=0;
uchar dat=0;
for(i=8;i>0;i--)
{
//DQ=1;
//delay(1);
DQ=0;
dat>>=1;
DQ=1;
if(DQ)
dat|=0x80;//读出数据放入高位,最后右移到低位 delay(4);
}
return(dat);
}
write(uchar dat)
{
uchar i=0;
for(i=8;i>0;i--)
{
DQ=0;
DQ=dat&0x01;//从地位开始写入
delay(5);
DQ=1;
dat>>=1;
}
delay(4);
}