因为要用到DS18B20芯片测温,然后用数码管显示。用了别人的可以实现的程序试了下,可是显示都不变永远是一个数。但是仿真就可以。而且,就算我把芯片和单片机断开,还是会出现那个数字。这是为什么?
“就算我把芯片和单片机断开,还是会出现那个数字”
想必是单片机没有接收到新的数据,就不更新原有的数据。
“用了别人的可以实现的程序试了下”而未读懂程序,那是无法改正也无法知道故障出在哪里的。
是不是分号打到while大循环外面了?(while(1);{})这样程序就停在while(1)了,大括号里面的内容就永远不会执行了;但是你说仿真又可以,又不太像这个问题
用了别人的可以实现的程序试了下
那电路是否一样?
先确定数码管的驱动是否正常,自己写个数码管显示的程序,如果可以正常两位显示,肯定是18B20那里出问题了,另外你说仿真的时候正常,说明程序的问题应该不大,主要看一下电路是否有问题,是否有接错的地方
请先把别人提供给你的程序理解了。
我觉得有必要补充一下基础知识。
建议楼主要改别人的程序,还是先看懂别人的程序再去改。否则您认为你改动不大,但是效果却不尽人意。。。