资源描述:
《单片机第二个实验.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验二单片机综合应用实验四、实验过程中遇到的问题及解决方案1、左拐容易撞墙:由于我们的红外避障传感器采用的是一前一左布置,由于左边传感器检测到没有障碍就会左拐,假设紧接着又有左拐,此时后轮还没有走过隔板,左拐直行当然会撞到隔板上,所以我们在左拐子程序里面加了一段直行,通过控制直行时间,很好的解决了这个问题。2、避障子程序跟循迹子程序的结合:由于避障我们选用的是左拐优先级最高,所以当沿黑线走到没有隔板的地方的时候,左侧红外避障传感器就会检测到没有信号,小车就会左拐,这样右侧的黑白线检测传感器就会检测到黑线,小车就会右拐,右拐后使得左侧的黑白线检测传感器检测到
2、黑线,小车便会左拐,然后便会如此循环,左右摆动、停止不前,不能实现循迹的功能。一开始以为是循迹程序中的左右拐的时间设置的不合理,结果多次修改试验仍然不行。最终通过,把避障改为直行优先,以及在避障中的左右转改为一个车轮转一个停,而不像避障中的一个反转、一个正转。经过修改试验,两个子程序实现了很好的结合。五、实验中电机驱动电路图及轮子转速控制电路图四、实验程序框图及实验程序开始1、实验程序框图程序初始化Y左转2右偏黑线NY左偏黑线右转2N左侧是否有障碍Y前方是否有障碍YNN左转1右转1直行N直行1是否到达终点Y减速停止1、实验程序;--------------
3、--------编写者:屈春雷-------------;---------------------2014年10月18日12:19-------------ORG0000H;初始化LJMPSTARTORG0100HSTART:SETBP2.5;使能端置1SETBP2.2SETBP3.3SETBP1.7SETBP3.5SETBP3.4KS2:JNBP3.5,XIA;读取循迹传感器状态,白是0,黑是1LJMPLEFT2XIA:JNBP3.4,KSLJMPRIGHT2KS:JBP1.7,ZZ;读取红外传感器状态,左面,有东西是1,没东西是0JBP3.3,LEF
4、TLJMPRIGHTZZ:MOVR1,#1H;电机直走ZZZ:CLRP2.1SETBP2.0;CLRP2.3SETBP2.4CALLDELAYZ1LJMPKS2;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRIGHT:MOVR2,#13MOVR7,#3CLRP2.1;CLRP2.3SETBP2.0SETBP2.4ZZZ0:CALLDELAYZ1DJNZR7,ZZZ0RIGHT1:CLRP2.0;电机2(右)正转SETBP2.1SETBP2.4;电机1(左)反转CLRP2.3CALLDELAYZ1DJNZ
5、R2,RIGHT1AJMPKS2LEFT:MOVR3,#14MOVR5,#25MOVR6,#3;电机直走CLRP2.1;CLRP2.3SETBP2.0SETBP2.4ZZZ1:CALLDELAYZ1DJNZR6,ZZZ1LEFT1:SETBP2.0;电机2(右)正转CLRP2.1CLRP2.4;电机1(左)反转SETBP2.3;电机1(左)正转CALLDELAYZ1DJNZR3,LEFT1AJMPKS2DELAYZ1:MOVTMOD,#10H;通过计时器延时0.05S,工作方式1MOVTH1,#4BHMOVTL1,#0FDHMOVIE,#00HSETBTR
6、1LOOOP:JBCTF1,LOOOP1AJMPLOOOPLOOOP1:RETIDELAYZ2:MOVTMOD,#10H;通过计时器延时0.05S,工作方式1MOVTH1,#0DBHMOVTL1,#0FDHMOVIE,#00HSETBTR1LOOOP3:JBCTF1,LOOOP1AJMPLOOOPLOOOP4:RETIZZ2:CLRP2.1;电机直走SETBP2.0;CLRP2.3SETBP2.4CALLDELAYZ1LJMPKS2;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRIGHT2:CLRP2.
7、0;电机2(右)正转CLRP2.1SETBP2.4;电机1(左)反转CLRP2.3CALLDELAYZ1AJMPKS2LEFT2:CLRP2.3;电机2(右)反转CLRP2.1CLRP2.4SETBP2.0;电机1(左)正转CALLDELAYZ1AJMPKS2;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbENDSTART