极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 23639|回复: 7

用DS18B20取出温度后在7段数码管上显示时,会发生闪烁如何解决?

[复制链接]
发表于 2012-3-16 19:08:06 | 显示全部楼层 |阅读模式
在Arduino上用DS18B20取出温度的数值后在7段数码管上显示时,当两个数据切换的时候四位数码管会有一次闪烁,求大神讲解下怎么把这个闪烁消除掉,用的是 <OneWire.h>和 <DallasTemperature.h>这两个函数库,float t=tempSens.getTempCByIndex(0);用这个命令来把温度取出来然后现在在4位数码管上,但是每次数据更新的时候会有一个闪烁的过程,现在想把这个过程消除掉,该如何解决呢?谢谢!
回复

使用道具 举报

发表于 2012-3-16 20:59:09 | 显示全部楼层
贴出完整源代码。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-17 05:40:11 | 显示全部楼层
本帖最后由 kai191 于 2012-3-17 17:50 编辑
534659123 发表于 2012-3-16 20:59
贴出完整源代码。。。


void loop()
{
  tempSens.requestTemperatures();
  float t=tempSens.getTempCByIndex(0);
  Serial.println(t);
  rT= (int)(t*100);   
  for (i=0; i<50; i++)
       {
        num=rT;         
        }
      for (j=0; j<50; j++)
         {

            tho=num[j]/1000;
            hun=num[j]%1000/100;
            ten=num[j]%1000%100/10;
            digitdisplay(tho,0);
            delay(del);
            digitpoint(hun,1);
            delay(del);      
            digitdisplay(ten,2);
            delay(del);  
            digitdisplay(10,3);//显示C
            delay(del);           
         }
     
  }


每次显示完一个数字后,就会停在最后一位上,就是只显示C,然后等新的数据来了之后才会开始更新,该如何解决呢?
回复 支持 反对

使用道具 举报

发表于 2012-3-17 08:32:17 | 显示全部楼层
贴下代码看看?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-17 23:38:31 | 显示全部楼层
thomas 发表于 2012-3-17 08:32
贴下代码看看?

void loop()
{
  tempSens.requestTemperatures();
  float t=tempSens.getTempCByIndex(0);
  Serial.println(t);
  rT= (int)(t*100);   
            tho= rT/1000;
            hun= rT%1000/100;
            ten= rT%1000%100/10;
            digitdisplay(tho,0);
            delay(del);
            digitpoint(hun,1);
            delay(del);      
            digitdisplay(ten,2);
            delay(del);  
            digitdisplay(10,3);//显示C
            delay(del);           
         }
     
  }

回复 支持 反对

使用道具 举报

发表于 2012-3-19 17:28:23 | 显示全部楼层
两个方向:
1 在切换的时候先将所有的LED管都写LOW。先熄灭。
2 显示丢在一个IF循环中,只有变的时候才会点或者变化。而不是循环一次就点一次。
回复 支持 反对

使用道具 举报

发表于 2014-5-14 17:33:41 | 显示全部楼层
能不能发一下测温加数码管显示的全部程序,谢谢
回复 支持 反对

使用道具 举报

发表于 2016-12-2 22:13:47 | 显示全部楼层
我也是闪啊闪,而且同样的代码用在时间显示就没有问题...
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 04:56 , Processed in 0.059499 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表