该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
void main()
{
T0_Init(); //定时器0初使化
while(1) //while循环
{
if(SJ1==1&&SJ2==1&&SJ3==1) //三个传感器都没有检测到障碍物
{
count1 = 100; //设置电机1速度占空比为1:1
count2 = 100; //设置电机2速度占空比为1:1
forward(); //小车前进
}
else if(SJ1==1&&SJ2==0&&SJ3==1) //中间传感器检测到障碍物且两侧传感器没有检测到障碍物
{
count1=20; //设置电机1速度占空比为1:5
count2=50; //设置电机2速度占空比为1:2
back(); //小车左转
delay1ms(100); //延时大概100毫秒
}
else if(SJ1==0&&SJ2==0&&SJ3==0) //三个传感器都检测到障碍物
{
count1=20; //设置电机1速度占空比为1:5
count2=50; //设置电机2速度占空比为1:2
back(); //小车后退
delay1ms(100); //延时大概100毫秒
}
else if(SJ1==0&&SJ2==1&&SJ3==1) //左侧和中间传感器没有检测到障碍物且右侧传感器检测到障碍物
{
count1=50; //设置电机1速度占空比为1:2
count2=40; //设置电机2速度占空比为2:5
left(); //小车左转
delay1ms(20); //延时大概20毫秒
}
else if(SJ1==0&&SJ2==0&&SJ3==1) //右侧和中间传感器检测到障碍物且左侧传感器没有检测到障碍物
{
count1=50; //设置电机1速度占空比为1:2
count2=40; //设置电机2速度占空比为2:5
left(); //小车左转
delay1ms(20); //延时大概20毫秒
}
else if(SJ1==1&&SJ2==0&&SJ3==0) //左侧或中间传感器检测到障碍物且右侧传感器没有检测到障碍物
{
count1=40; //设置电机1速度占空比为2:5
count2=50; //设置电机2速度占空比为1:2
right(); //小车右转
delay1ms(20); //延时大概20毫秒
}
else if(SJ1==1&&SJ2==1&&SJ3==0) //左侧传感器检测到障碍物且中间和右侧传感器没有检测到障碍物
{
count1=40; //设置电机1速度占空比为2:5
count2=50; //设置电机2速度占空比为1:2
right(); //小车右转
delay1ms(20); //延时大概20毫秒
}
else //三个传感器都没有检测到障碍物时,小车以最大速度前进
{
count1=100; //设置电机1速度占空比为1:1
count2=100; //设置电机2速度占空比为1:1
forward(); //小车前进
}
}
}