打印

MSP430下的超声波测距模块

[复制链接]
1857|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dirtwillfly|  楼主 | 2016-2-14 22:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
模块叫DYP-ME007,一块红色的电路板,引出五个引脚,显得活泼时尚。阅读其技术资料,发现真是简介明了.....
VCC引脚要求接5v,不够5v经验证不能正常工作..TRIG引脚用来主机发出10us的高电平,以驱动模块内部发出超声波,超声波经过反射接受,模块内部自动处理,在ECHO引脚输出一个脉宽和距离成正比的PWM信号.OUT引脚悬空..不知道是用来做什么的...按理说可以检测发出时间和受到波形的时间,然后用声速来计算距离..但是在试验中却发现这个时间几乎是不变的..不知道为什么..大家一起研究哈.. 因为最近在做只能家居,可能各种计时器用的多,所以在这里写了一个不用计时器的.占用两个io口.
#include <msp430x14x.h>
int temp[2],check;
int main( void )
{
int i;
WDTCTL = WDTPW + WDTHOLD;
P2DIR|=0xff;
P2OUT&=~BIT1;
P2DIR&=~BIT2;
_DINT();
BCSCTL1&=~XT2OFF; //采用xt2高频晶振
do {
IFG1&=~OFIFG;
for(i=0xff;i>0;i--);
} while(IFG1&OFIFG);
_EINT();
BCSCTL2|=SELM_2+SELS+DIVS_3; //mclk 与 smclk选择高频
TACTL|=TASSEL_2; //ta选择smclk 8分频
TACTL|=MC_1;
CCR0=10;
//时钟选择高频的可以提高精度
P2OUT|=BIT1;
while(!TACTL&BIT0);
TACTL&=~(TAIFG+MC_1);
P2OUT&=~BIT1; //发送完成10us的高电平

//10us作为一个驱动信号
TACTL|=MC_2; //增计数模式
while(!(P2IN&BIT2)); //此处千万注意,!P2IN&BIT2与!(P2IN&BIT2)的区别...运算符的优先级问题. 要不你一辈子调不成功的
TACTL&=~MC_2; //收到了ECHO信号,先停止时钟,再读
TAR temp[0]=TAR;
if(TAR>10) //经过试验如果收不到ECHO信号,会瞬间返回一个高电平,然后持续一个相对的高电平.
{
//所以用if判断 使程序不进入死循环
TACTL|=MC_2;
while(P2IN&BIT2);
TACTL&=~MC_2;
temp[1]=TAR; //记录高电平结束时的
TAR check=temp[1]-temp[0]; //在此处设置断点以观察结果
}
}

相关帖子

沙发
vivilzb1985| | 2016-2-16 14:01 | 只看该作者
这个肯定是程序中对时间的处理没处理好的,多检查下的。

使用特权

评论回复
板凳
vivilzb1985| | 2016-2-16 14:02 | 只看该作者
这个计时是从发出声波开始到接到返回的声波信号结束的。

使用特权

评论回复
地板
chuntian2016| | 2016-2-16 17:47 | 只看该作者
不用计时器的怎么做的?时间需要计数的啊。。

使用特权

评论回复
5
可可球| | 2016-2-16 21:58 | 只看该作者
感谢版主分享,超声波测距模块中心频率是多少,40K的吗

使用特权

评论回复
6
shenmu2012| | 2016-2-18 12:01 | 只看该作者
不用定时器的,控制起来是不是不太方便了?

使用特权

评论回复
7
comeon201208| | 2016-2-19 10:09 | 只看该作者
这个没有读取该超声波模块的时间间隔的是不可以的吧,或者是该模块自身就具备都区功能的话就不需要单片机有相关的设置即可。

使用特权

评论回复
8
angerbird| | 2016-2-19 17:10 | 只看该作者
你这个增计数的最终目的还是为了计时的么

使用特权

评论回复
9
smilingangel| | 2016-2-20 20:57 | 只看该作者
这个就有点不太知道楼主的问题所在了。。

使用特权

评论回复
10
tongbu2015| | 2016-2-20 21:15 | 只看该作者
超声波测距是常见的测距方式的,支持。

使用特权

评论回复
11
zhangbo1985| | 2016-2-22 18:29 | 只看该作者
模块叫DYP-ME007,一块红色的电路板,引出五个引脚,,这个应用的不算复杂的。

使用特权

评论回复
12
309030106| | 2016-2-22 19:05 | 只看该作者
超声波返回的是什么量,模拟量吗

使用特权

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

本版积分规则

个人签名:欢迎进入TI MCU论坛      21ic TI技术交流1群:61549143(已满),  21ic TI技术交流2群:311421422 我的博客:http://blog.timcu.com/

1180

主题

34818

帖子

1116

粉丝