程序看得我都头大,高手进。
时间:10-02
整理:3721RD
点击:
void main()
{
int i;
int lin1,lin2;//温度临时存放值
ji1=1;
ji2=1;
feng=1;
ds18b20_start();
lcd_init();
delayms(10);
while(1)
{
key_scan();
if(flag)
{
i=ds18b20_temperature();
if(i&0x8000)
{
i=~i;
i=i+1; flag_f=1;
}
else flag_f=0;
temph=i>>4;
templ=i&0x0f;
templ=(uchar)(templ*0.63);
lcd_write_com(0x80+8);
if(flag_f)
lcd_write_date('-');
else
lcd_write_date('+');
lcd_write_date(temph/10+0x30);
lcd_write_date(temph%10+0x30);
lcd_write_date('.');
lcd_write_date(templ+0x30);
delayms(10);
if(hf=='+')lin1=(hs*10+hg)*16+hd;
else lin1=((hs*10+hg)*16+hd)*(-1);
if(lf=='+')lin2=(ls*10+lg)*16+ld;
else lin2=((ls*10+lg)*16+ld)*(-1);
if(i>=lin1){d2=~d2;d1=1;d3=1;ji1=0;ji2=1;feng=~feng;}
if(i<=lin2){d1=1;d2=1;d3=~d3;ji1=1;ji2=0;feng=~feng;}
if((i<lin1)&&(i>lin2)){d1=0;d2=1;d3=1;ji1=1;ji2=1;feng=1;}
}
}
}
谁给解释一下这段程序的意思,特别是flag作为标志位的用法。国庆不能玩,纠结程序好久了,求大神指导,给跪了。
{
int i;
int lin1,lin2;//温度临时存放值
ji1=1;
ji2=1;
feng=1;
ds18b20_start();
lcd_init();
delayms(10);
while(1)
{
key_scan();
if(flag)
{
i=ds18b20_temperature();
if(i&0x8000)
{
i=~i;
i=i+1; flag_f=1;
}
else flag_f=0;
temph=i>>4;
templ=i&0x0f;
templ=(uchar)(templ*0.63);
lcd_write_com(0x80+8);
if(flag_f)
lcd_write_date('-');
else
lcd_write_date('+');
lcd_write_date(temph/10+0x30);
lcd_write_date(temph%10+0x30);
lcd_write_date('.');
lcd_write_date(templ+0x30);
delayms(10);
if(hf=='+')lin1=(hs*10+hg)*16+hd;
else lin1=((hs*10+hg)*16+hd)*(-1);
if(lf=='+')lin2=(ls*10+lg)*16+ld;
else lin2=((ls*10+lg)*16+ld)*(-1);
if(i>=lin1){d2=~d2;d1=1;d3=1;ji1=0;ji2=1;feng=~feng;}
if(i<=lin2){d1=1;d2=1;d3=~d3;ji1=1;ji2=0;feng=~feng;}
if((i<lin1)&&(i>lin2)){d1=0;d2=1;d3=1;ji1=1;ji2=1;feng=1;}
}
}
}
谁给解释一下这段程序的意思,特别是flag作为标志位的用法。国庆不能玩,纠结程序好久了,求大神指导,给跪了。
