蓝桥杯备战——10.超声波模块

1.分析原理图

蓝桥杯单片机板子的原理图做的简直是依托答辩,乱糟糟的不说还弄成黑白的,明明很简单的东西,弄成一大堆。
可以看到,J2跳线帽如果P10接N_A1,P11接N_B1就是用作超声波功能。N_A1用作发生超声波功能,而N_B1用作接收超声波反馈信号,通过R6上拉到VCC,所以分析接收到超声波信号后由高电平变低电平。

在这里插入图片描述

2.程序代码分析

我们首先需要通过P10引脚输出一定频率的方波信号来驱动JS2发出超声波,然后打开定时器计数,直到P11引脚变为低电平,此时关闭定时器,获取计数值后就能计算得到距离。

#include "wave.h"#define Wave_TX P10	//超声波发送引脚
#define Wave_RX P11	//超声波信号接收反馈引脚void Send_Vave()	//发出超声波脉冲
{u8 i=8;while(i--){Wave_TX=1;_nop_();_nop_();_nop_();Wave_TX=0;_nop_();_nop_();_nop_();}
}float Get_Distance()	//返回距离: xx.xx cm
{AUXR &= 0xBF;	//12T模式,1us计数一次TMOD &= 0x0F;TMOD |= 0x10;	//定时器1:16位不自动重载TL1 = 0x00;TH1 = 0x00;TF1 = 0;	//清除TF1标志TR1 = 0;	//定时器1关闭计时Send_Vave();	//发送超声波脉冲TR1=1;	//开始计时while(Wave_RX){	//接收到返回超声波信号Wave_RX=0if(TF1==1) break;	//>65.536ms,超时}TR1=0;	//关闭定时器return (TH1<<8 | TL1)*0.017;	//返回距离
}

3.使用示例

我这里每1S获取一次距离并通过串口发送到电脑,然后用前面封装的数码管显示函数显示出距离
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/448056.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp基于Android平台的古诗词学习挑战系统 微信小程序_b7obw

APP性能需求 &#xff08;1&#xff09;用户在安卓APP页面各种操作可及时得到反馈。 &#xff08;2&#xff09;该平台是提供给多个用户使用的平台&#xff0c;用户使用之前需要注册登录。登录验证后&#xff0c;用户才可进行各种操作[10]。 &#xff08;3&#xff09;管理员用…

单臂路由实验(思科)

一&#xff0c;实验目的 在路由器的一个接口上通过配置子接口的方式&#xff0c;实现相互隔离的不同vlan之间互通。 二&#xff0c;设备配置 Switch1 Switch>enable 全局模式 Switch#configure terminal 配置模式 Switch(config)#vlan 10 …

Acwing---802.区间和

区间和 1.题目2.基本思想3.代码实现 1.题目 假定有一个无限长的数轴&#xff0c;数轴上每个坐标上的数都是 0。 现在&#xff0c;我们首先进行 n 次操作&#xff0c;每次操作将某一位置 x 上的数加 c。 接下来&#xff0c;进行 m次询问&#xff0c;每个询问包含两个整数 l 和…

宝塔上线前后端项目操作

目录 一、上线前端项目 二、上线后端项目 三、域名配置 3.1 前端域名配置 3.2 后端域名配置 四、跨域配置 4.1 网关支持&#xff08;Nginx&#xff09; 4.2 后端配置跨域 一、上线前端项目 (1) 下载nginx (2) 下载tomcat 这步是为了下载java (3) 添加一个站点 (4)…

最近nvm安装报错的原因找到了——npm原淘宝镜像正式到期!

前言 &#x1f4eb; 大家好&#xff0c;我是南木元元&#xff0c;热爱技术和分享&#xff0c;欢迎大家交流&#xff0c;一起学习进步&#xff01; &#x1f345; 个人主页&#xff1a;南木元元 目录 背景 错误原因 问题排查 淘宝镜像 证书到期 问题解决 结语 背景 我们…

EBC金融英国CEO:高波动性周期下,如何寻找市场的稳定性?

利率主导的市场&#xff0c;将在2024年延续。目前&#xff0c;固收市场对于降息的定价&#xff0c;正通过利率传导至不同资产中。尽管市场迫切利用通胀去佐证降息&#xff0c;但各国央行仍囿于通胀目标的政策桎梏。政策和市场预期的博弈将继续牵动市场脉搏&#xff0c;引发价格…

【Vue3】源码探索之旅:compiler-core之parseChildren函数(二)

简言 parseChildren函数是在baseParse函数中作为createRoot函数的子节点参数传入的&#xff0c;今天来探索下parseChildren函数。 parseChildren在 compiler-core/src/parse.ts文件内。 parseChildren 这个函数就是用来解析模板字符串内容的 &#xff0c;里面有个while循环…

elk之基本crud

写在前面 本文看下工作中用的最多的CRUD。让我们一起来做一个帅帅的CRUD BOY吧&#xff01;&#xff01;&#xff01; 1&#xff1a;基本操作 Create 格式1(指定ID)&#xff1a;PUT 索引名称/_create/文档ID {文档json} 格式2&#xff08;不指定ID&#xff09;:POST 索引名称…

SpringMVC请求和响应

文章目录 1、请求映射路径2、请求参数3、五种类型参数传递3.1、普通参数3.2、POJO类型参数3.3、嵌套POJO类型参数3.4、数组类型参数3.5、集合类型参数 4、json数据传递4.1、传递json对象4.2、传递json对象数组 5、日期类型参数传递6、响应6.1、响应页面6.2、文本数据6.3、json数…

【Servlet】——Servlet API 详解

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【Servlet】 本专栏旨在分享学习Servlet的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 一、HttpServlet二、Htt…

Kotlin快速入门系列10

Kotlin的委托 委托模式是常见的设计模式之一。在委托模式中&#xff0c;有两个对象参与处理同一个请求&#xff0c;接受请求的对象将请求委托给另一个对象来处理。与Java一样&#xff0c;Kotlin也支持委托模式&#xff0c;通过关键字by。 类委托 类的委托即一个类中定义的方…

【Chrono Engine学习总结】2-可视化

由于Chrono的官方教程在一些细节方面解释的并不清楚&#xff0c;自己做了一些尝试&#xff0c;做学习总结。 0、基本概念 类型说明&#xff1a; Chrono的可视化包括两块&#xff1a;实时可视化&#xff0c;以及离线/后处理可视化。 其中&#xff0c;实时可视化&#xff0c;又…