大神,请问51单片机控制的智能小车识别铁片后进入外部中断,停车2秒,然后继续前进。程序该怎么写?

大神,请问51单片机控制的智能小车识别铁片后进入外部中断,停车2秒,然后继续前进。程序该怎么写?,第1张

你在中断里面把flag=1进入主指老烂函数后flag一直保持1,而你中断的判断条件是if(flag==0&&P32==0),它就进不了中断了。你要想这么写的话可以改成这样含芹看看:

void INT_0() interrupt 0

{

flag==0;

if(flag==0)

{

P2=0x00 //小车停车

delayms(2000) //延时两秒

flag=1

}

}

或者干脆把if判断去了得了,(仅代表自己看法,我也不怎么唯漏懂啊)。自己多调试调试,肯定能做好的。

简单的和你说下吧。

就使用AT89S52吧

接2个电机到单片机的P10,P11脚。

查看电机的参数,看它转速的时序。

比如发一个持续1.7MS的高电平它就顺时针全速转动,发1.3MS的高电平它就逆时针全速转动。掘弊培1.5MS时为静止。

编程的话 前进 使一个轮子顺卜租时针,一个轮子逆时针。就这样写

P1_0=1

delay_nus(1700)P1_0=0

P1_1=1

delay_nus(1300)P1_1=0

后退就把P10和P11换下。

你的前进和后退的要求就完成了。

壁障。可以使用判唯红外线壁障。也可以使用2个铁丝壁障。原理一样。红外反射出障碍或者铁丝碰到障碍的条件达到时,执行程序。你说具体点。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/12556398.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存