- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE I
本科毕业论文(设计)
题目: 基于51单片机的自动避障感光小车
学院: 物理与电子科学学院
完成日期: 2013 年 5 月 15 日
基于51单片机的自动避障感光小车
摘要: 51单片机是一种功能相当强大的八位单片机,更重要的是它非常容易操作,因此目前它被人们广泛使用。本设计是基于51单片机的控制并运用超声波传感器来检测路面障碍物,通过PWM技术来控制后面两轮的速度以实现转弯避障,此小车利用白炽灯作为目标光源,利用光敏电阻罗盘来确定光源的方向,最后到达目标位置。小车运用80C51来控制小车的自动行进方向,自动避障和自动停车。小车的驱动电路主要依靠L298N完成。整个系统的电路结构简单,可靠性能高。
关键字:单片机;超声波传感器;80C51;L298N
目 录
TOC \o 1-2 \h \u
typedef unsigned int uint;
typedef unsigned char uchar;
sbit p1_0 = P1^0; // 前面超声波传感器
sbit p1_1 = P1^1; // 左边超声波传感器
sbit p1_2 = P1^2; // 右边超声波传感器
sbit p2_0 = P2^0; //驱动电机
sbit p2_1 = P2^1;
sbit p2_2 = P2^2;
sbit p2_3 = P2^3;
sbit ena = P2^4;
sbit enb = P2^5;
void delay(uint count) //延时1ms
{ uint j;
while(count--!=0)
{
for(j=0;j72;j++);
}
}
void ZhiXing()
{ p2_0=0;
p2_1=1;
p2_2=0;
p2_3=1;
}
void ZuoZhuan()
{ p2_0=0;
p2_1=0;
p2_2=0;
p2_3=1;
}
void YouZhuan()
{ p2_0=0;
p2_1=1;
p2_2=0;
p2_3=0;
}
void Stop()
{
p2_0=0;
p2_1=0;
p2_2=0;
p2_3=0;
}
void main()
{
int i;
ena=enb=1;
while(1)
{
if(p1_0==0 p1_1==0 p1_2==0 )
{
ZhiXing();
}
else if(p1_0==1 p1_1==0 p1_2==0 )
{
YouZhuan();
}
else if(p1_0==0 p1_1==1 p1_2==0 )
{
YouZhuan();
}
else if(p1_0==0 p1_1==0 p1_2==1 )
{
ZuoZhuan();
}
else
{
Stop();
}
}
}
4.3感光功能设计
开始
开始
正中光敏电阻 电压最小
正中光敏电阻 电压最小
小车前进 Y
小车前进
N
左边光敏电阻 电压最小
左边光敏电阻 电压最小
小车左转
Y
右边光敏电阻 电压最小 N
右边光敏电阻 电压最小
小车右转 Y
小车右转
结束
结束
图6 感光功能流程图
感光功能设计的流程图如图6所示。
部分程序:
#include
#includeintrins.h
#includestring.h
#includemath.h
#define uint unsigned int
#defin
文档评论(0)