小车寻线程序.docx_第1页
小车寻线程序.docx_第2页
小车寻线程序.docx_第3页
小车寻线程序.docx_第4页
小车寻线程序.docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

寻线程序内容#include#includesbit A=P15;/左边sbit S=P21;/中间sbit C=P35;/右边sbit M1=P10;/左边电机sbit M2=P11;/右边电机 unsigned char x=0;unsigned char i,j,k;void B_right_Turn(void); void Forward(void)/前进 M1=1;delay_nus(1600); M1=0;M2=1;delay_nus(1400);M2=0;delay_nms(20);void Left_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);void Left_2 (void)/以左轮为轴左传M1=1;delay_nus(1500); M1=0;M2=1;delay_nus(1400);M2=0;delay_nms(19);void Right_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);void Right_Turn_2(void)/以中心为轴右转M1=1;delay_nus(1600); M1=0;M2=1;delay_nus(1600);M2=0;delay_nms(20);void Right_2(void)/以右轮为轴右转M1=1;delay_nus(1600); M1=0;M2=1;delay_nus(1500);M2=0;delay_nms(20);void B_right_Turn(void)/右转45度 for(k=1;k=15;k+)M1=1;delay_nus(1700); M1=0;M2=1;delay_nus(1700);M2=0;delay_nms(20);void z_x (void)while(1)Left_2();if(S=1) break;void y_x (void) while(1)Right_2();if(S=1) break;void main()while(1)/1 duanForward();if(A=1&S=0&C=0)/左边检测到黑先z_x(); if(C=1&S=0&A=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=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(C=1&S=0&A=0) y_x();if(S=1&C=1&A=1) break; while(C=1|A=1)/过渡到6Forward();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=0)/左边检测到黑先z_x();if(C=1&S=0&A=0) y_x();if(S=1&C=1) break;Right_Turn();/进入8段while(1)/进入8段Forward();if(A=1&S=0&C=0)/左边检测到黑先z_x();if(C=1&S=0&A=0) y_x();if(A=1&S=1) break;x=0;while(x20)/过渡到0.5msForward();x+;while(1)/9段Forward();if(A=1&S=0&C=0)/左边检测到黑先z_x();if(C=1&S=0&A=0) y_x();if(A=1&S=1) break;Left_Turn();/左转90度进入10段while(1)/10段Forward();if(A=1&S=0&C=0)/左边检测到黑先z_x();if(C=1&S=0&A=0) y_x();if(A=1&S=1) break;Left_Turn();/左转90度进入11段while(1)/11段Forward();if(A=1&S=0&C=0)/左边检测到黑先z_x();if(C=1&S=0&A=0) y_x();if(C=1&S=1) break;x=0;while(x20)/过渡到12段Forward();x+;while(1)/12段Forward();if(A=1&S=0&C=0)/左边检测到黑先z_x();if(C=1&S=0&A=0) y_x();if(A=1&S=1) break;Left_Turn();/左转90度进入13段while(1)/13段Forward();if(A=1&S=0&C=0)/左边检测到黑先z_x();if(C=1&S=0&A=0) y_x();if(C=1&S=1&A=1) Forward();/* Forward();Forward();x=0;while(x20)/过渡到14段 135度Right_Turn_2();x+;x=0;while(x35)/到14段Forward();x+;if(A=1&S=0&C=0)/左边检测到黑先z_x();if(C=1&S=0&A=0) y_x();Right_Turn();Right_Turn();/ 180x=40;while(x)Forward();x-;Forward();

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论