}
TH0=0xFF; TL0=0xF6; EA=1; ET0=1; TR0=1;
//中断函数+脉宽调制 void timer0() interrupt 1 { }
void delay(uint xms) //延时x毫秒 { }
36
TH0=0xFF; //恢复定时器初始值 TL0=0xF6; t++; if(t>=50)
{t=0;}
if(t<=zkb1) //当小于占空比值时输出低电平
{ENA=0;} //高于时是高电平,从而实现占空比的调整
else
{ENA=1;}
if(t<=zkb2)
{ENB=0;}
else
{ENB=1;}
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
void go()//前进 { IN1=1;IN2=0; IN3=1;IN4=0; zkb1=25;zkb2=25;
}
void stop()//停止 { IN1=0;IN2=0; IN3=0;IN4=0; zkb1=0;zkb1=0; }
void turn()//中心旋转 顺时针旋转{ IN1=1;IN2=0; IN3=0;IN4=1; zkb1=25;zkb2=25; delay(15); }
void turn_L()//左转 { IN1=0;IN2=0; IN3=1;IN4=0; zkb1=0;zkb2=25; delay(20);
}
void turn_R()//右转 {
IN1=1;IN2=0;
37
}
IN3=0;IN4=0; zkb1=25;zkb2=0; delay(20);
void back()//后退 { }
void bizhang() {
IN1=0;IN2=1; IN3=0;IN4=1; zkb1=25;zkb2=25; delay(15);
if(from==1&&left==1&&right==1&&p_left==1&&p_right==1) //没有障碍物 { }
if(p_left==0) //左边碰撞传感器有信号 { }
if(p_right==0) //右边碰撞传感器有信号 {
delay(5);
38
go();
delay(5); if(p_left==0) { }
back(); delay(5); turn_R(); delay(5);
}
if(p_right==0) { }
back(); delay(5); turn_L(); delay(5);
if(from==0&&left==0) //前、左红外传感器有信号 { }
if(from==0&&right==0) //前、右红外传感器有信号 { }
39
delay(5);
if(from==0&&left==0) { }
back(); delay(5); turn_R(); delay(5);
delay(5);
if(from==0&&right==0) { }
back(); delay(5); turn_L(); delay(5);
if(from==0)//前方有障碍物 { delay(5); if(from==0) { turn(); delay(5);
}
}
if(left==0) //左方有障碍物 { delay(5); if(left==0) { turn_R(); delay(5); }
}
if(right==0) //右方有障碍物 { delay(5); if(right==0) { turn_L(); delay(5);
}
}
}
//台阶检测 void step_deal()
40
{ if(tj_1==1||tj_2==1) { delay(5);
if(tj_1==1||tj_2==1) { back(); delay(5); turn(); delay(5);
}
}
}
void main() { init(); while(1) {
bizhang(); step_deal(); }
}
41
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库清洁机器人系统设计 - 图文(9)在线全文阅读。
相关推荐: