51循迹小车代码
时间: 2023-09-10 10:13:31 浏览: 414
以下是一份简单的51单片机循迹小车代码,仅供参考:
```c
#include <reg51.h>
sbit IN1=P2^0; //定义左电机引脚
sbit IN2=P2^1;
sbit IN3=P2^2; //定义右电机引脚
sbit IN4=P2^3;
sbit LDR1=P1^0; //定义左循迹传感器引脚
sbit LDR2=P1^1;
sbit LDR3=P1^2; //定义中间循迹传感器引脚
sbit LDR4=P1^3;
sbit LDR5=P1^4; //定义右循迹传感器引脚
void delay(unsigned int xms) //延时函数
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void main()
{
while(1)
{
if(LDR3==0) //中间传感器检测到黑线
{
IN1=0; //左电机正转
IN2=1;
IN3=1; //右电机正转
IN4=0;
}
else if(LDR1==0) //左边传感器检测到黑线
{
IN1=0; //左电机反转
IN2=1;
IN3=1; //右电机正转
IN4=0;
}
else if(LDR5==0) //右边传感器检测到黑线
{
IN1=0; //左电机正转
IN2=1;
IN3=0; //右电机反转
IN4=1;
}
else //没有检测到黑线,小车停止
{
IN1=0;
IN2=0;
IN3=0;
IN4=0;
}
delay(10); //延时10ms
}
}
```
该代码实现了循迹小车的基本功能,当中间传感器检测到黑线时,小车向前直行;当左边传感器检测到黑线时,小车向左转;当右边传感器检测到黑线时,小车向右转;当没有传感器检测到黑线时,小车停止。
阅读全文