欢迎来到天天文库
浏览记录
ID:40727914
大小:17.12 KB
页数:7页
时间:2019-08-06
《小车寻线程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、寻线程序内容#include#includesbitA=P1^5;//左边sbitS=P2^1;//中间sbitC=P3^5;//右边sbitM1=P1^0;//左边电机sbitM2=P1^1;//右边电机unsignedcharx=0;unsignedchari,j,k;voidB_right_Turn(void);voidForward(void)//前进{M1=1;delay_nus(1600);M1=0;M2=1;delay_nus(1400);M2=
2、0;delay_nms(20);}voidLeft_Turn(void)//以中心为轴左传{Forward();Forward();Forward();Forward();Forward();Forward();Forward();Forward();for(i=1;i<=29;i++){M1=1;delay_nus(1300);M1=0;M2=1;delay_nus(1300);M2=0;delay_nms(19);}}voidLeft_2(void)//以左轮为轴左传{M1=1;delay_
3、nus(1500);M1=0;M2=1;delay_nus(1400);M2=0;delay_nms(19);}voidRight_Turn(void)//以中心为轴右转{Forward();Forward();Forward();Forward();Forward();Forward();Forward();Forward();for(j=1;j<=29;j++){M1=1;delay_nus(1700);M1=0;M2=1;delay_nus(1700);M2=0;delay_nms(20)
4、;}}voidRight_Turn_2(void)//以中心为轴右转{M1=1;delay_nus(1600);M1=0;M2=1;delay_nus(1600);M2=0;delay_nms(20);}voidRight_2(void)//以右轮为轴右转{M1=1;delay_nus(1600);M1=0;M2=1;delay_nus(1500);M2=0;delay_nms(20);}voidB_right_Turn(void)//右转45度{for(k=1;k<=15;k++){M1=1;
5、delay_nus(1700);M1=0;M2=1;delay_nus(1700);M2=0;delay_nms(20);}}voidz_x(void){while(1){Left_2();if(S==1)break;}}voidy_x(void){while(1){Right_2();if(S==1)break;}}voidmain(){while(1)//1duan{Forward();if(A==1&&S==0&&C==0)//左边检测到黑先z_x();if(C==1&&S==0&&A==
6、0)y_x();if(A==1&&S==1&&C==1)break;}Left_Turn();//左转90度进入2段while(1)//2段{Forward();if(A==1&&S==0&&C==0)//左边检测到黑先z_x();if(C==1&&S==0&&A==0)y_x();if(S==1&&C==1)break;}Right_Turn();//进入3段while(1)//3段{Forward();if(A==1&&S==0&&C==0)//左边检测到黑先z_x();if(C==1&&S
7、==0&&A==0)y_x();if(S==1&&C==1&&A==1)break;}Left_Turn();//左转90度进入4段while(1)//4段{Forward();if(A==1&&S==0&&C==0)//左边检测到黑先z_x();if(C==1&&S==0&&A==0)y_x();if(S==1&&C==1)break;}Right_Turn();//进入5段while(1)//5段{Forward();if(A==1&&S==0&&C==0)//左边检测到黑先z_x();if
8、(C==1&&S==0&&A==0)y_x();if(S==1&&C==1&&A==1)break;}while(C==1
9、
10、A==1)//过渡到6{Forward();}while(1)//6段{Forward();if(A==1&&S==0&&C==0)//左边检测到黑先z_x();if(C==1&&S==0&&A==0)y_x();if(S==1&&C==1)break;}Right_Turn();//进入7段while(1)//7段{Forward();if(A==1&&S==0&&C=
此文档下载收益归作者所有