关于DS18b20无应答的问题?
时间:10-02
整理:3721RD
点击:
单片机用的是C8051F020,做DS18b20的温度采集实验,不知道为什么DQ一直的高电平和VCC一样,没有应答信号返回,求助大神指教
18b20的初始化是这样的,DQ用的是P6.0,感觉是这里的问题,不知道怎么解决
void ow_reset(void)
{
P74OUT|=0x10;
clr_DQ; //延时最小480us
delay(700);
set_DQ;
delay(50); //延时15-60us
P74OUT&=0xef;
P6|=0x01;
while(P6&0x01);
delay(700); //延时60-240us
set_DQ;
}
18b20的初始化是这样的,DQ用的是P6.0,感觉是这里的问题,不知道怎么解决
void ow_reset(void)
{
P74OUT|=0x10;
clr_DQ; //延时最小480us
delay(700);
set_DQ;
delay(50); //延时15-60us
P74OUT&=0xef;
P6|=0x01;
while(P6&0x01);
delay(700); //延时60-240us
set_DQ;
}
是不是等待时间 不够
700us,还不够吗
问题你的700uS是否准确,最好用逻辑分析仪测量一下,再不行就建议参考一下《51单片机轻松入门——基于STC15W4K系列》18B20章节详细原理说明,还有完整的程序,一般只需更改下18B20连接的单片机引脚位置即可直接使用。