标题:
超声波测距老超量程
[打印本页]
作者:
zlc哈哈哈
时间:
2017-11-28 14:51
标题:
超声波测距老超量程
/*********************超声波测距程序*****************************/
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就超出超声波的量程
}
}
}
以上我的测距程序,不知道哪里错了,老超量程,求指导
TIM图片20171128105814.png
(26.87 KB, 下载次数: 82)
下载附件
2017-11-28 14:49 上传
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1