700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 简单循迹小车实验心得_新人刚刚接触单片机 求教一个简单的循迹小车程序(实在看不懂

简单循迹小车实验心得_新人刚刚接触单片机 求教一个简单的循迹小车程序(实在看不懂

时间:2019-04-08 04:11:00

相关推荐

简单循迹小车实验心得_新人刚刚接触单片机 求教一个简单的循迹小车程序(实在看不懂

该楼层疑似违规已被系统折叠隐藏此楼查看此楼

程序如下:

#include

#define uint unsigned int

#define uchar unsigned char

sbit P10=P1^0; //控制左电机前进

sbit P11=P1^1;//控制左电机后退

sbit P12=P1^2;//控制右电机前进

sbit P13=P1^3;//控制右电机后退

sbit LED=P0^0;

sbit zuobian=P3^2; //左边传感器

sbit youbian=P3^3; //右边传感器

//************************************************

//延时函数,在12MHz的晶振频率下

//大约50us的延时

//************************************************

voiddelay_50us(uint t)

{

uchar j;

for(;t>0;t--)

for(j=19;j>0;j--);

}

//************************************************

//延时函数,在12MHz的晶振频率下

//大约50ms的延时

//************************************************

voiddelay_50ms(uint t)

{

uint j;

for(;t>0;t--)

for(j=6245;j>0;j--);

}

void qianjin()//小车前进

{ P10=0;P11=1;

delay_50us(25);

P10=1;P11=1;

delay_50us(10);

P12=0;P13=1;

delay_50us(25);

P12=1;P13=1;

delay_50us(10);

}

void tingzhi() //小车停止

{ P10=1;P11=1;P12=1;P13=1;}

void youguai() //小车右拐

{ P10=0;P11=1;

delay_50us(25);

P10=1;P11=1;

delay_50us(10);

P12=1;P13=1;

delay_50us(10);

}

void zuoguai() //小车左拐

{

P12=0;P13=1;

delay_50us(25);

P12=1;P13=1;

delay_50us(10);

P10=1;P11=1;

delay_50us(10);

}

void zhuanwan()//小车转弯

{

P10=1;P11=0;P12=0;P13=1;

delay_50ms(15);

{P10=1;P11=1;P12=1;P13=1;}

delay_50ms(100);

LED=1;

}

voidmain(void)

{

LED=0;

while(1)

{

if(zuobian==1&&youbian==0) //右边检测到黑线

zuoguai();

if(zuobian==0&&youbian==1) // 左边检测到黑线

youguai();

if(zuobian==1&&youbian==1) // 在黑线外

qianjin();

if(zuobian==0&&youbian==0) //到终点

zhuanwan();

}

}

请教一下这个程序用的电机驱动硬件是什么?是L298N吗?如果是,那么此程序中的P1^0一直到P1^3是接到L298N的 IN1 IN2 IN3 IN4吗?如果说如果是的话那么为什么小车前进函数,右拐函数,左拐函数我看不太懂,就拿前进函数来说:

void qianjin()//小车前进

{ P10=0;P11=1; //这是什么意思? 是IN1 IN2一个为高一个为低,左电机正转吗?(如果是P1^0接到IN1, P1^1接到IN2的话)

delay_50us(25);

P10=1;P11=1; //意思是IN1 IN2全为高电平,OUT1为0?所以停止?

delay_50us(10);

P12=0;P13=1; //同上

delay_50us(25);

P12=1;P13=1; //同上

delay_50us(10);

}

求各位大神显神通,本人感激不尽!

简单循迹小车实验心得_新人刚刚接触单片机 求教一个简单的循迹小车程序(实在看不懂)...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。