|
我做了個循跡小車,想實現高速循跡的效果。在操作中,當車子循到丁字路口時,往往無法切入丁字,車子一閃而過就又是直線程序了。想要切入丁字路,就只能減速了。這時最好能夠暫時關閉探頭,使探頭探不到前面的直線,而只執行轉彎程序。
我試了一下,當探頭探到丁字路口時,先用程序使探頭所在的端口置高電平。比如,5個探頭分別接在P10-p14上,當P1=0xf8時,應該執行右轉,但應車速過快,只是當前位置前有一個轉彎動作,但卻一閃而過,不能完成轉彎。如果這時,能在一定時間內關閉探頭,使其暫時不再讀取循跡數據,也許轉彎就能成功了。
有了這種想法,我就寫這么一句程序:if(P1==0xf8) //丁字路口轉彎條件。
{
P1=0xff; //使所有的探頭口置高,意欲關閉探頭。
延時;
轉彎函數;
}
寫上這句程序后,編譯可以通過,但不知有沒有效果?實際測試,校果不明顯。似乎有點作用,但又不確切。
為此,請教這里的高手,程序到底能不能把探頭口真的置高而關閉探頭?
|
|