DS18B20温度只能计到25度?

问题描述:

DS18B20温度只能计到25度?
程序如下:
void Init_DS18B20(void){ //初始化ds1820
\x05unsigned char x=0;
\x05DQ = 1; //DQ复位
\x05DelayDS18B20(8); //稍做延时
\x05DQ = 0; //单片机将DQ拉低
\x05DelayDS18B20(80); //精确延时 大于 480us
\x05DQ = 1; //拉高总线
\x05DelayDS18B20(14);
\x05x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败
\x05DelayDS18B20(20);
}
//
unsigned int ReadTemperature(void)\x05\x05//读取温度
{
\x05unsigned char a=0;
\x05unsigned char b=0;
\x05unsigned int t;
\x05float tt=0;
\x05Init_DS18B20();
\x05WriteOneChar(0xCC); // 跳过读序号列号的操作
\x05WriteOneChar(0x44); // 启动温度转换
\x05Init_DS18B20();
\x05WriteOneChar(0xCC); //跳过读序号列号的操作
\x05WriteOneChar(0xBE); //读取温度寄存器
\x05a=ReadOneChar(); //读低8位
\x05b=ReadOneChar(); //读高8位
\x05t=b;
\x05t
1个回答 分类:综合 2014-10-06

问题解答:

我来补答
肯定是不会的,最该可测+85℃.
你说你的测出来最高到25,那么肯定是程序问题.我百度空间有DS的时序程序,可以去参考下.
不懂再讨论.
希望我的回答能帮助到你.
 
 
展开全文阅读
剩余:2000