基于单片机C语言寻迹小车设计报告-科技文化节.doc

基于单片机C语言寻迹小车设计报告-科技文化节.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

报告人:欧阳志德

邹鹏

设计目的:

随着现代工业的不断发展,自动化越来越多,寻迹小车是一种智能产品。它是按照铺在地表层的黑线行走。它轨道铺设容易适合范围广。它可以代替按铁轨铺设的轨道行走的小车。寻迹小车可以在无人控制的状态下到达指定的地点。可以利用来派送一些货物,减小人员的利用。

设计要求:

寻迹小车操作简单。

寻迹小车不能脱离轨道。

寻迹小车能够准确的到达目的地。

寻迹小车能够返回原地。

设计原理:

1、小车寻迹的原理

寻迹是指小车在白色地板上寻黑线行走,通常采用的方法是红外探测法。红外探测法,即利用红外线在不同颜色的物体表面有不同的反射性质的特点,小车在行驶的过程中不断的地面发射红外光,当红外光遇到白色地板时发生漫反射,反射光被装在小车上的接收管接收。如果遇到黑线则红外线被吸收,小车上的接收管接收不到红外光。单片机以是否接收红外线为依据来控制小车的运动。

2、小车运动原理

小车的后面两个轮分别装上直流减速电机,分别控制两个电机的转速就可以控制小车的运动方向。电机的转速由单片机控制L298N输出不同的电压占空比来控制。

系统模块:

车体设计

小车整体由三个轮支撑。后面左右两个轮分别装上电机,用来控制小车的转向,前面的轮子是万向轮,用于辅助小车的运动。

2、控制器模块

采用STC公司的STC89C51单片机作为主控制器。

3、电机驱动模块

采用L298N作为电机驱动芯片。L298N是一个具有高电压大电流的全桥驱动芯片,它可以分别控制两个直流电机,而且还带有控制全能端。容易控制电机的转速。

4、寻迹模块

采用RPR220型光电对管。RPR220是一种一体化反射光电探测器,其发射器是一个砷化镓红外发光二极管,而接收器是一个高灵敏度,硅平面光电三极管。

流程图:

开始

开始

调整车方向

调整车方向

记录转弯口

记录转弯口

到达目的地停止

到达目的地停止

按照原路返回

按照原路返回

结束

结束

程序:

#includereg51.h

sbitchoose=P1^0; /*选择*/

sbitstart=P1^1; /*启动*/

/*小车方向*/

sbitzhong=P1^7;

sbityou0=P3^1;

sbitzuo1=P3^2;

sbityou1=P3^3;

sbitzuo0=P3^0;

sbitP2_0=P2^0; /*数码管位选端*/

/*电动机转向*/

sbitP2_1=P2^1;

sbitP2_2=P2^2;

sbitP2_3=P2^3;

sbitP2_4=P2^4;

unsignedchari,k,a;

charb[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; /*数字显示*/

main()

{

/*初始化*/

EA=1;

EX1=1;

EX0=1;

IT0=1;

IT1=1;

P2=1;

a=0;

i=0;

/*选择第几个房间*/

while(start)

{

if(choose==0); /*按键识别*/

for(k=0;k100;k++);

if(choose==0)

a++;

P0=b[a];

while(!choose);

}

P2_1=0;

P2_2=1;

P2_3=0;

P2_4=1;

zuo0=0;

you0=0;

zhong=0;

while(1)

{

if(zuo0==1) /*小车左转*/

{

P2_2=0;

P2_4=1;

}

if(you0==1) /*小车右转*/

{

P2_2=1;

P2_4=0;

}

if(zuo0==0you0==0)/*小车直走*/

{

P2_2=1;

P2_4=1;

}

if(zuo0==0you0==0zhong==0) /*小车停止*/

{

P2=0x00;

while(start); /*小车返回*/

P2_2=1;

P2_3=1;

while(!zhong);

P2_1=0;

P2_2=0;

P2_3=0;

P2_4=0;

for(k=0;k100;k++);

}

}

}

zuo()interrupt0using0 /*小车到达房间*/

{

i++;

if(i==a||i==a+1||i==a+a)

{

P2_4=1;

P2_2=0;

while(!you0);

while(!you0);

P2_2=1;

P2_4=0;

for(k=0;k10;k++);

}

}

you()interrupt2using2 /*小车到达房间*/

文档评论(0)

【晓娣】 + 关注
实名认证
内容提供者

好文档大家想

1亿VIP精品文档

相关文档