你应该是用到了中断,18b20对时序比较严格,所以在对它进行读写操作时,不能有中断。你在读写18b20的时候,关掉中断,读写完再打开中断就不会出现闪烁的问题了。比如: EA=0; T=ReadTemp(); //读温度 EA=1;这样应该可以的。
估计在1°间跳动,而且与实际温度有出入。这是正常现象。
估计是不停的读取温度,然后刷新显示。建议你1秒或者更长时间读取一次温度值,然后显示,或者读取温度后,和上次的值对比一下,连续几次不一样再刷新显示并暂存当前温度值