用lm35采集温度在4位七段数码管上显示为什么一直显示22度,请大神们看看
本帖最后由 弘毅 于 2013-10-16 21:21 编辑char sm[]={0x3f,0x06,0x5B,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsignedlong intt;
char sz0,sz1,sz2,sz3=0x00;
intsw,gw;
void setup()
{
for(int i=2;i<=13;i++)
pinMode(i,OUTPUT); // pin2--pin9接a--h;pin10接GND1,pin11接GND2,pin12接GND3,pin13接GND4
}
void loop()
{
t=analogRead(0);
t=(t>>4)*16+(t&0x0f);
t=(5000*t/1024+5)/10;
sw = t/10;
gw = t%10;
xianshi ();
}
voidxianshi ()
{
switch (sw){
case0:
digitalWrite(10,LOW);
for (int i =0; i<=7;i++)
digitalWrite (i+2, (sm>>i)&0x01);
delay(5);
digitalWrite(10,HIGH);
break;
case1:
digitalWrite(10,LOW);
for (int i =0; i<=7;i++)
digitalWrite (i+2, (sm>>i)&0x01);
delay(5);
digitalWrite(10,HIGH);
break;
case 2:
digitalWrite(10,LOW);
for (int i =0; i<=7;i++)
digitalWrite (i+2, (sm>>i)&0x01);
delay(5);
digitalWrite(10,HIGH);
break;
case3:
digitalWrite(10,LOW);
for (int i =0; i<=7;i++)
digitalWrite (i+2, (sm>>i)&0x01);
delay(5);
digitalWrite(10,HIGH);
break;
case4:
digitalWrite(10,LOW);
for (int i =0; i<=7;i++)
digitalWrite (i+2, (sm>>i)&0x01);
delay(5);
digitalWrite(10,HIGH);
break;
case5:
digitalWrite(10,LOW);
for (int i =0; i<=7;i++)
digitalWrite (i+2, (sm>>i)&0x01);
delay(5);
digitalWrite(10,HIGH);
break;
case6:
digitalWrite(10,LOW);
for (int i =0; i<=7;i++)
digitalWrite (i+2, (sm>>i)&0x01);
delay(5);
digitalWrite(10,HIGH);
break;
case7:
digitalWrite(10,LOW);
for (int i =0; i<=7;i++)
digitalWrite (i+2, (sm>>i)&0x01);
delay(5);
digitalWrite(10,HIGH);
break;
case8:
digitalWrite(10,LOW);
for (int i =0; i<=7;i++)
digitalWrite (i+2, (sm>>i)&0x01);
delay(5);
digitalWrite(10,HIGH);
break;
case 9:
digitalWrite(10,LOW);
for (int i =0; i<=7;i++)
digitalWrite (i+2, (sm>>i)&0x01);
delay(5);
digitalWrite(10,HIGH);
break;
}
switch (gw){
case0:
digitalWrite(11,LOW);
for (int i =0; i<=7;i++)
digitalWrite (i+2, (sm>>i)&0x01);
delay(5);
digitalWrite(11,HIGH);
break;
case1:
digitalWrite(11,LOW);
for (int i =0; i<=7;i++)
digitalWrite (i+2, (sm>>i)&0x01);
delay(5);
digitalWrite(11,HIGH);
break;
case2:
digitalWrite(11,LOW);
for (int i =0; i<=7;i++)
digitalWrite (i+2, (sm>>i)&0x01);
delay(5);
digitalWrite(11,HIGH);
break;
case3:
digitalWrite(11,LOW);
for (int i =0; i<=7;i++)
digitalWrite (i+2, (sm>>i)&0x01);
delay(5);
digitalWrite(11,HIGH);
break;
case4:
digitalWrite(11,LOW);
for (int i =0; i<=7;i++)
digitalWrite (i+2, (sm>>i)&0x01);
delay(5);
digitalWrite(11,HIGH);
break;
case 5:
digitalWrite(11,LOW);
for (int i =0; i<=7;i++)
digitalWrite (i+2, (sm>>i)&0x01);
delay(5);
digitalWrite(11,HIGH);
break;
case6:
digitalWrite(11,LOW);
for (int i =0; i<=7;i++)
digitalWrite (i+2, (sm>>i)&0x01);
delay(5);
digitalWrite(11,HIGH);
break;
case7:
digitalWrite(11,LOW);
for (int i =0; i<=7;i++)
digitalWrite (i+2, (sm>>i)&0x01);
delay(5);
digitalWrite(11,HIGH);
break;
case8:
digitalWrite(11,LOW);
for (int i =0; i<=7;i++)
digitalWrite (i+2, (sm>>i)&0x01);
delay(5);
digitalWrite(11,HIGH);
break;
case9:
digitalWrite(11,LOW);
for (int i =0; i<=7;i++)
digitalWrite (i+2, (sm>>i)&0x01);
delay(5);
digitalWrite(11,HIGH);
break;
}
} 。。。。。。。。。。。木注释基本看不下去了。。。 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 ();
}
先大体判断一下问题 請問大神有電路圖嗎?
不然不知道你電路怎麼接的
感謝
页:
[1]