拙劣大学生作业机器人程序设计,微型机器人与C51应用。
1.实现红外避障+走出一个完整的矩形:
先分析一下我们要做的任务,走出一个完整的矩形是大框架,然后在走这个矩形的路途中遇见障碍物实现避障功能。
很明显走出一个完整矩形的代码很容易:仅仅只需要调前进以及左转/右转的速度和时间就好了,当然这个根据每台车是不同的,需要同学们自行调节,代码如下
void main()
{ //切记keil5为原始C语言底层,所以不能直接unsigned int i = 0;
unsigned int i; //这是会报错的,遵循先定义再赋值的原则
while(1)
{
for(i = 0;i<4;i++)
{
forward(150,150); //前进函数
delay_ms(600); //STC-ISP可生成延时函数
left_run(100,100); //左转函数
delay_ms(100); //100ms
}
}
}
如果我们要实现边走边红外避障那么将在延时600ms,以及100ms中检测+避障。所以就要把600ms分成60个10ms小部分这样就能实现每十毫秒检验一次,因为在延时过程中是不能实现检验的。通过看小车的电路图可知,当灯亮的时候(即有障碍)那么该P3^6或P3^7为低电平0
代码实现如下
void main()
{ //切记keil5为原始C语言底层,所以不能直接unsigned int i = 0;
unsigned int i; //这是会报错的,遵循先定义再赋值的原则
unsigned int j;
while(1)
{
for(i=