#include <reg52.h>
// 定义电机控制引脚
sbit left_motor1 = P1^0;
sbit left_motor2 = P1^1;
sbit right_motor1 = P1^2;
sbit right_motor2 = P1^3;
// 定义超声波模块引脚连接端口
sbit ECHO = P2^0;
sbit TRIG = P2^1;
// 定义超声波检测距离参数
int distance = 0; // 全局变量,用来记录检测到的距离
// 定义超声波检测函数
void ultrasonic()
{
unsigned int time = 0;
TRIG = 0;
delay(2);
TRIG = 1;
delay(10);
TRIG = 0;
while(!ECHO); //等待高电平
TR0 = 1; //打开定时器
while(ECHO && TF0 == 0); // 等待ECHO的低电平,或者超时
TR0 = 0; // 关闭定时器
if(TF0 == 1)
{
TF0 = 0; //防止溢出
distance = 500; //如果超时,则将距离设置为最大值 (500cm)
}