TC264与超声波模块

在龙邱的库上、使用超声波模块。
在这里插入图片描述在这里插入图片描述
根据时序图,只要给Trig引脚一个10us以上的高电平就可以引发模块发出一串超声波脉冲,这个时候只要测得Echo引脚是高电平、就可以开始计时了,当超声波模块接收到返回的高电平时,Echo引脚会被拉低,这时结束定时,根据这段时间就可以计算出距离。
在这里插入图片描述

下面展示一些 关键代码

 while (1)   //主循环
    {
        delayms(25);            //没什么用,超声波多长时间工作一次
        PIN_Write(Trig,1);
        delayus(20);  //拉高延时高于10us
        PIN_Write(Trig,0);
        while(PIN_Read(Echo)==0);
        systick_start(STM1);   //STM定时器
        while(PIN_Read(Echo)==1);
        time=systick_getval_us(STM1); //读取定时器时间
        char txt[13];                 //显示屏显示值
        sprintf(txt, "distant: %07d", distant);
        TFTSPI_P8X16Str(0, 2, txt, u16BLACK, u16WHITE);
        delayms(25);
     }

下面展示一些 初始化

#define Echo P33_10
#define Trig P33_13
 delayms(5000);        //初始化中要延时!否则超声波模块不工作

讨论点:
1.超声波模块应该采集多次求平均值。其中的滤波可以采用多种方法。
2.计算距离用 时间*音速/2就可以算出。


版权声明:本文为zerokingwang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。