估计你是用了DS18B20来测量温度的吧?一般人在用的时候都是默认的12bit方式,这转换时间为750ms,所以在读取温度时会等待750ms。并且在计算的时候直接用浮点运算,即直接把数据乘以0.0625,这样浮点运算是很好耗时的。因此数码管会闪烁。
数码管扫描部分在定时器中断服务程序里面处理,就不会受温度读取影响了。