不懂紅色部分,求大神解答,謝謝
#include<reg52.h>
#include<math.h>
#define uchar unsigned char
sbit trig=P0^3;
sbit echo=P0^2;
void main()
{ float a,b1,c1,k;int b,c,i,j; char x[9];
echo=1;
TMOD=0X21;
TH1=0XFd;
TL1=0XFd;
TR1=1;
SCON=0X50;
while(1)
{ TH0=0X00;TL0=0X00;
trig=1;
k++;k++;k++; k++; k++; k++;k++;
trig=0;
while(!echo);
TR0=1;
while(echo);
a=TH0*256+TL0;
a=a*12*17;
TR0=0;
a=(a/11059.2)+0.7; //以上為超聲波測距,能明白
c1=modf(a,&b1);
b=(int)(b1);
c=(int)(1000*c1);
x[0]=0x30+b/100;
x[1]=0x30+b/10-10*(b/100);
x[2]=0x30+b-10*(b/10);
x[3]=0x2e;
x[4]=0x30+c/100;
x[6]=0x30+c/10-10*(c/100);
x[7]=0x30+c-10*(c/10);
x[8]='\0';
for(i=0;i<9;i++)
{ if((x[ i]==0x30)&&(i<2))
{ if(!(x[0]==0x30))
{ SBUF=x[ i];
while(!TI);
TI=0;
}
else
{ SBUF=0x20;
while(!TI);
TI=0;
}
}
else { SBUF=x[ i];
while(!TI);
TI=0;
}
}
for(i=0;i<110;i++)
for(j=0;j<114;j++);
}
}
|