您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页小车课程设计

小车课程设计

来源:华佗小知识


2011年至2012年第一学期

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

班 级 10002

指导教师 涂立、李旎

学生人数 3

设计份数 1

2011年12月23日

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

1000207 周志强 1000219 瞿开俊 1000241 韩双男

一.设计时间

2011年12月 19日-----6月23日

二.设计地点

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

三.设计目的

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

2.掌握单片机的接口技术及相关外围芯片的外特性,控制方法。 3.通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。

4.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。 5. 培养查阅资料,思考问题的能力。

四.设计小组成员

1000207 周志强 1000219 瞿开俊 1000241 韩双男

五.指导老师

涂立老师、李旎老师

六.设计课题

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

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

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.流程图

开始发射红外线是否有障碍物?否继续匀速前行是左侧有障碍物?是右轮停止旋转,左轮继续旋转,0.2s后右轮恢复旋转否两轮反向旋转0.5s后,右轮停止旋转,左轮继续旋转0.2s否右侧有障碍物?是左轮停止旋转,右轮继续旋转,0.2s后左轮恢复旋转

图1 流程图 2. protel 99的使用以及电路图

2.1打开Protel99 SE,点击图标如图2所示:

图2 Protel99 SE图标

2.2点击file选择new新建。

2.3在弹出的对话框里写好文件名单击OK。 2.4单击打开Decuments。 2.5在空白处右击后选择new。

2.6分别新建schematic Document、PCB linrary Document、Schematic library、PCB Dcument并命好名。图标如图3所示:

图3新建所选图标

2.7新建后选择扩展名.sch双击打开它。 2.8开始画图,左边可选所需元器件图。

2.9如果没有所需元器件图,那么在decuments里面选择schlib1.lib打开它,在这里绘制单片机或者其他元器件。

2.10在sch中绘制好图后,做好信息表,再保存。 2.11实验所得电路图如图4所示

图4电路图

3.keil软件的使用

3.1在桌面上打开keil软件

3.2新建工程:选择菜单栏的project中的new project

3.3在弹出的对话框里,写好工程名和选择好保存路径后保存 3.4选择菜单栏中file中的new新建 3.5单击保存快捷按钮,并在弹出的对话框里把名字的扩展名改为.c,再点击保存,如图5所示:

图5更改扩展名

3.6在右边框中右击source group后选择add File to Group ‘source Group 1’如图6所示:

图6添加程序文件

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

图7添加

3.8开始编程,

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

图8设置程序选项

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

图9设置晶振

3.11在output中勾选create Hex file如图10所示:

图10设置“Creat HEX File”

3.12再单击快捷工具栏中的4.DPFlash的使用

得到hex文件。

4.1连接好线,将模式设为下载模式之后单击安装好的DPFlash。 4.2选择正确的窜口,在菜单中选择文件单机装载,如图11所示:

图11装载

4.3选择要转载的hex文件单击打开

4.4在图11中单击编程,弹出一个对话框再单击编程,如图12所示:

图12开始编程

4.5开始编程。

图13编程中

4.6编程之后退出,完成。

图14完成编程

5.计件表

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

名称 单片机 电动机 红外线接收器 导线 电容 晶振 电源 类别 芯片 输出设备 输入设备 传输介质 非电阻元件 非电阻元件 供能元件 型号 ATC51RC-DIP40C --- --- --- --- 11.0592MHz +5v 额定功率 300kw 约7.5kw --- --- --- --- --- 数目 一个 两个 两个 若干 10uf一个、 20p 两个 一个 一个

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

1.小车当离障碍物太近时,而无法转向。我们通过倒退0.5s再右转0.2s继续循环检测。 2.当电路图设计时,元件模型缺失,用

自画模型再使用。

3.实验时,为了避免实验元件损坏对实验造成影响,实验前,我们先对元件进行检测。 4.为了提高课程设计的效率,我们先统一做好需求分析,再分工做好其他工序。

十. 课程设计心得体会

通过此次课程设计,我们了解到了团队的力量,意识到了知识的乐趣,也感觉到了当知识运用于实践的时候是一件多么令人快乐的事情,并且更加深刻的体会到理论联系实际的重要性。当然,从这次的课程设计中,我们也发现自己的知识功底还太浅薄,因此,在以后的学习中我们会更加努力,在尽量牢固掌握理论知识的基础上,努力提高自己的动手能力。

十一、源程序

#include

#define uchar unsigned char #define uint unsigned int sbit z1 = P0^0; sbit z2 = P0^1; sbit y1 = P0^2; sbit y2 = P0^3; sbit h1 = P0^4; sbit h2 = P0^5; uchar num;

void qian() {

z1 = 1; z2 = 0; y1 = 1; y2 = 0; }

void hou() {

z1 = 0; z2 = 1; y1 = 0; y2 = 1; }

void zuo() {

z1 = 1; z2 = 0; y1 = 1; y2 = 0;

//向前

//向后

//向左转

}

void you() {

z1 = 1; z2 = 0; y1 = 1; y2 = 0; }

void delay(uint z) {

uchar x,y;

for(x = z; x>0; x--) for(y = 110; y>0; y--); }

void xiaoche() {

TR0 = 0;

if(h1 == 0 && h2 == 1) {

you();

delay(200); }

if(h1 == 1 && h2 == 0) {

zuo();

delay(200); }

if(h1 == 0 && h2 == 0) 转0.2s*/ {

hou();

delay(500); you();

delay(200); }

if(h1 == 1 && h2 == 1) qian(); TR0=1; }

void main() {

TMOD = 0x01; TH0 = (65536 - 45872) / 256;

//向右转

//延时

//小车运动

//如果检测到左侧有障碍物,向右转0.2s

//如果检测到右侧有障碍物,向左转0.2s

/*如果检测到两边都有障碍物,后退0.5s再向右

//如果检测到两边都没有障碍物,继续匀速前进

//设置定时器0的工作方式1

//装初值11.0592M晶振定时50ms数为45872

}

void T0_time() interrupt 1 {

TH0 = (65536 - 45872) / 256; TL0 = (65536 - 45872) % 256; num++; }

TL0 = (65536 - 45872) % 256; EA = 1; ET0 = 1; TR0 = 1; while(1); {

if(num == 2) {

num = 0;

z1 = 1; z2 = 0; y1 = 1; y2 = 0;

xiaoche(); } }

//开总中断

//开定时器0中断 //启动定时器0 //等待中断发生

//重装初值

参考文献:

[1] 郭天翔主编.新概念51单片机C语言教程[M].京:电子工业出版社,2008. [2][美] Richard Anderson, Chris Blexrud著[M].北京:机械工业出版社,2000:408-458.

[3] 玉德等.MCS-51单片机原理与应用[M].北京:机械工业出版社,2002. [4] 李华主.MCS-51系列单片机实用接口技术[M].北京:北京航空航天大学出版社,2000.

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

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

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

[8] 张毅刚.MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社. [9] 闫玉德 俞虹.MCS-51单片机原理与应用(C语言版)[M].机械工业出版社,2003.

[10] http://www.zlgmcu.com

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务