(完整版)基于单片机的智能循迹小车毕业论文设计 下载本文

turn(count1,180,count2,0); 1110 当第四个LED检测到黑线时,小车右转

if(RP1==1&&RP2==1&&RP3==0&&RP4==0)

turn(count1,100,count2,0); 1100 当第三、四个LED检测到黑线时,小车右转

if(RP1==1&&RP2==0&&RP3==0&&RP4==0)

turn(count1,200,count2,0); 1000当第二、三、四个LED检测到黑线时,小车右大转

****************小车检测到全黑情况的处理**************** if(RP1==0&&RP2==0&&RP3==0&&RP4==0) { if(num==0) {

back1(); 0000 当四个LED第一次检测到黑线时,左轮后退右轮前进,小车左转 forward2();

delay(100); 延时100ms,等待小车转过弯道 }

if(num>0 && num<6) {

turn(count1,200,count2,200); 0000 当四个LED再次检测到黑线的

次数小于6次时 即到达黑线时小车前进速度大于后退速度

}

if(num>=6) {

PWM1=0;

PWM2=0; 当四个LED第六次检测到黑线时,小车停止 } num++; } }

*************第四部分 中断服务函数************* void time0()interrupt 1 {

TH0=()256; 定时1ms TL0=()%6; count1++; count2++;

if(count1>=500) 周期是500ms count1=0;

if(count2>=500) 周期是500ms count2=0; }

附录C 硬件实物图

自动循迹小车

TCRT5000 循迹传感器模块 L298N 电机驱动模块

单片机电路