如何不停的调用延时子程序,又不至于造成单片机工作过程中的混乱?
具体情况是这样的,我要实现零件不间断的检测,有位置固定的摄像头采集图像,交给电脑处理,电脑判断是良品、次品,并通知单片机,良品在皮带上传送到良品箱位置时由一个推料器将其推...
具体情况是这样的,我要实现零件不间断的检测,有位置固定的摄像头采集图像,交给电脑处理,电脑判断是良品、次品,并通知单片机,良品在皮带上传送到良品箱位置时由一个推料器将其推入箱中;同样,检测为次品时,由另一个推料器将次品推入另一次品推料箱。这里存在一个零件的延时还没结束,另一个零件的延时又开始的问题,重复调用会造成程序运行混乱啊
tarzanfun猜的对,我就是这个意思啊,最好是能有人帮我给出这个程序! 展开
tarzanfun猜的对,我就是这个意思啊,最好是能有人帮我给出这个程序! 展开
展开全部
单片机本来就可以用C 编程的,当然可以
很简单一个比如
delay(int y)
{
for(int x=0;x<y;x++)
for(int y=0;y<110;y++)
}
很简单一个比如
delay(int y)
{
for(int x=0;x<y;x++)
for(int y=0;y<110;y++)
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设个标志位,延时开始的时候置位,延时结束清零,标志位置位期间不开始新的延时。
没说清楚延时子程序是做什么用的。。。
没说清楚延时子程序是做什么用的。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对不起,“这里存在一个零件的延时还没结束,另一个零件的延时又开始的问题,”这句话不太容易理解,你能说的再详细一点吗?
更多追问追答
追问
比如说第一个零件过来了,然后开始调用延时子程序,但是在延时还没有完的时候又过来一个零件,这时候又要延时了,但是刚才的调用尚未结束,会造成从头又开始延时了,我要的是良品的延时时间是2.5 S,次品的是2.52 S。
追答
你说的是单片机的程序还是上位机的程序?你反过来看一下你的说明,真的是让人一头雾水啊,能再表达的好一点么?你用的是什么样的延时,定时器延时还是普通的循环数延时?零件过来了是怎么通知的单片机,中断还是循环检测还是说完全不检测凭感觉?皮带是不是匀速运行不受控制?都要我自己猜么?
闲着无聊我就先猜一下,是不是这样:每个产品通过检测摄像头的时候为时间0,2.5s后该产品到达良品推料器,2.52s后到达次品推料器,因此对一个产品检测后要,单片机要隔至少2.5秒的时间做出对这个产品的操作,但是此时可能已经接收到了10个(打个比方)产品的检测结果,这就是你的问题所在。
是这个意思么?确认后我再告诉你我的想法。还有几个问题,请问两个推料器是一个单片机控制的还是两个单片机分别控制的?零件之间的间隔不是不是固定的?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那就用定时器了,让定时器每隔固定的时间发生一次中断,在中断中处理事情,这样简单吧?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询