求助,汇编小问题
p3.0=启动
p3.1=停止
p3.2=上限
p3.3=下限
p1.0=夹具
p1.1=进退
p1.2=电机
启动--输出夹具--
延时0。5s--输出电机,进退--下限--延时1s--关进退--上限--关夹具,电机
停止-- 马上停止--夹具电机保持停止前原状--上限位--关电机,关夹具
启动无效 并马上停止进退
不能用
软件延时,因为在启动后延时期间停止键是无效的,起不到急停的作用,本人试过。
中断定时方法还没钻进去,求
高手解答。
新手多多光照,学
单片机半个月了。
此帖出自
小平头技术问答
延时必然不能用软件延时,否则急停不了,这个不用试都能知道。
启动 和 停止 是两个功能,停止 就是你急停以后要求执行的一系列动作对吧?
沙发说的对,我补充一下他没说完的。
把停止键连到外部中断,然后在 外部中断服务程序里 写你 停止以后那一系列的动作对应的代码就OK了。
至于说 中断不会玩,这就是编程问题了,好说好说,把代码贴上来,大家伙给你瞧瞧.....
不过,关于使用外部中断的方法,我觉得还需要更进一步讨论,外部中断这个玩意,好处是有的,在这里用也非常合适,但是考虑到 抖动误触发等问题——特别是你这个是机械按键——我就试过,刚开始的时候,拼命进入中断,本来一次按键进入了N次。
如果你这东西真的是液压机构,那就危险了。
因为 按键抖动是一回事,另外不好说在什么时候这个开关上会产生什么毛刺之类的东西,极可能误触发,急停倒是安全的,虽然说老停机很烦。
要是启动键那就麻烦了。
具体这些机床上是如何做的我不清楚,我提供一个思路是,
不要简单的一次外部中断就触发。
把外部中断设置成 电平触发,然后,适当延时——这里延时的方法可以是,让它多次进中断,进一次就计数加1,要加到一定数额才能确定是一个中断。
至于数额多大,两种方法:
1 实际调试
2 分析计算,每次进入中断至少花了多少时间,再来估计。
实际上,两种方法结合起来用,第二种粗侧,第一种细调,当然更快的方法是直接第一种,猜呗。
一周热门 更多>