超声波HC-SR04的程序问题

关于超声波模块HC-SR04的程序问题

超声波HCSR04测距, WHILE(1)循环问题

最近在用52单片机学做倒车雷达,程序上遇到了问题导致真实测距不准,求大佬们指点指点!

我用了外部中断的方法来计算高电平时间,但是如果打开while(!Echo)以后系统就死了,关闭整个测距程序正常运行,但会有8CM的误差。相关的程序如下:

void  getdistance()
{  
 EA=1;
 EX0=1;
 IT0=1;
 TF0=0;
  TH0=0;
  TL0=0;
  ET0=1;
  openHC();
  //while(!Echo);
  TR0=1;       //???????
     delay(20) ; 
  TR0=0;
  EX0=0;   
}

void TO2() interrupt 0
{ 
  
  timeH1=TH0;
  timeL1=TL0;
  TH0=0;
  TL0=0;
  flag=1;
  
 
}
void timer0() interrupt 1
{
     TH0=0;
        TL0=0;
}

你可能感兴趣的:(超声波HC-SR04的程序问题)