//*************************************************************************
// DS18B20读一个字节函数
//*************************************************************************
unsigned char ds1820_read_byte(void)
{
unsigned char i;
unsigned char value = 0;
for (i = 8; i!= 0; i--)
{
value >>= 1;
DQ_OUT; //把P5.3设置输出
DQ_CLR; //输出低电平
delay_us(4); //*延时4uS
DQ_SET; //输出高电平
DQ_IN; //设置输入
delay_us(10); //*延时10uS
if (DQ_R)
{
value|=0x80; //数据从最高位输出,
}
delay_us(60); //*延时60uS
}
return(value);
}
|