又是电平不兼容

[复制链接]
 楼主| keer_zu 发表于 2008-7-23 16:30 | 显示全部楼层 |阅读模式
下图上面是DS18B20接89C51,接了一个4.7K的上拉电阻
下面是DS18B20接C8051的,因为IO电平是3.3V,又串了一个10电阻

但是在用IO驱动DS18B20时,在图中箭头所知处得到的结果是:

写0时:
  1820 的DQ=3.45v;
 对应 020的 io=0.01v;
写1时:
  1820 的DQ=4.47v;
 对应 020的 io=3.22v;

这样不对吧.
一只读不到数据,还请熟悉单总线的朋友给个解决问题的思路.
https://bbs.21ic.com/upfiles/img/20079/200797164613806.jpg
lyjian 发表于 2008-7-23 16:38 | 显示全部楼层

把10K去掉

C8051配置为OD模式
happy_ice 发表于 2008-7-23 17:03 | 显示全部楼层

回复

不去10K电阻,程序中该输出,输入时候再分别配置,这样麻烦点,应该也可以吧,ds1302的数据接口我就是这样做的。就可以。
 楼主| keer_zu 发表于 2008-7-23 17:10 | 显示全部楼层

OD模式?

都接3.3V倒是可以解决问题!
OD模式是什么模式?
lyjian 发表于 2008-7-23 18:01 | 显示全部楼层

不去10K电阻,不管接3v3还是5v都不行

3楼应该算一算10K和4K7分压后是多少伏?
就算C8051低电平能输出0V,但在DS18B20端检测到的还是高电平5V*10K/(10K+4K7)=3.4V。
DS1302的数据接口如果也是这样做的话要可以才怪呢。
3楼是把接的100R当成10K了吧。
OD模式是指IO口设为开漏模式。
 楼主| keer_zu 发表于 2008-7-24 10:37 | 显示全部楼层

楼上说的是

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

本版积分规则

1478

主题

12917

帖子

55

粉丝
快速回复 在线客服 返回列表 返回顶部