极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11145|回复: 3

用lm35采集温度在4位七段数码管上显示为什么一直显示22度,请大神们看看

[复制链接]
发表于 2013-10-13 23:16:06 | 显示全部楼层 |阅读模式
本帖最后由 弘毅 于 2013-10-16 21:21 编辑
  1. char sm[]={0x3f,0x06,0x5B,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  2. unsigned  long int  t;
  3. char sz0,sz1,sz2,sz3=0x00;
  4. int  sw,gw;
  5. void setup()
  6. {
  7.   for(int i=2;i<=13;i++)
  8.     pinMode(i,OUTPUT);   // pin2--pin9接a--h;pin10接GND1,pin11接GND2,pin12接GND3,pin13接GND4
  9. }

  10.    void loop()
  11. {
  12.    
  13.      t=analogRead(0);
  14.   t=(t>>4)*16+(t&0x0f);
  15.   t=(5000*t/1024+5)/10;
  16.   sw = t/10;
  17.   gw = t%10;
  18. xianshi ();
  19. }

  20. void  xianshi ()
  21. {
  22.   switch (sw){
  23.     case  0:
  24.     digitalWrite(10,LOW);
  25.     for (int i =0; i<=7;i++)
  26.     digitalWrite (i+2, (sm[sw]>>i)&0x01);
  27.     delay(5);
  28.     digitalWrite(10,HIGH);
  29.     break;
  30.     case  1:
  31.     digitalWrite(10,LOW);
  32.     for (int i =0; i<=7;i++)
  33.     digitalWrite (i+2, (sm[sw]>>i)&0x01);
  34.     delay(5);
  35.     digitalWrite(10,HIGH);
  36.     break;
  37.      case 2:
  38.     digitalWrite(10,LOW);
  39.     for (int i =0; i<=7;i++)
  40.     digitalWrite (i+2, (sm[sw]>>i)&0x01);
  41.     delay(5);
  42.     digitalWrite(10,HIGH);
  43.     break;
  44.    
  45.     case  3:
  46.     digitalWrite(10,LOW);
  47.     for (int i =0; i<=7;i++)
  48.     digitalWrite (i+2, (sm[sw]>>i)&0x01);
  49.     delay(5);
  50.     digitalWrite(10,HIGH);
  51.     break;
  52.     case  4:
  53.     digitalWrite(10,LOW);
  54.     for (int i =0; i<=7;i++)
  55.     digitalWrite (i+2, (sm[sw]>>i)&0x01);
  56.     delay(5);
  57.     digitalWrite(10,HIGH);
  58.     break;
  59.     case  5:
  60.     digitalWrite(10,LOW);
  61.     for (int i =0; i<=7;i++)
  62.     digitalWrite (i+2, (sm[sw]>>i)&0x01);
  63.     delay(5);
  64.     digitalWrite(10,HIGH);
  65.     break;
  66.     case  6:
  67.     digitalWrite(10,LOW);
  68.     for (int i =0; i<=7;i++)
  69.     digitalWrite (i+2, (sm[sw]>>i)&0x01);
  70.     delay(5);
  71.     digitalWrite(10,HIGH);
  72.     break;
  73.     case  7:
  74.     digitalWrite(10,LOW);
  75.     for (int i =0; i<=7;i++)
  76.     digitalWrite (i+2, (sm[sw]>>i)&0x01);
  77.     delay(5);
  78.     digitalWrite(10,HIGH);
  79.     break;
  80.     case  8:
  81.     digitalWrite(10,LOW);
  82.     for (int i =0; i<=7;i++)
  83.     digitalWrite (i+2, (sm[sw]>>i)&0x01);
  84.     delay(5);
  85.     digitalWrite(10,HIGH);
  86.     break;
  87.     case 9:
  88.     digitalWrite(10,LOW);
  89.     for (int i =0; i<=7;i++)
  90.     digitalWrite (i+2, (sm[sw]>>i)&0x01);
  91.     delay(5);
  92.     digitalWrite(10,HIGH);
  93.     break;
  94.   }
  95.   
  96.   
  97.   switch (gw){
  98.     case  0:
  99.     digitalWrite(11,LOW);
  100.     for (int i =0; i<=7;i++)
  101.     digitalWrite (i+2, (sm[gw]>>i)&0x01);
  102.     delay(5);
  103.     digitalWrite(11,HIGH);
  104.     break;
  105.     case  1:
  106.     digitalWrite(11,LOW);
  107.     for (int i =0; i<=7;i++)
  108.     digitalWrite (i+2, (sm[gw]>>i)&0x01);
  109.     delay(5);
  110.     digitalWrite(11,HIGH);
  111.     break;
  112.     case  2:
  113.     digitalWrite(11,LOW);
  114.     for (int i =0; i<=7;i++)
  115.     digitalWrite (i+2, (sm[gw]>>i)&0x01);
  116.     delay(5);
  117.     digitalWrite(11,HIGH);
  118.     break;
  119.     case  3:
  120.     digitalWrite(11,LOW);
  121.     for (int i =0; i<=7;i++)
  122.     digitalWrite (i+2, (sm[gw]>>i)&0x01);
  123.     delay(5);
  124.     digitalWrite(11,HIGH);
  125.     break;
  126.     case  4:
  127.     digitalWrite(11,LOW);
  128.     for (int i =0; i<=7;i++)
  129.     digitalWrite (i+2, (sm[gw]>>i)&0x01);
  130.     delay(5);
  131.     digitalWrite(11,HIGH);
  132.     break;
  133.     case 5:
  134.     digitalWrite(11,LOW);
  135.     for (int i =0; i<=7;i++)
  136.     digitalWrite (i+2, (sm[gw]>>i)&0x01);
  137.     delay(5);
  138.     digitalWrite(11,HIGH);
  139.     break;
  140.     case  6:
  141.     digitalWrite(11,LOW);
  142.     for (int i =0; i<=7;i++)
  143.     digitalWrite (i+2, (sm[gw]>>i)&0x01);
  144.     delay(5);
  145.     digitalWrite(11,HIGH);
  146.     break;
  147.     case  7:
  148.     digitalWrite(11,LOW);
  149.     for (int i =0; i<=7;i++)
  150.     digitalWrite (i+2, (sm[gw]>>i)&0x01);
  151.     delay(5);
  152.     digitalWrite(11,HIGH);
  153.     break;
  154.     case  8:
  155.     digitalWrite(11,LOW);
  156.     for (int i =0; i<=7;i++)
  157.     digitalWrite (i+2, (sm[gw]>>i)&0x01);
  158.     delay(5);
  159.     digitalWrite(11,HIGH);
  160.     break;
  161.     case  9:
  162.     digitalWrite(11,LOW);
  163.     for (int i =0; i<=7;i++)
  164.     digitalWrite (i+2, (sm[gw]>>i)&0x01);
  165.     delay(5);
  166.     digitalWrite(11,HIGH);
  167.     break;
  168.   }
  169. }
复制代码
回复

使用道具 举报

发表于 2013-10-16 21:20:58 | 显示全部楼层
。。。。。。。。。。。木注释基本看不下去了。。。
回复 支持 反对

使用道具 举报

发表于 2013-10-28 21:33:11 | 显示全部楼层
   void loop()
{

     t=analogRead(0);
  t=(t>>4)*16+(t&0x0f);
  t=(5000*t/1024+5)/10;
  sw = t/10;
  gw = t%10;
#插入 Serial.println(sw); Serial.println(gw);
xianshi ();
}

先大体判断一下问题
回复 支持 反对

使用道具 举报

发表于 2015-1-16 17:01:49 | 显示全部楼层
請問大神有電路圖嗎?
不然不知道你電路怎麼接的

感謝
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-11 03:57 , Processed in 0.066938 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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