超声波测距模块:HS-SR04。测距的时候,无论朝那个方向,显示的距离都在一个数值附近微小变动。

数码管显示模块肯定没有问题,下面是测距模块代码,感觉也没有问题。是不是HS-SR04坏了呢。//接线:模块TRIG接P1.2ECH0接P1.1/*************... 数码管显示模块肯定没有问题,下面是测距模块代码,感觉也没有问题。是不是HS-SR04坏了呢。

//接线:模块TRIG接 P1.2 ECH0 接P1.1
/****************************************************************************************************/
#include <AT89x51.H> //器件配置文件
#include <intrins.h>
#define RX P1_1
#define TX P1_2
unsigned int time=0;
unsigned int timer=0;
unsigned long S=0;
bit flag =0;
/********************************************************

/********************************************************/
int Count(void)
{
time=(TH0*256+TL0)/(12/11.0592);
TH0=0;
TL0=0;
S=(time*1.7)/100; //算出来是CM
if((S>=700)||flag==1) //超出测量范围显示“0”
{
flag=0;
S = 0;

}
return S;
}
/********************************************************/
void zd0() interrupt 1 //T0中断用来计数器溢出,超过测距范围
{
flag=1; //中断溢出标志
}
/********************************************************/
void zd3() interrupt 3 //T1中断用来计800MS启动模块
{
TH1=0xf8;
TL1=0x30;
timer++;
if(timer>=400)
{
timer=0;
TX=1; //800MS 启动一次模块
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
TX=0;
}
}
/*********************************************************/
void main(void) //主函数
{
unsigned int dis; //距离
TMOD=0x11; //设T0为方式1,GATE=1;
TH0=0;
TL0=0;
TH1=0xf8; //2MS定时
TL1=0x30;
ET0=1; //允许T0中断
ET1=1; //允许T1中断
TR1=1; //开启定时器
EA=1; //开启总中断
while(!RX);//当RX为零时等待
TR0=1; //开启计数
while(RX);//当RX为1计数并等待
TR0=0;//关闭计数
dis = Count();//计算
展开
 我来答
大禹电子
高粉答主

2013-03-30 · 超声波是我一生的事业
大禹电子
采纳数:6297 获赞数:18368

向TA提问 私信TA
展开全部
测距有细微的波动,在超声测距里面是非常正常的。
更多追问追答
追问
问题是:无论朝着那个方向,测的的距离都没多少变化,应该有很大的变化才对啊
追答
那你要先查查硬件,看看出来的信号有没有变化,如果信号是正常的,然后再看软件的问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
艾因蒂克
2024-11-28 广告
超声阵列探头是艾因蒂克科技(上海)有限公司在超声检测领域的一项重要技术产品。它采用先进的阵列设计,能够显著提高超声检测的精度和效率。该探头通过多个超声传感器的协同工作,实现对被检测物体的全方位、多角度扫描,从而更准确地发现物体内部的缺陷和问... 点击进入详情页
本回答由艾因蒂克提供
青川小舟
2013-03-30 · TA获得超过1514个赞
知道小有建树答主
回答量:1294
采纳率:87%
帮助的人:435万
展开全部
调试一下:1、在附近放挡板,看显示距离是否与原来有所不同?2、改变挡板距离,显示距离是否跟着变化?
如果没有变化,那模块一定出了问题。
更多追问追答
追问
贴在墙上放置,显示还是没有多少变化
追答
贴在墙上?那距离太近了会影响模块正常工作的哦。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式