|
我做了个循迹小车,想实现高速循迹的效果。在操作中,当车子循到丁字路口时,往往无法切入丁字,车子一闪而过就又是直线程序了。想要切入丁字路,就只能减速了。这时最好能够暂时关闭探头,使探头探不到前面的直线,而只执行转弯程序。
我试了一下,当探头探到丁字路口时,先用程序使探头所在的端口置高电平。比如,5个探头分别接在P10-p14上,当P1=0xf8时,应该执行右转,但应车速过快,只是当前位置前有一个转弯动作,但却一闪而过,不能完成转弯。如果这时,能在一定时间内关闭探头,使其暂时不再读取循迹数据,也许转弯就能成功了。
有了这种想法,我就写这么一句程序:if(P1==0xf8) //丁字路口转弯条件。
{
P1=0xff; //使所有的探头口置高,意欲关闭探头。
延时;
转弯函数;
}
写上这句程序后,编译可以通过,但不知有没有效果?实际测试,校果不明显。似乎有点作用,但又不确切。
为此,请教这里的高手,程序到底能不能把探头口真的置高而关闭探头?
|
|