崔老师,我想请教一下:如何在超声测距时,一发射就计时,一接收就停止呢?

如题所述

这让我怎么说呢?前面和后续的问题还有很多啊。
首先你得确定已经做到了以下几个方面:
1、MCU工作正常;
2、超声波发射和接收电路工作正常;
3、超声波接收的信号已连接到MCU的IO口(这里我们叫它SR吧,下同);
以上3点都确定做到了以后,用程序做到以下事:
1、用程序,在超声波发射以后,对一个int16的变量L置0;
2、接着写一个循环,循环里不停的检测SR,当发现SR有回波信号时(同时L>A,常数A的解释在下面),立即将TST置为高电平,接着退出循环。
3、此时的L,就是距离,当然他的单位不是毫米,也不是厘米,它需要乘以一个系数。(这是后话,在此就不细说了)
上电测试,用示波器同时检测TST和SR脚,看看是否是你想要的结果,如果TST在一开始就是高电平,则应加大常数A的值;当目标近到一定距离就无法正确检测时,应减少A的值。其实A代表的就是《盲区》。虽然你还没问到盲区这个问题,但这是每个超声波程序都需要处理的。确定盲区以后,A的大小在你的电路和程序中是可以是固定不变的。
如果TST和SR的对应正常,那么这就是你要的效果,也是初写超声波程序必要的一个环节。来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
相似回答