单片机 DS18B20?

为何电阻上拉需要写程序完成啊
这个电阻上拉到底是什呢意思

意思是说在电气结构上此时要经过一个足够的电阻上拉,这样才能确保之后18B20有能力把总线拉低。
总线主控端有义务产生符合要求的初始化时序,所以才要写程序啊……追问

我是说 电阻上拉不是自动的吗
怎么还要写DQ=1 用程序来拉高

追答

不是自动的,你看第4行程序,之前被主控端主动拉低了啊……所以才要释放呀,要不然你已经拉低了、18B20再怎么拉低呢???

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-15

硬件,确实有一个上拉电阻。

但是,即使有上拉电阻,单片机,也可以输出 0 的。

 

在 18B20 需要高电平(释放总线)时,

你写程序,就必须编写一句输出 1 的语句。

在 18B20 需要低电平时,

你写程序,就必须编写一句输出 0 的语句。

 

程序,你该怎么编写,就怎么编写。

你并不用管,硬件的电阻。



 

本回答被提问者和网友采纳
第2个回答  2020-04-15
DQ其实就是你单片机连接18B20的那个数据引脚,只是用宏定义改了名字而已。
由于第行程序将引脚置位低电平,所以要重新置为高电平,才能使外部上拉电阻的上拉电压能传输到18B20,否则将一直是低电平。
第3个回答  2020-04-15
就数据线上拉电阻,保持高电平了,MCU不操作就是了追问

但是这不是通过程序 赋1 变高电平吗

追答

这是硬件所要求的,I2C都是这样,两根线必须是上拉的

相似回答