智能小车仿真程序_第1页
智能小车仿真程序_第2页
智能小车仿真程序_第3页
智能小车仿真程序_第4页
智能小车仿真程序_第5页
全文预览已结束

下载本文档

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

文档简介

1、#include<reg52.h>*#defineucharunsignedchar*/#defineuintunsignedintvoidtimer(unsignedintt)/中断计时/*第一部分Start*unsignedinti;*for(i=0;i<t;i+)/*延时t*50ms*/sbitIN1=P1A0;以下是电机驱动芯片L298管脚位声明TMOD=0X10;sbitPWM1=P1A1;TH0=0x3C;sbitIN2=P1A2;TL0=0xB0;sbitIN3=P1A3;TR1=1;sbitPWM2=P1A4;while(!TF1);sbitIN4=P1A5;

2、TR1=0;sbitRPR3=P1A6;/此处是传感器RPR220管脚位声明sbitRPR4=P1A7;int0()interrupt0sbitRPR1=P2A0;sbitRPR2=P2A1;n=n+1;/默认遥控功能sbitbz1=P0A0;/避障1if(n%2=0)sbitbz2=P0A1;/避障2sbitA=P3A2;/默认为遥控避障工作模式,按下A键后小车变换为循迹避障模式led=0;sbitB=P0A3;/按下B键不放,小车前进elseled=1;sbitC=P0A4;/按下C键不放,小车左转弯EA=1;sbitD=P0A5;/按下D键不放,小车右转弯EX0=1;sbitled=P0

3、A7;IT0=1;intn=1;/*第main()一部分End*EA=1;/*第EX0=1;二部分子函数定义Start*IT0=1;*while(1)/*延时函数while(n%2=1)if(A=1)break;if(A=0&&B=1&&bz1=1)(IN1=0,IN2=1,IN3=0,IN4=1;PWM1=1;PWM2=1;timer(100);/5sPWM1=0;PWM2=0;timer(100);/5sif(A=0&&C=1&&bz1=1)(IN1=0,IN2=1,IN3=0,IN4=1;PWM1=0;PWM2=1;time

4、r(50);PWM1=0;PWM2=1;timer(50);PWM1=0;PWM2=0;timer(10);if(A=0&&D=1&&bz1=1)(IN1=0,IN2=1,IN3=0,IN4=1;PWM1=1;PWM2=0;timer(50);PWM1=1;PWM2=0;timer(50);PWM1=0;PWM2=0;timer(10);if(A=0&&bz1=0)(unsignedintk=0;IN1=0,IN2=1,IN3=1,IN4=0;for(k=0;k<=30;k+)(PWM1=1;PWM2=1;timer(25);PWM1=0;

5、PWM2=0;timer(25);while(n%2=0)(if(A=1)break;if(A=0&&bz1=1&&(RPR4=0&&RPR3=0&&RPR1=0&&RPR2=0)|(RPR1=0&&RPR2=1&&RPR3=1&&RPR4=0)/未检测到黑线,小车继续前进(IN1=0,IN2=1,IN3=0,IN4=1;PWM1=1;PWM2=1;timer(100);PWM1=0;PWM2=0;timer(400);if(A=0&&bz1=1&am

6、p;&RPR1=0&&RPR2=1&&RPR3=0&&RPR4=0)仅左轮检测到黑线,小车向左转弯(IN1=0,IN2=1,IN3=0,IN4=1;PWM1=1;PWM2=1;timer(50);PWM1=0;PWM2=1;timer(50);PWM1=0;PWM2=0;timer(400);if(A=0&&bz1=1&&RPR1=0&&RPR2=0&&RPR3=1&&RPR4=0)仅右轮检测到黑线,小车向右转弯未检测到障碍物IN1=0,IN2=1,IN3=0

7、,IN4=1;PWM1=1;PWM2=1;timer(50);PWM1=1;PWM2=0;timer(50);PWM1=0;PWM2=0;timer(400);if(A=0&&bz1=1&&RPR4=1&&RPR3=0&&RPR1=0&&RPR2=0)/右轮最外围检测到黑线向右大转弯未检测到障碍物IN1=0,IN2=1,IN3=0,IN4=1;PWM1=1;PWM2=1;timer(50);PWM1=1;PWM2=0;timer(100);PWM1=0;PWM2=0;timer(50);if(A=0&&am

8、p;bz1=1&&RPR4=0&&RPR3=0&&RPR1=1&&RPR2=0)左轮最外围检测到黑线左轮大转弯未检测到障碍物IN1=0,IN2=1,IN3=0,IN4=1;PWM1=1;PWM2=1;timer(50);PWM1=0;PWM2=1;timer(100);PWM1=0;PWM2=0;timer(400);if(A=0&&bz1=1&&RPR4=0&&RPR3=0&&RPR1=1&&RPR2=1)/左转90°弯未检测到障碍物IN1

9、=1,IN2=0,IN3=0,IN4=1;while(RPR3=1)(PWM1=1;PWM2=1;timer(250);PWM1=0;PWM2=0;timer(250);)if(A=0&&bz1=1&&RPR4=1&&RPR3=1&&RPR1=0&&RPR2=0)右转90弯(IN1=0,IN2=1,IN3=1,IN4=0;while(RPR4=1)(PWM1=1;PWM2=1;timer(250);PWM1=0;PWM2=0;timer(250);)if(A=0&&bz1=0)(unsignedintk=0;for(k=0;k<=30;k+)(IN1=0,IN2=1,IN3=1,IN4=0;PWM

温馨提示

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

评论

0/150

提交评论