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

2020-01-15 19:26发布

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

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

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

不知道大家在扫描数码管的时候是采用哪种方法来扫描的???
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
33条回答
wt418995874
1楼-- · 2020-01-16 21:41
luohui5003 发表于 2013-7-27 10:29
楼主可以搜索一下“时间片轮”学一下设计思想!

谢谢,这个感觉很不错。继续看
dreampet
2楼-- · 2020-01-17 02:20
 精彩回答 2  元偷偷看……
lcw_swust
3楼-- · 2020-01-17 06:04
扫描数码管放在定时中断里。
18B20读写一个位时要先关中断,读写一个位完成后再开中断。
fastweb
4楼-- · 2020-01-17 07:39
你的程序即使不适用RTOS难道也不开定时器产生自己的时基吗?比如1ms的定时器,除了时基处理,可以顺便扫描一位数码管
wt418995874
5楼-- · 2020-01-17 09:42
fastweb 发表于 2013-7-27 13:11
你的程序即使不适用RTOS难道也不开定时器产生自己的时基吗?比如1ms的定时器,除了时基处理,可以顺便扫描 ...

有点懂了。楼上那位朋友介绍时间片轮,我去看看后,感觉有点头绪了。
你说的也就是这样吧。
我这样理解的,定时器定时1ms,作为时基,而当每到该执行的程序,在定时器时间到就标志下,然后主函数就可以执行了
fastweb
6楼-- · 2020-01-17 13:08
要在定时器里输出显示扫描,不能用标注后在主程序里做输出(因为你的主程序有时候要等待AD之类的,会延迟反应这个标志)

一周热门 更多>