找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2524|回复: 0
打印 上一主题 下一主题
收起左侧

51单片机,如何用程序暂时关闭循迹探头?

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





分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表