标题: d18b20时序问题,始终是返回为1 [打印本页]

作者: 小臭臭废    时间: 2024-1-12 10:19
标题: d18b20时序问题,始终是返回为1
大佬们这初始化时序有问题吗,始终是返回为一

mmexport1705025961506.png (125.79 KB, 下载次数: 50)

mmexport1705025961506.png

作者: joyb    时间: 2024-1-12 11:21
IO口是否有冲突
作者: 小臭臭废    时间: 2024-1-12 11:44
joyb 发表于 2024-1-12 11:21
IO口是否有冲突

应该没有,这个I/o就做这一个活
作者: cocolala    时间: 2024-1-12 15:15
    没有看到你单片机的型号描述,也没有指出所用晶振是内部晶振还是外部晶振。下面从几点常见问题分析下:
    1、除了楼上所说的IO口有没有被其他电路占用外,还要知道该IO口总线上必须外接上拉电阻。这是单总线通信要求。上拉电阻4.7K~10K范围。
    2、单总线通信需要严格的时序,这样一定检查下程序的延时函数是否准确,尤其us级延时对51单片机来说是个考验,但这也是很多初学者调试出错的问题点。




    3、当然还有一个重要原因要注意DS18B20元件的方向,一旦方向接反芯片烧坏的可能性极大。那么就不要再次使用了。附件给基于单片机STC8A8K64D4的DS18B20程序源码,个人认为这一家写的程序源码很规范,参考性很强。






DS18B20.rar

29.58 KB, 下载次数: 3


作者: lkc8210    时间: 2024-1-12 21:34
第8行没报错吗?
作者: 小臭臭废    时间: 2024-1-13 16:37
lkc8210 发表于 2024-1-12 21:34
第8行没报错吗?

哈哈,傻了。改了但还是接受不到0
作者: yzw846562238    时间: 2024-1-15 14:53
网上很多ds18b20的通信程序啊,用网上的程序试试呗,首先排除硬件问题
作者: lkc8210    时间: 2024-1-15 15:14
小臭臭废 发表于 2024-1-13 16:37
哈哈,傻了。改了但还是接受不到0

30块包邮的逻辑分析仪,你值得拥有
作者: wulin    时间: 2024-1-15 15:33
小臭臭废 发表于 2024-1-13 16:37
哈哈,傻了。改了但还是接受不到0

d18b20复位成功当然接收到1,收到0反而怪了。如果一定想以收到0判断复位失败可以改写:
bit DS18B20_Reset()
{
        DQ=0;                           //送出低电平复位信号
        delay_us(240);                  //延时至少480us
        delay_us(240);
        DQ=1;                                    //释放数据线
        delay_us(60);                   //等待60us
        if(!DQ)                                            //如果DQ低电平
        {
                delay_us(240);              //等待设备释放数据线
                delay_us(180);
                return 1;                            //返回1
        }
        else                            //DQ低电平
        {
                delay_us(240);              //等待设备释放数据线
                delay_us(180);
                return 0;                   //返回0
        }
}
作者: Tree743    时间: 2024-1-15 17:24
没有看到你单片机的型号描述,也没有指出所用晶振是内部晶振还是外部晶振。下面从几点常见问题分析下:     1、除了楼上所说的IO口有没有被其他电路占用外,还要知道该IO口总线上必须外接上拉电阻。这是单总线通信要求。上拉电阻4.7K~10K范围。     2、单总线通信需要严格的时序,这样一定检查下程序的延时函数是否准确,尤其us级延时对51单片机来说是个考验,但这也是很多初学者调试出错的问题点。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1