单片机/MCUwilliam hill官网
直播中

兵荒马乱的小青

11年用户 137经验值
擅长:电源/新能源 MEMS/传感技术 测量仪表 嵌入式技术 模拟技术 接口/总线/驱动 控制/MCU
私信 关注
[问答]

关于DS18B20不工作的问题,很急

我用51单片机控制DS18B20,在protues中运行是没问题的,但是我硬件自己接了一遍,结果出来的显示是0.0V。我怀疑是DS18B20不工作。不过找不出原因。接法的话 就是按照图中接的。  求解。为什么?? QQ截图20130727161933.jpg

回帖(24)

冰葑世纪

2013-7-27 16:38:52
为什么会是结果出来的显示是0.0V ??不是测温么,而且18B20的初始温度是85度
举报

薄迪

2013-7-27 16:46:49
你去参考一下标准图试试,我也做过,没你这么复杂,看着
举报

廖星

2013-7-28 13:19:56
DS18B20是测温的,为什么牵涉到电压呢
举报

兵荒马乱的小青

2013-7-28 14:35:42
引用: 冰葑世纪 发表于 2013-7-27 16:38
为什么会是结果出来的显示是0.0V ??不是测温么,而且18B20的初始温度是85度 ...

说错  出来是0.0度   
举报

兵荒马乱的小青

2013-7-28 14:38:18
引用: 花心之人 发表于 2013-7-28 13:19
DS18B20是测温的,为什么牵涉到电压呢

说错 。 是0.0度
举报

冰葑世纪

2013-7-28 14:39:23
引用: 兵荒马乱的小青 发表于 2013-7-28 14:35
说错  出来是0.0度

初始应该是85度。按理说你的18B20是工作了。但是不正常,你上拉电阻是多少?换个上拉电阻试下
举报

兵荒马乱的小青

2013-7-28 15:32:17
引用: 冰葑世纪 发表于 2013-7-28 14:39
初始应该是85度。按理说你的18B20是工作了。但是不正常,你上拉电阻是多少?换个上拉电阻试下 ...

看了它的中文资料 我用了4.7k和10K的电阻 都试了   都老样子
举报

冰葑世纪

2013-7-28 15:36:16
引用: 兵荒马乱的小青 发表于 2013-7-28 15:32
看了它的中文资料 我用了4.7k和10K的电阻 都试了   都老样子

如果确定了18B20没损坏,那很可能是程序问题,你说仿真通过了,其实仿真要求不够严谨。有可能是时序控制上出问题。最好有成功的实物案例进行对比排除问题。
举报

兵荒马乱的小青

2013-7-28 17:46:52
引用: 冰葑世纪 发表于 2013-7-28 15:36
如果确定了18B20没损坏,那很可能是程序问题,你说仿真通过了,其实仿真要求不够严谨。有可能是时序控制 ...

恩恩  是的。  我这两天也在想时序的问题  但是修改了好几次。就是显示不出来。我在想会不会是单片机I/O口与DQ之间有问题,需不需要加锁存什么的?
举报

冰葑世纪

2013-7-28 18:27:19
引用: 兵荒马乱的小青 发表于 2013-7-28 17:46
恩恩  是的。  我这两天也在想时序的问题  但是修改了好几次。就是显示不出来。我在想会不会是单片机I/O ...

这个是我那开发板测温的,可用的,你按照原理图的接法接一下,或者你把程序改为你的接法.试下能不能测到.
如果不行就是硬件出问题了.
18B20测温1602LCD显示.rar (65.3 KB)
(下载次数: 277, 2013-7-28 18:26 上传)

举报

兵荒马乱的小青

2013-7-29 10:43:05
引用: 冰葑世纪 发表于 2013-7-28 18:27
这个是我那开发板测温的,可用的,你按照原理图的接法接一下,或者你把程序改为你的接法.试下能不能测到.
如 ...

哈哈哈哈  正急着呢。  非常感谢。!!!!!
举报

兵荒马乱的小青

2013-7-29 11:06:21
引用: 兵荒马乱的小青 发表于 2013-7-29 10:43
哈哈哈哈  正急着呢。  非常感谢。!!!!!

无语。。这两天换了好几个例程。就是不显示。自己也写了几遍 网上也找了。 你这个也试了。    显示是DS18B20不工作。。。但是我也找了单片机和DS18B20的典型接法啊。也尝试接了几次。= =。 我再找找硬件原因看。  会不会是DQ的信号输入到单片机 。单片机不读取的原因?
举报

h1654155210.9203

2013-7-29 11:18:48
dq的读写逻辑问题,或者是温度转化出问题了,绝对的软件问题,这个东西在板子上是很难烧坏的。。。。。。。。。。。。
举报

南天音乐

2013-7-29 12:37:22
DS18B20时序精确到us,不同的晶振、单片机都要重新编写延时函数。仿真只能一定程序模拟,具体实物的时序必须计算出来。写个简单的延时函数,用keil调试时的汇编窗口查看汇编语句量,再根据期间手册计算执行一次这些语句消耗的时间。这样绝不会出错。我用这种办法很轻松使不同频率下各系列STC驱动成功DS18B20。
举报

兵荒马乱的小青

2013-7-29 16:02:19
引用: ntmusic 发表于 2013-7-29 12:37
DS18B20时序精确到us,不同的晶振、单片机都要重新编写延时函数。仿真只能一定程序模拟,具体实物的时序必 ...

恩恩。谢谢 ,我发现问题所在了。  我的单片机是stc12c5a60s2,与STC89C51的延时时间有差别。所以才出现时序错误的问题。
举报

安知若梦

2016-1-5 09:21:54
兄弟,现在必然是高手了,能否加下您QQ?小弟也有些问题请教
举报

聂某某

2016-3-19 14:46:51
引用: 兵荒马乱的小青 发表于 2013-7-29 16:02
恩恩。谢谢 ,我发现问题所在了。  我的单片机是stc12c5a60s2,与STC89C51的延时时间有差别。所以才出现时序错误的问题。

谢谢  我弄了一周了 跟你一样的毛病,,,,看你的帖子终于解决了  太谢谢了
举报

2016-4-17 23:19:31
我这个18B20也是显示不了,在液晶上不变
举报

谌孙杰

2016-5-27 20:55:53
引用: 1332433263wdk 发表于 2016-4-17 23:19
我这个18B20也是显示不了,在液晶上不变

我也出现总是显示-0.1度啊
举报

更多回帖

发帖
×
20
完善资料,
赚取积分