当前位置: 首页 > news >正文

2025蓝桥杯(单片机)备赛--扩展外设之超声波测距原理与应用(十一)

1  超声波测距原理

接收器接到超声波的时间差。超声波发射器想某一方向发射波,再发射时刻开始计时 超声波在空气中传播,遇到障碍物则返回,超声波接收器收到反射波,立即停止计时。

s=340*t/2;

SOR4原理: 通过IO口(TRIG)产生一个大于10us的方波,模块自动发送8个40khz方波,自动检测有无信号返回 当接受到返回信号时,ECHO输出一个低电平,由此可得高电平持续时间即为一来一回的时间 12us延时使用ISP生成,12US符合12MHZ (测量周期大于66mS)。

代码实现:

通过P10产生方波,产生8个方波(>10us),即可产生64个40kHZ的方波,更加准确 P10=1;DELAY;P10=0;DELAY;

P10产生方波TRIG触发后,开始计时,使用T1,初始化TH1,TL1,使能TR1即可 等到ECHO为 低时,结束计时(TR=0;)

开始计算,(340*t/2x1000)t的单位是us,单位统一的话要化为s,速度为cm/s

说明:由图可知,P10是Trig,P11是THR。

 2  产生12us方波代码

void Delay12us()        //@12.000MHz
{unsigned char i;_nop_();_nop_();i = 33;while (--i);
}
void Send_Wave(void)
{unsigned char i=0;for(i=0;i<8;i++){P10=1;Delay12us();P10=0;Delay12us();}
}

获得距离代码:

注意:返回值是16位的

u16 Get_Distance(void)
{u16 dist=0;Send_Wave();TH1=0;TL1=0;//先置0,在开启定时器,计数,发的方波足够多,更准确。TR1=1;while(P11==1);TR1=0;dist=(TH1<<8)|TL1*0.017;//d= (340*100)*(t*10^-6)/2;单位是cm和usreturn dist;
}

2025蓝桥杯(单片机)备赛--扩展外设之NE555的使用及定时器1的详细讲解(十)_蓝桥杯ne555-CSDN博客

2025蓝桥杯(单片机)备赛--扩展外设之DS1302的使用(九)-CSDN博客

2025蓝桥杯(单片机)备赛--扩展外设之I2C的重要应用--PCF8591(八)-CSDN博客

2025蓝桥杯(单片机)备赛--扩展外设之I2C的重要应用--AT24C02(七)-CSDN博客

2025蓝桥杯(单片机)备赛--扩展外设控制之DS18B20(六)-CSDN博客

2025蓝桥杯(单片机)备赛--基本外设控制之共阳数码管(四)-CSDN博客

2025蓝桥杯(单片机)备赛--基本外设控制之继电器和蜂鸣器(三)-CSDN博客

2025蓝桥杯(单片机)备赛--基本外设控制之LED(二)_2024蓝桥杯单片机资料-CSDN博客

2025蓝桥杯(单片机)备赛--基本框架搭建(一)_蓝桥杯单片机大赛-CSDN博客

http://www.lryc.cn/news/488214.html

相关文章:

  • 分布式数据库中间件可以用在哪些场景呢
  • MyBatis-Plus分页插件IPage用法
  • 使用MATLAB进行遗传算法设计
  • mindtorch study
  • java八股-SpringCloud微服务-Eureka理论
  • 2024信创数据库TOP30之蚂蚁集团OceanBase
  • 查找redis数据库的路径
  • DrugLLM——利用大规模语言模型通过 Few-Shot 生成生物制药小分子
  • 【蓝桥杯C/C++】翻转游戏:多种实现与解法解析
  • 【AI系统】核心计算之矩阵乘
  • Vue.js 自定义指令:从零开始创建自己的指令
  • 策略模式
  • 性能优化--CPU微架构
  • 在 Sanic 框架中实现高效内存缓存的多种方法
  • Mac 环境变量配置基础教程
  • Qt如何屏蔽工具栏(QToolBar)自动折叠功能
  • 【数据分享】中国统计摘要(1978-2024)
  • unity运行状态下移动、旋转、缩放控制模型
  • 《 C++ 点滴漫谈 一 》C++ 传奇:起源、演化与发展
  • Github客户端工具github-desktop使用教程
  • 自然语言处理:第六十三章 阿里Qwen2 2.5系列
  • springboot中设计基于Redisson的分布式锁注解
  • C++初阶学习第十一弹——list的用法和模拟实现
  • 共享单车管理系统项目学习实战
  • 详细解读TISAX汽车信息安全评估
  • gitlab cicd搭建及使用笔记(二)
  • 鸿蒙实战:页面跳转传参
  • Spring Security SecurityContextHolder(安全上下文信息)
  • 蓝队技能-应急响应篇日志自动采集日志自动查看日志自动化分析Web安全内网攻防工具项目
  • Python JSON 数据解析教程:从基础到高级