版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理与接口技术专用周报告所属系部: 电气信息工程系 班 级: 10级通信技术 姓 名: 指导老师: 摘 要这次的小车走迷宫实验是通过一个8位单片机p89c51rd2来指挥小车穿越迷宫,主要原理是由声控使小车开始驱动,然后通过四个传感器来判断障碍物的方位,并确定小车的转向避开障碍物,最后小车成功的走出迷宫。下面就来简单的介绍下单片机p89v51rd2:p89v51rd2单片机是飞利浦公司生产的msc-51系列单片机中具有代表性的一种,p89v51rd2单片机中集成了64kb的片内 flash程序存储器和1kb的数据存储器。程序存储器具有isp(系统编程)和iap(应用编程)功能,使用isp软
2、件可以非常方便的实现程序的写入和读出。isp允许在软件控制下对成品中的器件进行重复编程。通过软件或isp选择支持12时钟或6时钟。p89v51rd2单片机是5v的工作电压,操作频率为040mhz。关键词:单片机 ;迷宫 ;红外线检测 ;穿越迷宫 ;躲避障碍 ;目录第一章课题介绍41.1实验目的41.2专用周内容41.3实验方案51.3.1系统原理图51.3.2红外线检测值5第二章硬件电路及其功能62.1单片机主板电路62.2红外线检测模块82.3驱动电路及电源电路92.3.1驱动电路分析92.3.2电源电路分析9第三章程序设计113.1流程图113.2程序清单123.3总体功能说明16第四章总
3、结174.1熊伟174.2陈喂婷19参考文献21第一章课题介绍1.1实验目的本专用周的开设以锻炼和提高我们的单片机应用能力为目的,在实际的课题设计中以锻炼我们的以下方面的能力:单片机硬件电路的基本设计方法;单片机简单接口电路的设计(a/d接口、按键显示器接口,功率接口和传感器接口等)简单应用程序的编写和调试;简单控制方法的设计和相应程序的设计方法;培养我们的专业创新能力;培养我们的专业精神;1.2专用周内容此次专用周,我们小组研究的是小车走迷宫的课题,迷宫图纸如下:1.3实验方案 我们设计的“走迷宫的小车”这一套系统主要是让小车自主的从迷宫的入口走到出口。在这一过程中,小车通过左、左前、右前、
4、右四个红外模块实现对周围障碍物的实时测距来实现避障功能;在小车的行走过程中,也会实时地把小车的移动距离、速度等信息通过电脑软件设计后下载到p89c51rd2单片机中,单片机根据红外线检测模块反馈回来的信息判断小车应该怎样行走。1.3.1系统原理图p89c51rd2单片机小车运动驱动电机红外检测模块数码管显示1.3.2红外线检测值左方左前方右前方右方小车状态00000001左转00100011左调010001010110丁字路口判断0111左转10001001前进101010111100右调11011110右转1111转圈第二章硬件电路及其功能本次实验主要应用到了p89c51rd2单片机、红外检
5、测模块、显示模块、声控电路、电源电路和驱动电路。2.1单片机主板电路本次实验主要用到了p89c51rd2单片机,该芯片是飞利浦公司生产的msc-51系列单片机中具有代表性的一种,p89v51rd2单片机中集成了64kb的片内 flash程序存储器和1kb的数据存储器。程序存储器具有isp(系统编程)和iap(应用编程)功能,使用isp软件可以非常方便的实现程序的写入和读出。isp允许在软件控制下对成品中的器件进行重复编程。通过软件或isp选择支持12时钟或6时钟。p89v51rd2单片机是5v的工作电压,操作频率为040mhz。p89c51rd2单片机的特性:80c51核心处理单元;5v的工作
6、电压,操作频率为040mhz;64kb的片内flash程序存储器,具有isp(在系统编程)和iap(在应用中编程)功能;能通过软件或isp选择支持12时钟(默认)或6时钟模式;spi(串行外围接口)和增强型uart;pca(可编程计数器阵列),具有pwm和捕获/比较功能;有4个8位i/o口分别是p0、p1、p2、p3,其中p0是数据传输口;内置3个16位定时器/计数器,分别为t0、t1、t2;可编程看门狗定时器(wdt);含有8个中断源,4个中断优先级2个dptr寄存器;低emi方式(ale禁能);兼容ttl和cmos逻辑电平;掉电检测;低功耗模式* 掉电模式,外部中断唤醒;* 空闲模式;2.
7、2红外线检测模块本次实验我们采用了四个红外线传感器来检测障碍物的方位,每个传感器都有一个发射端一个接收端,接收端的频率应该跟单片机主板的频率是一样的。我们根据传感器发射和接收到的数据比对判断该方位是否有障碍物。例如:我们使传感器发射十次,然后观察接收端的值判断是否有障碍物,如果接收次数低于六次就判定该方位没有障碍物,反之接收次数大于六次就判定该方位有障碍物。2.3驱动电路及电源电路2.3.1驱动电路分析左右两边的驱动电路完全是一样的,驱动电路部分主要由晶体三极管、电阻、电容和与门、非门等器件组成,构成了一个h桥电路。a、单片机端口的分配 左侧电机前进pwm控制信号: p1.7(cex4) 左侧
8、电机后退pwm控制信号: p1.6(cex3) 右侧电机前进pwm控制信号: p1.5(cex2) 右侧电机后退pwm控制信号: p1.4(cex1)b、软件思路当左侧电机反转,同时右侧电机正转,则小车向左转。当右侧电机反转,同时左侧电机正转,则小车向右转。当左右电机同时正转,则小车前进。当左右电机同时反转,则小车后退。当一个电机正转,同时另一个不转的时候,小车将在原地转圈。c、硬件电路分析当左侧电机需要正转时,l-端保持为“1”,电机的转动速度由l+端的占空比决定;当左侧电机需要反转时,l+端保持为“1”,电机的转动速度由l-端的占空比决定;当右侧电机需要正转时,r-端保持为“1”,电机的转
9、动速度由r+端的占空比决定;当右侧电机需要反转时,r+端保持为“1”,电机的转动速度由r-端的占空比决定。2.3.2电源电路分析本次实验的电路主要是由lt1117-5构成的直流稳压电路组成,此电路能连接电源和电池,在这里应用于此实验能使本实验的电源稳定,有效的提供电压。该电源为单片机主板和电机提供电压,促使小车中的各个模块能正常工作。第三章程序设计3.1流程图检测障碍程序:开始声音或按键启动pwm初始化调用左侧检测调用左前检测调用右前检测调用右侧检测调用结论入口设置发射次数开发射延时600us检测收到了没收到寄存器+1关发射发射次数-1=0?接收次数大于等于6?置1清0出口yyyyyyyyyn
10、nnnnnnnn主程序:a=09h?a=0fh?转圈前进a=0eh?a=07h?左转右转结论判断程序:入口a=06h?a=0ch?a=03h?屏蔽高4位的值20h的内容赋给a右调左调丁字路口r7+1r7值判断调相应路口转向出口3.2程序清单障碍物检测程序:zj1:movr0,#00h;检测左障碍movr1,#10lk:setbp3.3;开发射lcalldel;600us延时jbp3.7,lg;判断接收到了没incr0lg:clrp3.3;关发射lcalldel;600us延时djnzr1,lk;10次发送完了吗?cjner0,#6,l1 ;判断接收次数是否大于6l1:jcwu;setb00hr
11、etwu:clr00h;retzj2:movr0,#00h;检测左前障碍movr2,#10lk2:setbp3.3 ;开发射lcalldeljbp2.2,lg2incr0lg2:clrp3.3;关发射lcalldeldjnzr2,lk2cjner0,#6,l2;判断接收次数是否大于6l2:jcwu2setb01hretwu2:clr01hretrj1:movr3,#00h;检测右前障碍movr4,#10rk:setbp3.3;开发射lcalldeljbp2.3,rgincr3rg:clrp3.3;关发射lcalldeldjnzr4,rkcjner3,#6,l3;判断接收次数是否大于6l3:jc
12、wu1setb02hretwu1:clr02hretrj2:movr3,#00h;检测右障碍movr5,#10rk2:setbp3.4 ;开发射lcalldeljbp3.5,rg2incr3rg2:clrp3.4;关发射lcalldeldjnzr5,rk2cjner3,#6,l4;判断接收次数是否大于6l4:jcwu3setb03hretwu3:clr03hret小车结论判断程序:jl:mova,20h;结论判断anla,#0fhbj:cjnea,#03h,bj1;右调lcallytretbj1:cjnea,#00h,bj2;左调lcallztretbj2:cjnea,#06h,bj3;丁字口
13、clrp3.3;关发射clrp3.4incr7cjner7,#00h,d1lcallllcalldelcalldelcalldelcalldelcallded1:cjner7,#01h,d2lcallrlcalldelcalldelcalldelcalldelcallded2:cjner7,#02h,d3lcallrlcalldelcalldelcalldelcalldelcallded3:cjner7,#03h,d4lcallllcalldelcalldelcalldelcalldelcalldemovr7,#00hd4:retbj3:cjnea,#07h,bj4;右转lcallrretbj
14、4:cjnea,#0eh,bj5;左转lcalllretbj5:cjnea,#0fh,bj6;转圈lcallzqretbj6:cjnea,#09h,bj7;前进lcallqjretbj7:cjnea,#08h,bj8lcalllretbj8:lcallqj;调用前进程序ret小车驱动程序:qj:lcallstop;前进movccapm1,#00hmovccapm3,#00hmovccapm2,#42hmovccap2h,#88movccapm4,#42hmovccap4h,#80movccon,#40hretzt:lcallstop;左调movccapm1,#00hmovccapm4,#00h
15、movccapm2,#42hmovccap2h,#40movccapm3,#42hmovccap3h,#20movccon,#40hretyt:lcallstop;右调movccapm1,#00hmovccapm3,#00hmovccapm1,#42hmovccap1h,#20movccapm4,#42hmovccap4h,#40movccon,#40hretl:lcallstop;左转movccapm1,#00hmovccapm4,#00hmovccapm2,#42hmovccap2h,#90movccapm3,#42hmovccap3h,#40movccon,#40hretr:lcalls
16、top;右转movccapm2,#00hmovccapm3,#00hmovccapm1,#42hmovccap1h,#40movccapm4,#42hmovccap4h,#80movccon,#40hretzq:lcallstop;转圈movccapm1,#00hmovccapm4,#00hmovccapm2,#42hmovccap2h,#60movccapm3,#42hmovccap3h,#60movccon,#40hretstop:setbp1.4;停车setbp1.5setbp1.6setbp1.7movccon,#00hret时钟显示程序:ll:clrp1.2; 时钟显示setbp1.
17、3setbp1.0movdptr,#tab;查表mova,50hmovca,a+dptrmovp0,alcalldellclrp1.3setbp1.2setbp1.0movdptr,#tabmova,51hmovca,a+dptrmovp0,alcalldellclrp1.0setbp1.2setbp1.3movdptr,#tabmova,52hmovca,a+dptrmovp0,alcalldellretdel:mov70h,#3del1:mov71h,#100del2:djnz71h,del2djnz70h,del1retdell:mov72h,#10dell1:mov73h,#100de
18、ll2:djnz73h,dell2djnz72h,dell1retde:mov82h,#250de1:mov83h,#250de2:djnz83h,de2djnz82h,de1rettab:db 03h,9fh,25h,0dh,99hdb 49h,41h,1fh,01h,09hend3.3总体功能说明 小车的主要功能就是通过四个传感器来检测周围障碍物的情况来确定小车的转向,从而成功的走出迷宫的功能。 要想成功的走出迷宫并不是一件容易的事,特别是在硬件调试过程中。当编写完程序并下载好后便进行小车的硬件调试,首先通过声控来使小车启动,刚启动时让小车直走,就小车行走来说,刚开始调的时候,小车总是偏向
19、左边行走,为了能使小车走直线,我们在pwm调速模块中不断改变它的占空比,直到小车基本能走直线为止。车上装有四个传感器。当左边和右边同时有障碍物时,小车直走。进入第一个路口时,前面和左边有障碍物,按照原理,小车的四个传感所检测的结果是左边和右边有障碍物,小车应该向左转。可是由于外界干扰和红外的检测距离的调试不当,使检测结果出现了误差,让小车直接撞在了前面的障碍物上,一开始我们还并没找到问题的所在,还以为是车速的问题,于是便重新调节了速度再次试车,可相同的问题出现了,才知道原来是传感器的灵敏度没调节好,红外的调节是一件相当困难的事,首先是太阳光对红外检测的干扰很大,为此,只好把所有的窗帘关上尽量的
20、减小太阳光的干扰。再有就是调节传感器的红外线检测距离,检测距离不能太长也不能太短,为了尽量让检测结果准确些,我们把小车放在每一个路口仔细的调节,有时在这个路口调节好了的,可是在另一个路口又出现了问题,因为不能兼顾两个路口,这样就非常麻烦,最后经过我们很久的调节,终于可以让每个路口都能得到准确地检测,而让小车做出正确的走向。出了在每个路口的调节外,还有个难题就是当遇见丁字路口时小车的转向,因为整个迷宫中一共有四个丁字路口,而每个丁字路口的转向要根据小车所在迷宫的位置而改变,所以这就不能像前面一样直接判断检测结果而让小车做出相应的转向。由每次出现这种情况的转向不一样,刚开始真的是伤透了脑筋,幸好之
21、前老师给的提示说我们可以通过判断遇见丁字路口的次数来控制小车的转向,经过试验,这方法的确可以,但是,有时由于红外线的检测问题偶尔会把其他路口误判成丁字路口,这样就完全改变了计算丁字路口的次数而当真正遇见丁字路口是却做出了错误的转向。这就需要我们把每个传感器都调节好才能顺利的走出迷宫。另外,要想让小车走出迷宫,最基本的是小车有足够的电量来行走,可是小车却经常是没有电,有时刚下好程序准备试车小车却突然没电了,这又要重新下载程序,有时又是走到一半又没电了,为此,我们不怕麻烦的用插板和充电器 一直带着小车,小车走到哪儿就跟到哪儿。终于在我们不断地努力下,小车成功的走出了迷宫。我们的小车与其他小车相比我
22、们的小车更具优越性:我们的小车用了四个红外传感器,左边和右边各有一个但是与其他小车不同的是我们小车的左右两边传感器是安装在小车的车身的,而不同于其他小车的是我们的小车在左前方和右前方也各有一个红外传感器,这样就可以减少前方传感器检测错误的误差,提高了小车在障碍物检测中的精度,使小车能够尽可能的做出正确的判断而顺利的走出迷宫。第四章总结4.1熊伟两周的单片机实训周很快就结束了,在这两周中我学到了不少东西,除了学习到书本中的知识,学会了自主寻找问题和解决问题,加强了动手的能力,还学会了团结互助。更深刻的认识团结力量的强大。实训前两天老师要求我们画出我们本次实验所用到的所有电路原理图,我们想这不是没
23、事找事吗,单片机小车的图纸我们都是有的,干嘛要费那么多时间去画图啊?可是接下来的两天我就明白了老师的用意了,接下来的两天就是我们设计程序的时间,此时我们需要很明确的知道我们所需要用到的硬件,不仅仅是知道这个硬件装在小车的什么地方,更重要的是需要知道它们的功能,我们需要用到它的什么功能。我们还需要有意识的检测该硬件是不是好的,我们能怎么用它等。接着便正式进入我们的实验,因为小车是早就装配好了的,所以我们就只需认识小车的几个功能模块,并检测他们的好坏等。首先,我很快的找到了我的队友,我们一起商量在小车迷宫避障、巡线、光导、温度测量四个课题中选择了小车迷宫避障这个课题,并确定了用4个红外传感器来检测
24、障碍物的方位,确定小车的行驶路线。在这个看似简单的实验中,我们遇到了很多很多没想到的问题,例如小车在弯道中打转转不按行车路径行走,小车在路口不只向哪个方向行走,小车走入死胡同等等为了节省程序下载到小车进入跑道中间的电,也为了让小车能稳定运行,我们采用声音启动或者按键启动的方法。其次,在迷宫小车硬件调试过程中,我们确定了以红外模块检测障碍物的思路。1、在红外方面,最大的问题就是太阳光对红外检测的干扰很大和红外的检测距离的调试。所以我们将窗帘关上,有效的避免太阳光的干扰,为调试红外的检测距离,我们编写了障碍物方位检测的程序,并加上显示,将小车放入跑道的没个转弯处对传感器的灵敏度进行调整,检测距离不
25、能太长也不能太短,必须调到适当的距离,为此我们调整了无数次才确定了传感器的检测距离。2、就小车行走来说,刚开始调的时候,小车总是偏向左边行走,为了能使小车走直线,我们在pwm调速模块中不断改变它的占空比,直到小车基本能走直线为止。虽然我们将小车调节到能基本走直线,但是我们还需要调解小车转车的速度,我们在小车穿越迷宫的时候,在一个本该向左转的路口,小车并没有向左转,而是直接向前行驶进入死胡同,然后转个圈向起点方向行驶,为此我们伤透了脑筋,不断的寻找问题的所在,不断的探寻调整小车轮子的转速和传感器的灵敏度以及修改程序,一点一点的像目的地前进。最后就是调试小车的运动了,我们反复的测试小车运动,期望它
26、能像我们预想的一样在迷宫中按我们预想的路线行走,可事实总是与我们想象的相差太远。刚开始小车还能在迷宫中行走一段路线,但是等我们回去修改了再试时,因为前方的传感器灵敏度太强了,所以小车在进第一个路口的时候还没到转弯处便开始转弯,最后要么是转出口要么就在跑道中转圈,本次实验试车过程中有很多时候都是因为传感器的灵敏度调节的问题而使小车不能顺利走出迷宫,所以调节传感器灵敏度是一件需要相当大的耐心才能完成的事情,很多次都是只差一点点就能成功了,但是结果还是给我说不行,你还需要努力。经过我们不断地努力终于成功的将小车调到适当点完成了试验。 在本次实训中帮助我复习了本期单片机的大部分知识,也让我明白了书本上
27、的知识不是万能的,我们还需加强我们的动手能力才能适应社会。因此我们需要努力的学习书本知识,并将书本知识运用到我们的生活中去,无聊的时候弄一些小型的坏掉的电器看看,利用学过的知识寻找问题的所在,并尝试着去解决它。最后感谢学校帮我们开展的此次实训课,除了我学到新的知识以外,还让我学会了团结的重要性。4.2陈喂婷实训总结 进入大二以来,课程突然变得很沉重,四科专业课都很重要,单片机也不列外,因此在平时的学习当中对单片机的知识掌握的不是很牢固,所以我很珍惜这次实训的机会。这次实训让我们对以前很多不懂得知识有了更多的了解,让我知道了以前有哪些地方的不足,知道了自己还有哪些知识没有搞懂,这次实训可以说是对单机的全面复习。 这次实训的时间是两周,一共有四个主题,小车走迷宫、小车巡线、光导和温控实验。实训一开始我们便各自选择了自己喜欢的项目,我们做的是小车走迷宫实验,这个实验所需要的知识需要我们运用以前做过实验的知识,我们要懂得运用这些知识,把它们合理的结合起来才能成功的完成这次的实训。 这个实验一开始看起来很困难,我们要完全自己编写程序来控制小车的运行,让小车避开障碍来走出迷宫。其中比较困难的是当小车遇见丁字路口是的转向,因为在整个迷宫
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 老年慢病综合征的评估
- 2024农民承包土地合同书
- 专题 07课内阅读(所有课内片段阅读) -2022-2023学年五年级语文下册期末专项复习(部编版)
- 2024简易维修合同格式
- 2024常用房屋装修合同范本
- 2024建筑工程专业分包合同
- 2024建筑工程承包施工合同书格式
- 2024工地运输合同参考范文
- 计算机编程培训课程
- 关于实习生实习报告模板集锦7篇
- 直播技巧培训
- 数据分析师历年考试真题试题库(含答案)
- 心房颤动与认知功能障碍发生机制研究进展
- 2024年全国教育大会精神全文课件
- 山东省济宁市曲阜市2024-2025学年九年级数学上学期期中试卷
- 2024统编新版小学四年级语文上册第八单元:大单元整体教学设计
- 羽毛球运动教学与训练智慧树知到答案2024年黑龙江农业工程职业学院
- (完整版)工匠精神课件
- 危大工程动态判定表
- 文件袋、档案袋密封条模板
- 碎石组织供应及运输售后服务保障方案
评论
0/150
提交评论