51超声波测距模块代码
时间: 2023-09-15 22:23:11 浏览: 215
以下是51单片机使用超声波测距模块的代码:
```c
#include <reg51.h>
sbit Trig = P1^0;
sbit Echo = P1^1;
unsigned int distance;
void delay(unsigned int us)
{
while(us--);
}
void UltrasonicWave()
{
unsigned int temp=0;
Trig = 1;
delay(10);
Trig = 0;
while(!Echo);
while(Echo)
{
temp++;
delay(10);
if(temp>500) break;
}
distance = temp * 1.7;
}
void main()
{
while(1)
{
UltrasonicWave();
}
}
```
在上述代码中,Trig和Echo引脚分别连接到P1.0和P1.1。使用超声波测距模块的原理是,先向Trig引脚发送一个高电平信号,持续时间为10us,然后Trig引脚自动变为低电平。此时,模块会发出8个40KHz的超声波脉冲,同时Echo引脚输出高电平,表示模块已经发出了超声波。当超声波遇到障碍物时,会被反射回来,Echo引脚也会变为低电平,此时可以通过计算高电平持续的时间来计算出超声波的往返时间,从而得到距离。在这里,我们通过计算高电平持续的时间和一个系数1.7来得到了距离。整个过程会不断循环,实时监测距离的变化。
阅读全文