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

2.超声波测距模块

1.简介

 

2.超声波的时序图 

3.基于51单片机实现的代码 

#include "reg52.h"
#include "intrins.h"
sbit  led1=P3^7;//小于10,led1亮,led2灭
sbit  led2=P3^6;//否则,led1灭,led2亮
sbit  trig=P1^5;
sbit  echo=P1^6;
void Delay10us()		//@11.0592MHz
{unsigned char i;i = 2;while (--i);
}
void Delay200ms()		//@11.0592MHz
{unsigned char i, j, k;_nop_();i = 2;j = 103;k = 147;do{do{while (--k);} while (--j);} while (--i);
}
void Timer0Init(void)		//100微秒@11.0592MHz
{TMOD &= 0xF0;		//设置定时器模式TMOD |= 0x01;		//设置定时器模式TL0 = 0;		//设置定时初值TH0 = 0;		//设置定时初值//	TR0 = 1;		//定时器0开始计时
}
void startHC()
{trig=0;trig=1;Delay10us();trig=0;
}
void main()
{double time;double dis;Timer0Init();while(1){Delay200ms();//因为没有晶振,需要延时200msstartHC();//超声波初始化while(echo==0);TR0 = 1;//开启定时器,记录高电平时长while(echo==1);TR0 = 0;//关闭定时器time=(TH0*256+TL0)*1.085;//1.085微秒dis=time*0.017;//转化为微秒/cmif(dis<10){led1=0;led2=1;}else{led1=1;led2=0;}TL0 = 0;		//重新设置定时初值,方便下一次测距TH0 = 0;}
}

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

相关文章:

  • C语言之常用标准库介绍
  • Spring响应式编程之Reactor核心接口
  • 【HTTPS云证书部署】SpingBoot部署证书
  • React的状态提升和组合
  • 示例:推荐一个基于第三方开源控件库DataGridFilter封装的FilterColumnDataGrid,可以像Excel拥有列头筛选器
  • Python: create object
  • OpenSSL命令手册
  • [面试题]MongoDB
  • 【Qt笔记①】帮助文档、窗口、按钮、信号和槽、lambda表达式
  • 【pytorch05】索引与切片
  • ECharts 蓝色系-荧光图标折线图01案例
  • 使用消息中间件实现系统间的异步通信和解耦
  • 【QML】用 Image(QQuickPaintedItem) 显示图片
  • C++抽象类
  • 计算机网络 —— 应用层(DHCP)
  • Linux ComfyUI安装使用;Stable Diffusion 3使用
  • JavaScripts数组里的对象排序的24个方法
  • Mongodb介绍及window环境安装
  • Spring响应式编程之Reactor核心组件
  • 动手学深度学习(Pytorch版)代码实践 -计算机视觉-37微调
  • 视频监控平台:支持交通部行业标准JT/T905协议(即:出租汽车服务管理信息系统)的源代码的函数和功能介绍及分享
  • 【jenkins1】gitlab与jenkins集成
  • 边缘计算设备有哪些
  • C++初学者指南第一步---7.控制流(基础)
  • MFC学习--CListCtrl复选框以及选择
  • 如何与PM探讨项目
  • 今年618各云厂商的香港服务器优惠活动汇总
  • Android平台下VR头显如何低延迟播放4K以上超高分辨率RTSP|RTMP流
  • WHAT - NextJS 系列之 Rendering - Server Components
  • Web项目部署后浏览器刷新返回Nginx的404错误对应解决方案