hc-sr04超声波测距模块 90c54代码
时间: 2023-09-24 07:09:45 浏览: 75
HC-SR04超声波测距模块
5星 · 资源好评率100%
以下使用90C54单片机控制HC-SR04超声波测距模块的简单代码:
```
#include <reg51.h>
sbit Trig = P2^0; // 超声波发送引脚
sbit Echo = P2^1; // 超声波接收引脚
sbit Led = P1^0; // 测距结果指示灯
void delay_us(unsigned int t)
{
while(t--);
}
unsigned int MeasureDistance()
{
unsigned int distance;
Trig = 0; // 发送前先将Trig拉低
delay_us(2);
Trig = 1; // 持续10us以上的高电平发送脉冲
delay_us(20);
Trig = 0;
while(!Echo); // 等待Echo变高
TH0 = 0; // 开始计时
TL0 = 0;
while(Echo); // 等待Echo变低
distance = TH0*256 + TL0; // 计算距离
distance = distance / 58;
return distance;
}
void main()
{
Led = 0;
TMOD = 0x01; // 定时器0工作在模式1,16位定时器
while(1)
{
unsigned int distance;
distance = MeasureDistance();
if(distance > 0 && distance < 100) // 距离小于100cm时点亮Led灯
Led = 1;
else
Led = 0;
}
}
```
在这个程序中,我们使用了定时器0来计算超声波返回的时间,然后通过计算距离来得到距离值。如果距离小于100cm,则点亮Led灯表示检测到了物体。请注意,这个程序只是一个简单的示例,实际应用中需要根据具体需求进行修改和优化。
阅读全文