基于单片机的智能寻迹避障小车设计课程设计.docx

上传人:b****3 文档编号:734213 上传时间:2022-10-12 格式:DOCX 页数:11 大小:367.25KB
下载 相关 举报
基于单片机的智能寻迹避障小车设计课程设计.docx_第1页
第1页 / 共11页
基于单片机的智能寻迹避障小车设计课程设计.docx_第2页
第2页 / 共11页
基于单片机的智能寻迹避障小车设计课程设计.docx_第3页
第3页 / 共11页
基于单片机的智能寻迹避障小车设计课程设计.docx_第4页
第4页 / 共11页
基于单片机的智能寻迹避障小车设计课程设计.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

基于单片机的智能寻迹避障小车设计课程设计.docx

《基于单片机的智能寻迹避障小车设计课程设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能寻迹避障小车设计课程设计.docx(11页珍藏版)》请在冰豆网上搜索。

基于单片机的智能寻迹避障小车设计课程设计.docx

基于单片机的智能寻迹避障小车设计课程设计

《单片机原理与应用》课程设计

课题

基于C51单片机的智能寻迹避障小车设计

姓名

1106402-09蔡祥

1106402-20李国红

1106402-38吕赟

班级

1106402

指导教师

凃立副教授

刘德峰博士

 

2012年12月23日

基于C51单片机的智能寻迹避障小车设计

一.设计时间

2012年12月18日-----12月23日

二.设计地点

湖南城市学院实验楼计算机机房401

三.设计目的

1.进一步熟悉和掌握单片机的结构及工作原理

2.掌握单片机的接口技术及相关外围芯片的外特性,控制方法

3.通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术,了解有关电路参数的计算方法

4.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术

5.培养查阅资料,独立思考问题的能力

四.设计小组成员

110640209蔡祥、110640220李国红、110640238吕赟

分工:

蔡祥负责电路图和程序设计;李国红负责课程设计相关文件整理修改;吕赟负责程序流程图

五.指导老师

涂立副教授、刘德峰博士

六.设计课题

基于单片机红外线控制的智能寻迹避障小车设计

七.基本思路及关键问题解决方法

1.基本思路

1.1如果发射出去的红外线检测到两边都没有障碍物,继续匀速前进

1.2如果发射出去的红外线检测到左侧有障碍物,那么右轮停止旋转,左轮继续旋转,0.2s之后右轮恢复旋转,小车继续匀速前进

1.3如果发射出去的红外线检测到右侧有障碍物,那么左轮停止旋转,右轮继续旋转,0.2s之后左轮恢复旋转,小车继续匀速前进

1.4如果发射出去的红外线检测到两边都有障碍物,那么两轮反向旋转0.5s后,即小车后退0.5s后,右轮停止旋转,左轮继续旋转,0.2s之后继续发射红外线

2.关键问题解决方法

2.1当红外线接收信号为0时,我们视它为遇到障碍

2.2当遇到障碍时我们为了在转弯时不遇到障碍设置转弯时间为0.2秒

2.2当检测到左右两端的信号都为0时,为了避免车太接近障碍物而无法转弯,我们将小车倒退0.5秒后再右转再循环检测

八.流程图以及所需软件、硬件的使用

1.元件清单表

表1.基于单片机的智能寻迹避障小车设计元件清单表

名称

参数

数量

型号

价格

厂商

单片机

3.8V,20mA

1

AT89C51Rc2

5

FUJITSU

排阻

28V

1

TBLOCK-M6

3

开关

2

1

电动机

220V,1.1A

2

MOTOR

5

导线

若干

1

晶振

12MHz

1

CRYSTAL

1

电容

10pf

2

CC0603CRNP

4

2.流程图

图1.流程图

3.Proteus7Professional的使用以及电路图

3.1运行ISIS7Professional如下图:

图2.运行ISIS7Professional

3.2点P按钮选用电路所需的元件,如下图:

图3.选取所用元件

3.3设计出电路图,如下图:

图4.电路图

4.keil软件的使用

4.1在桌面上打开keil软件

4.2新建工程:

选择菜单栏的project中的newproject

4.3在弹出的对话框里,写好工程名和选择好保存路径后保存

4.4选择菜单栏中file中的new新建

4.5单击保存快捷按钮,并在弹出的对话框里把名字的扩展名改为.c,再点击保存,如图5所示

图5.更改扩展名

4.6在右边框中右击sourcegroup后选择addFiletoGroup‘sourceGroup1’如图6所示

图6.添加程序文件

4.7选择你所命名的文件单击add然后在单击close,如图7所示。

图7.添加

4.8开始编程,

4.9编程好了之后在project中选择如图8所示。

图8.设置程序选项

4.10在target中设计好使用的晶振频率如图9所示。

图9.设置晶振

4.11在output中勾选createHexfile如图10所示。

图10.设置“CreatHEXFile”

4.12再单击快捷工具栏中的得到hex文件。

九.出现的问题及相应解决办法

1.小车当离障碍物太近时,而无法转向。

我们通过倒退0.5s再右转0.2s继续循环检测。

2.实验时,为了避免实验元件损坏对实验造成影响,实验前,我们先对元件进行检测。

3.为了提高课程设计的效率,我们先统一做好需求分析,再分工做好其他工序。

十.课程设计心得体会

通过此次课程设计,我们了解到了团队的力量,意识到了知识的乐趣,也感觉到了当知识运用于实践的时候是一件多么令人快乐的事情,并且更加深刻的体会到理论联系实际的重要性。

当然,从这次的课程设计中,我们也发现自己的知识功底还太浅薄,因此,在以后的学习中我们会更加努力,在尽量牢固掌握理论知识的基础上,努力提高自己的动手能力。

十一.源程序

#include

#defineuintunsignedint

#defineucharunsignedchar

sbity1=P1^0;

sbity2=P1^1;

sbitz1=P1^2;

sbitz2=P1^3;//控制车轮转动

sbitp1=P2^0;//左边障碍物

sbitp2=P2^1;//右边障碍物

voiddelay(uintz);//延时函数

voidkeyscan();//检测障碍物

voidinit();

voidqian()//向前

{

z1=1;

z2=0;

y1=1;

y2=0;

}

voidhou()//向后

{

z1=0;

z2=1;

y1=0;

y2=1;

}

voidzuo()//向左转

{

z1=0;

z2=0;

y1=1;

y2=0;

}

voidyou()//向右转

{

z1=1;

z2=0;

y1=0;

y2=0;

}

voidmain()

{

init();

while

(1)

{

keyscan();

}

}

voidinit()

{

y1=0;

y2=0;

z1=0;

z2=0;

p1=1;

p2=1;

}

voiddelay(uintz)//延时函数

{

uintx,y;

for(x=z;x>0;x--)

for(y=120;y>0;y--);

}

voidkeyscan()//检测障碍物

{

if(p1==0&&p2==1)//左边有障碍物

{

you();

delay(200);

}

if(p1==1&&p2==0)//右边有障碍物

{

zuo();

delay(200);

}

if(p1==1&&p2==1)//两边无障碍物

qian();

if(p1==0&&p2==0)//两边有障碍物

{

hou();

delay(200);

}

}

参考文献:

[1]郭天翔主编.新概念51单片机C语言教程.北京:

电子工业出版社,2008.

[2][美]RichardAnderson,ChrisBlexrud著.ASP3高级编程[M].刘福太,张立民,金慧琴,梁发麦等译.北京:

机械工业出版社,2000:

408-458.

[3]玉德等编.MCS-51单片机原理与应用.北京:

机械工业出版社,2002.

[4]李华主编.MCS-51系列单片机实用接口技术.北京:

北京航空航天大学出版社,2000.

[5]马骏.车站售票大厅智能排队叫号系统的设计和开发.科技情报开发与经济.2010.Vol.

[6]杨彦、王霖、张凤荔、刘丽萍.基于RS485和单片机的排队机控制系统设计.中文核心期刊《微计算机信息》(测控自动化)2008年第24卷第1-1期.

[7]张忠安齐俊传.门诊排队叫号系统设计.医疗卫生装备·2006年第27卷

[8]张毅刚.MCS-51单片机应用设计.哈尔滨:

哈尔滨工业大学出版社.

[9]闫玉德俞虹.MCS-51单片机原理与应用(C语言版).机械工业出版社.2003.

[10]

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1