// 函数名称 :uchar ReadOneChar(void)
// 函数功能 :DS18B20读字节函数
// 入口参数 :无
// 出口参数 :dat 读回的字节数据
//=================================================================
uchar ReadOneChar(void)
{
uchar i=0;
uchar dat = 0;
for (i=8;i>0;i--)
{
DQ = 0; // 给脉冲信号
** dat>>=1;
DQ = 1; // 给脉冲信号
if(DQ)
dat|=0x80;
delay(4);
}
return(dat);
}
//=================================================================
// 函数名称 :void WriteOneChar(uchar dat)
// 函数功能 :DS18B20写字节函数
// 入口参数 :dat 要写入的字节数据
// 出口参数 :无
//=================================================================
void WriteOneChar(uchar dat)
{
uchar i=0;
for (i=8; i>0; i--)
{
DQ = 0;
DQ = dat&0x01;
delay(5);
DQ = 1;
** dat>>=1;
}
} |