DS18B20 初始化失败 纠结中解决办法
DS18B20 初始化失败 纠结中为了单独测试这个DS18B20的初始化,弄了个最小化的电路如下:DS18B20接P1.7,LED接
DS18B20 初始化失败 纠结中
为了单独测试这个DS18B20的初始化,弄了个最小化的电路如下:
DS18B20接P1.7,LED接P1.0
如果初始化成功,则LED应该点亮.
程序:
#include <STC12C2052AD.H>
sbit DQ = P1^7;
sbit LED = P1^0;
void delay2us(unsigned char t)
{
while(--t)
;
}
void main(void)
{
bit x;
DQ = 1;
delay2us(1);
DQ = 0;
delay2us(200);
delay2us(100);
DQ = 1;
delay2us(35);
x = DQ;
delay2us(20);
while(1)
{
LED = x;
}
}
[解决办法]电路没问题吧,我以前也是时序搞不好,记得读的时候少延时或多延时数据就乱了
[解决办法]用示波器先测一下输出吧
[解决办法]加个上拉再说!
[解决办法]网上看看别人怎么做的吧
[解决办法]无果剩下就是时序的问题。。。
慢慢调咯,其实可以在PROTUE上模拟一下
[解决办法]学习了,顶
[解决办法]一个小小的时序,却影响着读写数据或者状态位的出错的。。。那么初始化就失败了。。差异就只有成功与不成功,当然大了,呵呵。
[解决办法]这个东西对时序要求比较严格,以前搞的时候是用51汇编写的,呵呵
[解决办法]这个对时序很严格的,初次写时建议不要自已写,先参考一下别人先成的程序再说吧,祝楼主好运。