还是不行,DEBUG 时观察DQ的值没有任何变化,一直是0,
具体管教配置和初始化函数如下,请大家指点一下,晶振是24MHZ
SBIT(DQ, SFR_P3, 1);
P3.1口初始化配置
P3SKIP |= 0x02;
P3MDOUT &= ~0x02;
DS18B20初始化函数
bit Init_DS18B20(void)
{
//P3MDOUT &= ~0x02;
DQ = 1 ; //DQ复位
Delay(19) ; //稍做延时
DQ = 0 ; //单片机将DQ拉低
Delay(1500) ; //精确延时 大于 480us
DQ = 1 ; //拉高总线
Delay(19) ; //延时约76us
presence = DQ ; //如果为0则初始化成功 为1则初始化失败
Delay(1500) ;
DQ = 1 ;
return(presence) ; //返回信号,0=presence,1= no presence
}
感觉问题还是出在IO口做输出或输入的配置上
|