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

超声波测距

超声波模块如上图所示,有4个引脚,VCC, GND, Trig, Echo。

时序如下:当Trig给一个10us的脉冲,超声波信号开始发出,同时,Echo变为高电平,当Echo回到低电平时,测距完成,所以只需要在Echo高电平时开启定时器,在Echo回低电平的时候测时间,然后通过时间测距。

代码如下:

#include <REGX52.H>
#include <INTRINS.H>sbit Trig = P2^0;
sbit Echo = P2^1;void Delay10us()		//@12.000MHz
{unsigned char i;_nop_();i = 2;while (--i);
}void Timer0_Init(void)		
{TMOD &= 0xF0;			//设置定时器模式TMOD |= 0x01;			//设置定时器模式TL0 = 0;				//设置定时初始值TH0 = 0;				//设置定时初始值TF0 = 0;				//清除TF0标志TR0 = 0;				//定时器0开始计时
}void Timer_state(unsigned char flag)
{TR0 = flag;
}void Timer_counter(unsigned int value)
{TL0 = value%256;TH0 = value/256;
}unsigned int get_Time()
{unsigned int Time;Time = (TH0<<8) | TL0;return Time;
}unsigned int get_distance()
{unsigned int time,distance;Trig = 1;Delay10us();Trig = 0;while(Echo == 0);Timer_counter(0);Timer_state(1);while(Echo == 1);time = get_Time();Timer_counter(0);Timer_state(0);distance = (int)time * 0.017;return distance;
}

http://www.dtcms.com/a/431722.html

相关文章:

  • 公司网站建设收费惠州市网站建设
  • 彩票的网站怎么做的太原关键词优化软件
  • 做的网站需要什么技术wordpress好用的编辑器插件
  • 数字信号处理 第一章(离散时间信号与系统)【上】
  • 【视觉】使用 mediamtx 怎么支持多个rtsp播放
  • 懂得网站推广东莞市建设安监局网站首页
  • 数据结构与算法9:查找
  • 免杀技术中的shell之 webshell shellcode
  • 网站的系统帮助免费下载教学设计的网站
  • 怎么弄网站朝阳区规划网站
  • 使用 Git Submodule 管理微服务项目:从繁琐到高效
  • OSPF ExStart 状态 概念及题目
  • 如何网站建设 需要详细的步骤长春建站免费模板
  • 北京微信网站建设费用网络设计主要是干什么的
  • 网站互联网推广营销云产品
  • Python题目:日期与数字补零
  • Week09-Clustering聚类k-mean
  • [Windows] 视频画质修复软件v3.0
  • 投资网站源码怎样创建音乐网站
  • 搭建网站的价格wordpress套模板教程
  • ECDSA 数字签名简介与 jsjiami 的结合使用探讨
  • WEB小游戏开发之数独游戏项目说明
  • 什么是跨域?跨域怎么解决?跨域解决的是什么问题?
  • 西昌规划和建设局网站浙江省外贸公司排名
  • 济南高端网站设计策划河北汉佳 做网站的公司
  • Java-Spring入门指南(十五)SpringMVC注解开发
  • 美妆企业网站模板企业做网站的好处有哪些
  • 用asp.net制作一个网站需要多久网站尺寸
  • 从什么网站可以做兼职微信网站制作平台
  • OSPF default-route-advertise 概念及题目