標(biāo)題: 超聲波測距老超量程 [打印本頁]

作者: zlc哈哈哈    時間: 2017-11-28 14:51
標(biāo)題: 超聲波測距老超量程

/*********************超聲波測距程序*****************************/
void send_wave()
{
        c_send = 1;                           //10us的高電平觸發(fā)
        delay();
        c_send = 0;         
        TH0 = 0;                          //給定時器0清零
        TL0 = 0;
        TR0 = 0;                                  //關(guān)定時器0定時
        while(!c_recive);                  //當(dāng)c_recive為零時等待
        TR0=1;
        while(c_recive)                      //當(dāng)c_recive為1計數(shù)并等待
        {
                flag_time0 = TH0 * 256 + TL0;
                if((flag_time0 > 40000))      //當(dāng)超聲波超過測量范圍時,顯示3個888
                {
                        TR0 = 0;
                        flag_csb_juli = 2;
                        distance = 888;
                        break ;               
                }
                else
                {
                        flag_csb_juli = 1;       
                }
        }
        if(flag_csb_juli == 1)
        {       
                TR0=0;                                                         //關(guān)定時器0定時
                distance = flag_time0;
                distance *= 0.017;               // 0.017 = 340M / 2 = 170M = 0.017M 算出來是米
                if(distance > 600)                                 //距離 = 速度 * 時間
                {       
                        distance = 888;                                 //如果大于3.8m就超出超聲波的量程
                }
        }  
}
以上我的測距程序,不知道哪里錯了,老超量程,求指導(dǎo)

TIM圖片20171128105814.png (26.87 KB, 下載次數(shù): 82)

TIM圖片20171128105814.png





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1