打印

超声波盲区居然有15cm,求助

[复制链接]
2788|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
大侠们,我根据网上资料自己做了一个超声波测距仪。目前可以测量的范围是14.5~240cm,程序如下:
#include<reg51.h>
#define uchar unsigned char
sbit P3_0=P3^0;
sbit P3_1=P3^1;
sbit P3_2=P3^2;
sbit P3_3=P3^3;
sbit P3_5=P3^4;
sbit P3_4=P3^5;

sfr P3M1= 0xb1;
sfr P3M0= 0xb2;
uchar k;
void delay(uchar x)
{
uchar a,b;
for(a=0;a<80;a++)
  for(b=0;b<x;b++)
  {
  ;
  }
}

//   void  exint0() interrupt 0
//  {
//  k--;
//  }



  
void main()
{
uchar i,j;
P3M1=0x00;
P3M0=0x03;

P3_2=1;
P3_3=0;
P3_4=1;
P3_5=0;

while(1)
{
   P3M1=0x00;
  if(P3_4==1)
  {
哪位大侠懂得的请指导下,调试了三天了,还是没解决。愁死了。谢谢!

相关帖子

沙发
chunyang| | 2013-3-16 17:56 | 只看该作者
用示波器看超声波换能器的余振时间,如果确实是这么长的时间,改进发射电路,如果不是则说明是你的程序问题。

使用特权

评论回复
板凳
linfeng24|  楼主 | 2013-3-16 18:57 | 只看该作者
chunyang 发表于 2013-3-16 17:56
用示波器看超声波换能器的余振时间,如果确实是这么长的时间,改进发射电路,如果不是则说明是你的程序问题 ...

为什么要看余振时间啊?我没算上这个时间,我的发射电路就是IO口输出40kHz的脉冲,现在是盲区太大,不是距离不够的问题。求斑竹帮忙看看程序行吗?谢谢了O(∩_∩)O~

使用特权

评论回复
地板
youimiss| | 2013-3-16 22:26 | 只看该作者
盲区是由于接收到余振造成的

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
linfeng24 + 1 赞一个!
5
youimiss| | 2013-3-18 13:25 | 只看该作者
我也在做这个东西,加个QQ交流下呗1391132956

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
linfeng24 + 1 赞一个!
6
XZL| | 2013-3-18 14:47 | 只看该作者
与电路的硬件有关,也就是楼上说的余振。不够也可以通过技巧来改善!
如果你发固定个数的发射信号,当发现进入盲区后,可以通过减少发送信号的个数来改善盲区的影响。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

103

主题

2328

帖子

8

粉丝