ǰλãҳ > 基于DS18B20的温度采集显示系统的设计 - 百度文库
γֽ
ow_reset(); //תһ
write_byte(0xcc);//skip ROM write_byte(0x44);//ת
for(h=0;h<500;h++)//ʾ8888 {scan();}
display[0]=0;display[1]=0;display[2]=0;display[3]=0; flag2=0;
while(1) { if(flag==0 && flag2>1)
//¶ʾ
{
LED1=0; if(display[1]+display[2]*10>=sheding) //Ƚ {
ALERT=1; // } else { ALERT=0;
}
}
if(flag==0 && flag2>1) { read_temp(); //¶ work_temp(); //¶
ge= display[3];
shi= display[2];
15 ҳ
γֽ
}
if(K1==0) {
flag2++; //flag2=0ʱΪʼ flag2=1ʱΪ趨
if(flag2>1) flag2=2;
if(flag==0)
flag=1;
//flag=0 ʱ ¶ʾ flag=1 趨ʾ
else if(flag==1) flag=0;
LED=~LED; key_delay(20); if(flag==1) {
sheding=30; ge=0; shi=3;
// display[0]= ge; // λ趨õ¶ʾ
// display[2] =shi; //ʮλ
}
}
if(flag==1) {
LED1=1; if(K2==0) //++
16 ҳ
γֽ
{ ge++; if(ge>9) { ge=0; shi++; if(shi>9) shi=0;
}
sheding=ge+shi*10; key_delay(20);
}
if(K3==0) //-- { ge--; if(ge<0) { ge=9; shi--; if(shi<0) shi=9; }
sheding=ge+shi*10;
key_delay(20);
}
display[1]= ge;
display[2] =shi; // }
// λ趨õ¶ʾ
ʮλ
17 ҳ
γֽ
for(h=0;h<500;h++) //ʾ¶ { scan();
}
} }
4.2ӳ
4.2.1 DS18B20λӳ
ͼͼ4-2ʾ DQ1 DQ0 ʱ573us DQ1 ʱȴDS18B20Ӧ N DQ=0? Y FLAG11 FLAG10 ʱ DQ1 18 ҳ
92ƪĵ