[求助] DS18B20程序不对。

umucchh   2016-5-27 22:46 楼主
因为要用到DS18B20芯片测温,然后用数码管显示。用了别人的可以实现的程序试了下,可是显示都不变永远是一个数。但是仿真就可以。而且,就算我把芯片和单片机断开,还是会出现那个数字。这是为什么?

回复评论 (9)

“就算我把芯片和单片机断开,还是会出现那个数字”
想必是单片机没有接收到新的数据,就不更新原有的数据。
“用了别人的可以实现的程序试了下”而未读懂程序,那是无法改正也无法知道故障出在哪里的。
点赞  2016-5-27 23:33
是不是分号打到while大循环外面了?(while(1);{})这样程序就停在while(1)了,大括号里面的内容就永远不会执行了;但是你说仿真又可以,又不太像这个问题
点赞  2016-5-28 06:08
引用: maychang 发表于 2016-5-27 23:33
“就算我把芯片和单片机断开,还是会出现那个数字”
想必是单片机没有接收到新的数据,就不更新原有的数据 ...

我只改了数码管显示的端口,其他都没改。
点赞  2016-5-28 06:59
引用: yuzhimude 发表于 2016-5-28 06:08
是不是分号打到while大循环外面了?(while(1);{})这样程序就停在while(1)了,大括号里面的内容就永 ...

点赞  2016-5-28 06:59
用了别人的可以实现的程序试了下
那电路是否一样?

先确定数码管的驱动是否正常,自己写个数码管显示的程序,如果可以正常两位显示,肯定是18B20那里出问题了,另外你说仿真的时候正常,说明程序的问题应该不大,主要看一下电路是否有问题,是否有接错的地方
点赞  2016-5-28 09:48
请先把别人提供给你的程序理解了。
我觉得有必要补充一下基础知识。
点赞  2016-5-28 10:30
昨天刚调过DS18B20,给你一份参考,已调通

    ZKK.rar (2016-5-28 10:36 上传)

    341.87 KB, 下载次数: 20

点赞  2016-5-28 10:36
建议楼主要改别人的程序,还是先看懂别人的程序再去改。否则您认为你改动不大,但是效果却不尽人意。。。
点赞  2016-5-28 23:06
谢谢各位,我改好了,不过数码管总是闪烁。正在改
点赞  2016-5-30 08:23
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复