找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1017|回复: 4
收起左侧

单片机程序 为什么在这里必须把ds18b20释放掉,不释放掉接受的y信号“1”不还是可...

[复制链接]
ID:1055423 发表于 2023-1-31 18:34 | 显示全部楼层 |阅读模式
//接受一个位
unsigned char onewire_receive()
{
        int i;
        unsigned char Bit;
        DS18B20_DQ=0;
        i = 2;while (--i);//延迟5微秒
        DS18B20_DQ=1;//为什么在这里必须把ds18b20释放掉,不释放掉接受的y信号“1”不还是可以正常接受吗?在我的理解里,请问各位可以给个讲解么
        i = 2;while (--i);//延迟5微秒
        Bit=DS18B20_DQ;
        i = 24;while (--i);//延迟50微秒
        return Bit;
}
//ds18b20读一个位的时序图奉上
屏幕截图 2023-01-31 183340.png





回复

使用道具 举报

ID:419968 发表于 2023-1-31 19:57 | 显示全部楼层
黑线表示主机拉低总线,灰线是18b20拉低总线,单主机拉低总线一定后,释放总线然后等待18b20,可以判断18
回复

使用道具 举报

ID:419968 发表于 2023-1-31 19:58 | 显示全部楼层
B20是否存在,
回复

使用道具 举报

ID:161164 发表于 2023-1-31 22:17 | 显示全部楼层
传统51单片机的准双向IO结构
准双向IO置1时是弱上拉,只能输出很小的电流(150~270uA),外部容易拉低
准双向IO置0时是对地短路,能接受比较大的电流(6~20mA),外部很难拉高
所以要读取外部信号前要把IO置1
令外部电路有必要时可以拉低电平
回复

使用道具 举报

ID:1055423 发表于 2023-2-1 11:46 | 显示全部楼层
lkc8210 发表于 2023-1-31 22:17
传统51单片机的准双向IO结构
准双向IO置1时是弱上拉,只能输出很小的电流(150~270uA),外部容易拉低
准双 ...

感谢您的回答
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表