51单片机中如何写出小车匀速前进的程序

51单片机中如何写出小车匀速前进的程序,第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判断去了得了,(仅代表自己看法,我也不怎么懂啊)。自己多调试调试,肯定能做好的。

红外遥控小车,关键是小车上要有一个红外接收头,接收红外遥控器发送的红外信号。按下数字2,是单片机板上的按键吧,这首先必须要对所用按键编码,小车接收后再解码,这样小车才能识别按键。至于小车启动,就发送数字2的编码即可。下图是红外接收头。


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

原文地址: http://outofmemory.cn/yw/7814508.html

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

发表评论

登录后才能评论

评论列表(0条)

保存