找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3114|回复: 1
收起左侧

超声波模块的stm32f407驱动源码

[复制链接]
ID:308592 发表于 2018-7-15 15:23 | 显示全部楼层 |阅读模式
输入捕获得时间,超声波300m/s  s=v*t/2

单片机源程序如下:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"
  5. #include "us_100.h"

  6. //串口触发方式
  7. //
  8. //输入捕获实验更改得到,
  9. //Trig 接  PF(1)它初始化在LED.c中
  10. //Echo 接  PA(0)----TIM5-Ch1
  11. // VCC 2.4-5.5V
  12. // GND

  13. extern u8  TIM5CH1_CAPTURE_STA;                //输入捕获状态                                                   
  14. extern u32        TIM5CH1_CAPTURE_VAL;        //输入捕获值  

  15. int main(void)
  16. {
  17.         float temp=0;  
  18.         u8 complete = 1;                                  //一次采集完成标志
  19.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
  20.         delay_init(168);  //初始化延时函数
  21.         uart_init(115200);//初始化串口波特率为115200
  22.         LED_Init();
  23.         TIM5_CH1_Cap_Init(0XFFFFFFFF,84-1); //以1Mhz的频率计数 timer5是32位的。
  24.        
  25.            while(1)
  26.         {
  27.                 if(complete == 1)
  28.                 {
  29.                         Trig = 1;LED0 = 1;
  30.                         delay_us(15);
  31.                         Trig = 0;
  32.                         complete = 0;
  33.                 }
  34.                 while(complete == 0)
  35.                 {
  36.                         if(TIM5CH1_CAPTURE_STA&0X80)        //成功捕获到了一次高电平
  37.                         {
  38.                                 temp=TIM5CH1_CAPTURE_STA&0X3F;
  39.                                 temp*=0XFFFFFFFF;                                          //溢出时间总和
  40.                                 temp+=TIM5CH1_CAPTURE_VAL;                   //得到总的高电平时间
  41.                                 temp = temp * 17/1000; //得到距离
  42.         LED0 = ! LED0;               
  43.                                 printf("HIGH:%f cm\r\n",temp); //打印距离
  44.                                 TIM5CH1_CAPTURE_STA=0;                             //开启下一次捕获
  45.                                 complete = 1;
  46.                         }
  47.                 }
  48.         }
  49. }
复制代码

所有资料51hei提供下载:
超声波模块.rar (457.94 KB, 下载次数: 72)



回复

使用道具 举报

ID:381157 发表于 2018-8-16 13:45 | 显示全部楼层
你好,请问超声波模块用的是HC-SR04吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表