simon_leung 发表于 2013-3-18 09:49:15

关于超声波发送频率问题

本帖最后由 simon_leung 于 2013-3-18 11:14 编辑

在论坛上看了很多资料,相信大家都是用的40kHz的探头,但问题是:大家的发送周期好像都不太一样。

1:有的在每次取反波形输出脚时,就用
times = 8;
while(times--)
{
        out = ~out;
        while(i--);
}
的方法,但大家i 的值预设都不一样,有的3有的5什么的,这方法while(i--)好像运行一次延时挺久的;
2:有的直接用
while(times--)
{
        out = ~out;
}
这个方法我用反汇编看了一下,好像也延时15us取反一次,周期就变成了30us了,算下来也不是40kHz。这个 我是用单片机是stc89c52rc,12mhz测的。

请问大家是怎么计算精确延时的?

simon_leung 发表于 2013-3-18 11:10:46

本帖最后由 simon_leung 于 2013-3-18 11:13 编辑

自己顶一下。

刚又试验了一下,第2种方法
while(times--)
{
        out = ~out;
        _nop_();
        _nop_();
        _nop_();
        .
        .
        .
        .
        100个(_nop_();)
        .
        .
        _nop_();
}
这样好像也不形响接收,就是说,一样可以接收到波形,检测得出来

接收电路是这样的:

simon_leung 发表于 2013-3-18 14:30:50

自己顶一下

simon_leung 发表于 2013-3-19 08:52:40

我再顶{:sad:}

aysyjgw 发表于 2013-3-19 09:05:57

超声波换能器的驱动电路没做过,前几天正好有个项目用到,不过后来项目取消了,没研究
页: [1]
查看完整版本: 关于超声波发送频率问题