本帖最后由 nmgz 于 2016-6-3 10:35 编辑
为什么我的超声波测距误差大呢,30CM之内比实际值要小2CM,要是100CM以上,差7CM还多呢?用的是HC-SR04,最常见的模块,STC89C52,晶振11.0592,请大神指点!
部分主程序
while (1)
{
StartModule();
while(!ECHO); //当RX为零时等待,为1跳出开始计时
TR0=1; //开启计数
while(ECHO); //当RX为1计数并等待
TR0=0; //关闭计数
S=Conut(); //计算
//printf("the distance is %3f",S);
ES=0;
SBUF=S;
while(!TI);
TI=0;
}
|