搜索
您的当前位置:首页正文

单片机原理及应用课程设计

来源:小奈知识网


单片机原理及 应用课程设计

班 级: 姓 名: 学 号: 指导教师: 撰写日期:

目录

目录

第一章 课程设计内容与要求分析…………………………2

1.1课程设计内容………………………………………………………2 1.2课程设计要求分析…………………………………………………2

1.2.1各模块设计…………………………………………………………4 1.2.2循迹小车原理图……………………………………………………5

第二章 控制系统程序设计…………………………………6 第三章 总结 ………………………………………………12 参考文献……………………………………………………13 附录Ⅰ………………………………………………………14 附录Ⅱ………………………………………………………15

1

第一章 课程设计内容与要求分析

第一章 课程设计内容与要求分析

1.1课程设计内容

1、 设计一台自动寻电动小车。

2、 电动车能自动寻迹,按设定好的轨迹前进。

3、 寻迹由小车前端左右两个光电开关完成,通过调整RW2和RW4可以改变光电开关的灵敏度。

1.2课程设计要求分析

目前 ,在企业生产技术不断提高、对自动化技术要求不断加深的环境下,智能车辆以及在智能车辆基础上开发出来的产品已成为自动化物流运输、柔性生产组织等系统的关键设备。世界上许多国家都在积极进行智能车辆的研究和开发设计。移动机器人是机器人学中的一个重要分支,出现于20世纪06年代。当时斯坦福研究院(SRI)的Nils Nilssen和charles Rosen等人,在1966年至1972年中研制出了取名shakey的自主式移动机器人,目的是将人工智能技术应用在复杂环境下,完成机器人系统的自主推理、规划和控制。从此,移动机器人从无到有,数量不断增多,智能车辆作为移动机器人的一个重要分支也得到越来越多的关注。

智能小车,是一个集环境感知、规划决策,自动行驶等功能于一体的综合系统,它集中地运用了计算机、传感、信息、通信、导航及白动控制等技术,是典型的高新技术综合体。它具有道路障碍自动识别、自动报警、自动制动、自动保持安全距离、车速和巡航控制等功能。智能车辆的主要特点是在复杂的道路情况下,能自动地操纵和驾驶车辆绕开障碍物并沿着预定的道路(轨迹)行进。智能车辆在原有车辆系统的基础上增加了一些智能化技术设备:

(1)计算机处理系统,主要完成对来自摄像机所获取的图像的预处理、增强、分析、识别等工作;

(2)摄像机,用来获得道路图像信息;

(3)传感器设备,车速传感器用来获得当前车速,障碍物传感器用来获得前方、侧方、后方障碍物等信息。

智能车辆技术按功能可分为三层,即智能感知/预警系统、车辆驾驶系统和全自动操作系统团。上一层技术是下一层技术的基础。三个层次具体如下:

(1)智能感知系统,利用各种传感器来获得车辆自身、车辆行驶的周围环境及驾驶员本身的状态信息,必要时发出预警信息。主要包括碰撞预警系统和驾驶员状态监控系统。碰撞预警系统可以给出前方碰撞警告、盲点警告、车道偏离警告、换道/并道警告、十字路口警告、行人检测与警告、后方碰撞警告等.驾驶员状态监控系统包括驾驶员打吨警告系统、驾驶员位置占有状态监测系统等。

(2)辅助驾驶系统,利用智能感知系统的信息进行决策规划,给驾驶员提出驾驶建议

2

第一章 课程设计内容与要求分析

或部分地代替驾驶员进行车辆控制操作。主要包括:巡航控制、车辆跟踪系统、准确泊车系统及精确机动系统。

(3)车辆自动驾驶系统,这是智能车辆技术的最高层次,它由车载计算机全部自动地实现车辆操作功能。目前,主要发展用于拥挤交通时低速自动驾驶系统、近距离车辆排队驾驶系统等。

这种智能小车的主要应用领域包括以下几个方面: (1)军事侦察与环境探测

现代战争对军事侦察提出了更高的要求,世界各国普遍重视对军事侦察的建设,采取各种有效措施预防敌方的突然袭击,并广泛应用先进科学技术,不断研制多用途的侦察器材和探测设备,在车上装备摄像机、安全激光测距仪、夜视装置和卫星全球定位仪等设备,通过光缆操纵,完成侦察和监视敌情、情报收集、目标搜索和自主巡逻等任务,进一步扩大侦察的范围,提高侦察的时效性和准确性。

(2)探测危险与排除险情

在战场上或工程中,常常会遇到各种各样的意外。这时,智能化探测小车就会发挥很好的作用。战场上,可以使用智能车辆扫除路边炸弹、寻找和销毁地雷。民用方面,可以探测化学泄漏物质,可以进行地铁灭火,以及在强烈地震发生后到废墟中寻找被埋人员等。

(3)安全检测受损评估

在工程建设领域,可对高速公路自动巡迹,进行道路质量检测和破坏分析检测;对水库堤坝、海岸护岸堤、江河大坝进行质量和安全性检测。在制造领域,可用于工业管道中机械损伤,裂纹等缺陷的探寻,对输油和输气管线的泄漏和破损点的查找和定位等。

(4)智能家居

在家庭中,可以用智能小车进行家具、远程控制家中的家用电器,控制室温等等。对这种小车的研究,将为未来环境探测术上的有力支持。

本寻迹小车采用铝合金为车架,STC89C52单片机为控制核心,加以直流电机、光电传感器和电源电路以及其他电路的设计思路。系统由STC89C52通过I/O口控制小车的前进后退以及转向。

为了适应机电一体化的发展在汽车智能化方向的发展要求,提出简易智能小车的构想,目的在于:通过独立设计并制作一辆具有简单智能化的简易小车,获得项目整体设计的能力,并掌握多通道多样化传感器综合控制的方法。

根据题目要求,确定如下方案:在现有的玩具电动车的基础上,加装光电对管、传感器,实现对电动车位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动车的智能控制。

这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠、精度高,可以满足对系统的各项要求。

整个系统基于普通玩具小车的机械结构,并利用了小车的底盘、前后轮电机及其自动

3

第一章 课程设计内容与要求分析

复原装置,能够平稳跟踪路面黑色轨迹运行

该智能小车在画有黑线的白纸 “路面”上行驶,由于黑线和白纸对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”—黑线。利用了简单、应用比较普遍的检测方法—发光二极管+光敏电阻。

发光二极管+光敏电阻,即利用光线在不同颜色的物理表面具有不同的反射性质的特点。在小车行驶过程中不断地向地面发射白光,当白光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号。

整个电路系统分为检测、控制、显示、驱动四个模块。首先利用光电对管对路面信号进行检测,经过比较器处理之后,送给软件控制模块进行实时控制,然后显示小车的运行状态,输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动。系统方案方框图如图所示。

显示状态 检测(黑线) 软件控制 控制小车

图1-1 智能小车寻迹系统框图

1.2.1各模块设计

1、循迹模块设计

发光二极管+光敏电阻组成光敏探测器,光敏电阻的阻值可以根跟随周围环境光线的变化而变化。当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱 。因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。将阻值的变化值经过比较器就可以输出高低电平。 2、控制模块设计

此部分是整个小车运行的核心部件,起着控制小车所有的运行状态作用。控制方法很多,大部分都采用单片机控制。这里选择了ATMEL公司的AT89C52作为控制芯片,在芯片体积小、集成度高、可靠性好、容量足够、驱动能力强、运用方便、经济廉价。 3、电机驱动模块

从单片机输出信号功率很弱,即使在没有其它外在负载是也无法带动电机,所以在实际电路中我们加入了电机驱动芯片提高输入电机信号的功率,从而能够根据需要控制电机转动。

4

第一章 课程设计内容与要求分析

1.2.2循迹小车原理图

图1-2 循迹小车原理图

5

第二章 控制系统程序设计

第二章 控制系统程序设计

#include #include #define uchar unsigned char #define uint unsigned int sbit IN1=P1^2; sbit IN2=P1^3; sbit IN3=P1^5; sbit IN4=P1^4; sbit en1=P1^1; sbit en2=P1^6; sbit S1=P1^0; sbit S2=P1^7; void go(); void left(); void right(); void stop();

void delay_ms(uint t);

void pwm_init(); void qidong(); uchar h;

uint flag1,flag2,pwm1,pwm2; void disp(uint disp_value); void Bcd(uint bcd_value);

uchar data led_point[4]={0xef,0xdf,0xbf,0x7f};

uchar code LED_Val[] = {0xC0,0xF9,0xA4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98}; uchar data num[4]; /////////

void go() //前进 { IN1=0;

IN2=1;

6

第二章 控制系统程序设计

IN3=0; IN4=1;

}

///////////////

void left() //向左 {

IN1=0; IN2=1; IN3=0; IN4=0;

} //////////////

void right() //向右 {

IN1=0; IN2=0; IN3=0; IN4=1;

} ///////////////

void stop() //停止 {

IN1=0; IN2=0; IN3=0; IN4=0;

}

///////////////////延时函数/////////////// void delay_ms(uint t) {

uchar i; while(t--) {

for(i=1;i<125;i++);

7

第二章 控制系统程序设计

}

}

/////////////////////定时器0方式1////////////// void pwm_init() {

TMOD=0x01; TH0=(65526-200)/256; TL0=(65536-200)%256; EA=1; ET0=1; TR0=1; en1=1; en2=1; } //////////////

void T0_Ser() interrupt 1 using 1 { TH1=(65536-200)/256; TL1=(65536-200)%256; flag1++; flag2++; if(flag1<=pwm1)

{ en1=1;

}

if(flag1>pwm1) { en1=0;

}

if(flag1==100) { flag1=0;

}

8

第二章 控制系统程序设计

if(flag2<=pwm2)

{ en2=1;

}

if(flag2>pwm2)

{ en2=0; }

if(flag2==100)

{ flag2=0; }

}

////// 主函数/////////////// void main() {

// pwm_init(); // en1=1; // en2=1; // while(1) // { // disp(h); // delay_ms(500); // qidong(); // } while(1) { disp(200);

}

}

//////////////启动程序//////////////// void qidong() {

if((S1==0)&&(S2==0))

9

第二章 控制系统程序设计

{

while(S1==0&&S2==0);

{ go();

} delay_ms(700); h++;

go();

}

if((S1==1)&&(S2==1)) { go();

if(h==0) { go(); pwm1=20;

pwm2=20; } if(h==1) { go(); pwm1=90; pwm2=90; }

if(h==2) { go(); pwm1=20;

pwm2=20;

}

} if(S1==1&&S2==0)

{

10

第二章 控制系统程序设计

left();

} if(S1==0&&S2==1)

{ right();

}

if(h==3) { stop(); } }

/////////////数据分离//////////////////// void Bcd(uint bcd_value) {

num[0]=0;

num[1]=(bcd_value%1000)/100; num[2]=((bcd_value%1000)%100)/10; num[3]=((bcd_value%1000)%100)%10;

}

////////////////显示函数////////////////// void disp(uint disp_value) { uchar i; Bcd(disp_value); for(i=0;i<4;i++) { P1=led_point[i]; SBUF=LED_Val[num[i]]; delay_ms(5);

P1=0XFF;

}

11

第三章 总结

第三章 总结

小车能够较好的完成实验的基本要求,寻迹误差较小。通过这次设计,我们熟练掌握了DXP、KeiL51等软件的使用方法,并了解了更多关于单片机的知识。

本系统基本能够满足设计要求,能够较快较平稳的使小车沿引导线行驶,但由于经验能力有限,该系统还存在着许多不尽人意的地方有待于进一步的完善与改进。

此方案选择的器件比较简单,实际中也很容易实现。经过多次测试,结果表明在一定的弧度范围内,小车能够沿着黑线轨迹行进,达到了预期的目标。不足之处,由于小车采用直流电机,其速度控制不够精确和稳定,导致小车循迹时行走不是很流畅;其次,由于车身比较重,导致小车拐弯时候比较吃力,有时候会卡死不动。

通过两周的努力,即将完成设计,当然由于本组精力和时间有限,本设计中或多或少会存在一些缺点,所设计的软硬件难免会存在一些不足,刚开始选择这个项目的时候其实是抱着好奇的心里,真的开始做了才发现困难重重。首先是DXP画图软件不熟悉,接下来是小车硬件的连接,最后是编程。虽然整个过程很坚辛,但我收获了更多。我学会了使用DXP绘图软件,学会了再难也要做下去,学会了向周围优秀的同学积极地学习。

总结人:李希孟 2015.6.14

12

参考文献

参考文献

[1]李广弟,朱月秀,王秀山编著.单片机基础. 北京:北京航空航天大学出版社,2001

[2] 何立民编著.MCS-51系列单片机应用系统设计系统配置与接口技术.北京:北京航空航天大学出版社,1999

[3] 蔡美琴等编著.MCS-51 单片机系统及应用.北京:高等教育出版社.1992

13

附录Ⅰ

附录Ⅰ DXP练习图

图附1-1动态图练习用

图附1-2静态图练习用

14

附录Ⅱ

附录Ⅱ

单片机原理及应用课程设计

专 业: 电气工程及其自动化 设计题目: 寻迹小车设计 班级: 电自1242 学生姓名: 李希孟 学号: 04

指导教师: 赵蕊 分院院长: 许建平 教研室主任: 高纯斌

电气工程学院

15

附录Ⅱ

一、课程设计任务书 1.课程设计项目 寻迹小车设计 2.设计内容 1) 2) 3) 4) 5)

设计题目总体设计方案 硬件电路设计

C语言程序编制与调试 电路系统的综合调试 撰写课程设计论文

6) 完成课程设计论文答辩 3.设计要求

1) 设计一台自动寻电动小车。

2) 电动车能自动寻迹,按设定好的轨迹前进。

3) 设计结束学生应撰写课程设计报告一份,完成课程设计答辩;

4) 课程设计报告内容包括:课程设计题目;设计计划与方案论证;设计方案实现(含程序);课程设计心得。

6)课程设计报告的撰写格式应符合单片机实用技术课程设计报告格式要求。 4、参考资料

[1]李广弟,朱月秀,王秀山编著.单片机基础. 北京:北京航空航天大学出版社,2001

[2] 何立民编著.MCS-51系列单片机应用系统设计系统配置与接口技术.北京:北京航空航天大学出版社,1999

[3] 蔡美琴等编著.MCS-51 单片机系统及应用.北京:高等教育出版社.1992 5.设计进度(2011年6月13日至2011年6月24日) 时间 第1-2天 第3-5天 第6-8天 第9-10天

设计内容 查阅资料,方案比较、设计与论证,理论分析与计算 硬件电路调试 系统调试

书写报告、答辩

6.设计地点

新实验楼323微机实验室

16

附录Ⅱ

评分项目 量化

评分标准 二、评语及成绩

分数 1.独立分析不 很较一与解决问 具10 强 强 般 题的能力 有 回回基 2. 课程设有有答答本计的答辩见 错25 准正正情况 解 误 确 确 确 3. 课程设 有计论文及规整正杂 错25 插图的规范 洁 确 乱 误 范程度 4.工具软件熟练会使需要 10 的使用 使用 用 学习 5.辅导答疑 积 认 应 消 10 极 真 付 极 6.设计态度 积 认 应 消 10 极 真 付 极 17

附录Ⅱ

缺勤次数 10 量化 总分 成绩: 指导教师:

18

7.出勤 全勤 附加评语

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

Top