stc8单片机使用超声波模块hs-04实例
时间: 2023-05-27 09:07:01 浏览: 322
以下是stc8单片机使用超声波模块hs-04的实例代码:
```c
#include <STC8.H>
#define TRIG P1_1 // 超声波模块的触发引脚
#define ECHO P1_2 // 超声波模块的回声引脚
#define LED P0_0 // LED灯引脚
unsigned int time; // 超声波回声时间
float distance; // 超声波距离
void delay_us(unsigned int us)
{
while(us--);
}
void delay_ms(unsigned int ms)
{
while(ms--)
{
delay_us(1000);
}
}
void main()
{
while(1)
{
TRIG = 0; // 初始化触发引脚
delay_us(2);
TRIG = 1; // 发送超声波信号
delay_us(10);
TRIG = 0;
while(!ECHO); // 等待超声波回声信号
time = 0;
while(ECHO) // 计算回声时间
{
delay_us(1);
time++;
}
distance = time * 0.17; // 计算距离
if(distance < 30) // 超声波距离小于30cm时,LED灯亮
{
LED = 1;
}
else
{
LED = 0;
}
delay_ms(100); // 每100ms进行一次超声波测距
}
}
```
以上代码中,我们使用了STC8单片机的P1口控制超声波模块的触发和回声引脚,P0口控制LED灯的亮灭。在主函数中,我们不断地进行超声波测距和LED灯控制,每100ms进行一次超声波测距。当超声波距离小于30cm时,LED灯亮,否则灭。
阅读全文