标题: 超声波测距量程是2cm-4m,那>40000和>600怎么算出来的 [打印本页]

作者: zlc哈哈哈    时间: 2018-5-17 10:47
标题: 超声波测距量程是2cm-4m,那>40000和>600怎么算出来的
/*********************超声波测距程序*****************************/
void send_wave()
{
        c_send = 1;                           //10us的高电平触发
        delay();
        c_send = 0;         
        TH0 = 0;                          //给定时器0清零
        TL0 = 0;
        TR0 = 0;                                  //关定时器0定时
        while(!c_recive);                  //当c_recive为零时等待
        TR0=1;
        while(c_recive)                      //当c_recive为1计数并等待
        {
                flag_time0 = TH0 * 256 + TL0;
                if((flag_time0 > 40000))      //当超声波超过测量范围时,显示3个888
                {
                        TR0 = 0;
                        flag_csb_juli = 2;
                        distance = 888;
                        break ;               
                }
                else
                {
                        flag_csb_juli = 1;       
                }
        }
        if(flag_csb_juli == 1)
        {       
                TR0=0;                                                         //关定时器0定时
                distance = flag_time0;
                distance *= 0.017;               // 0.017 = 340M / 2 = 170M = 0.017M 算出来是米
                if(distance > 600)                                 //距离 = 速度 * 时间
                {       
                        distance = 888;                                 //如果大于3.8m就超出超声波的量程
                }
        }  
}


作者: zhanghyg    时间: 2018-5-17 15:47
那个40000你可以当做是时间,0.017是速度,相乘得距离680
作者: zlc哈哈哈    时间: 2018-5-17 17:23
那400000这个具体时间怎么算出来的呢
作者: zhanghyg    时间: 2018-5-18 15:26
zlc哈哈哈 发表于 2018-5-17 17:23
那400000这个具体时间怎么算出来的呢

这不是算出来的,是做实验测出来的




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1