hc-sr04超声波测距模块 90c54代码
时间: 2023-09-25 07:09:24 浏览: 95
下面是一个基于 90C54 单片机的 HC-SR04 超声波测距模块的代码:
```
#include <reg51.h>
#define TRIG P1_0
#define ECHO P1_1
typedef unsigned char uchar;
typedef unsigned int uint;
void delay(uint time)
{
uint i, j;
for (i = time; i > 0; i--)
for (j = 110; j > 0; j--);
}
uchar ultrasonic()
{
uchar distance;
uint time;
TRIG = 0;
delay(2);
TRIG = 1;
delay(10);
TRIG = 0;
while (!ECHO);
TH0 = 0;
TL0 = 0;
while (ECHO);
time = TH0 << 8 | TL0;
distance = time / 58;
return distance;
}
void main()
{
uchar distance;
while (1)
{
distance = ultrasonic();
}
}
```
注意事项:
- 此代码使用了 8051 单片机的定时器 T0 来计时,需要将 T0 连接至 HC-SR04 的 ECHO 引脚;
- 此代码中的 `delay` 函数可能需要适当调整,以使得超声波模块能够正常工作;
- 此代码中的 `ultrasonic` 函数返回的距离单位为厘米。
阅读全文