怎么解决DS18B20温度值在数码管显示会闪烁

2020-01-15 19:26发布

从开始在玩DS18B20温度传感器的时候,用在数码管上显示就会闪烁。

原因就扫描数码管的时候中间出现了一段时间没扫描到,这段时间刚好就是在温度转换时候的一段延时时间太长了,导致数码管显示会闪烁

不知道有什么方法可以解决,之前也有用中断来扫描数码管,感觉要是用一个定时器中断来扫描数码管会不会太浪费。

不知道大家在扫描数码管的时候是采用哪种方法来扫描的???
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
33条回答
dreampet
1楼-- · 2020-01-18 15:39
wt418995874 发表于 2013-7-27 14:38
嗯,启动转换温度及读取温度,都放在中断里面,判断时间到就执行启动或者转换,其余时间主函数继续扫描显 ...

不是放在中断里面,而是放在主函数里面,中断里面只置标志位,在主函数检测标志位执行相应程序。
sdf159372008
2楼-- · 2020-01-18 20:33
可以不用中断,显示函数直接放在MAIN里面,然后再凭空捏造一个数码管(程序中再多加一位数码管),这样是最简单的方式。
wt418995874
3楼-- · 2020-01-19 00:56
dreampet 发表于 2013-7-27 15:10
不是放在中断里面,而是放在主函数里面,中断里面只置标志位,在主函数检测标志位执行相应程序。 ...

这样不太好,之前试过。
不知道是不是我弄的不好
wt418995874
4楼-- · 2020-01-19 01:21
sdf159372008 发表于 2013-7-27 19:45
可以不用中断,显示函数直接放在MAIN里面,然后再凭空捏造一个数码管(程序中再多加一位数码管),这样是最 ...

为何要多加一位数码管呢
INT0
5楼-- · 2020-01-19 07:05
 精彩回答 2  元偷偷看……
wt418995874
6楼-- · 2020-01-19 10:23
INT0 发表于 2013-7-28 10:30
虚拟的数码管不是为了显示,只是为了腾出时间采集DS18B20的数值的吧?

也对,时间不够就加多一位

一周热门 更多>