汇编小问题

2019-03-24 19:42发布

求助,汇编小问题

p3.0=启动
p3.1=停止
p3.2=上限
p3.3=下限

p1.0=夹具
p1.1=进退
p1.2=电机
启动--输出夹具--延时0。5s--输出电机,进退--下限--延时1s--关进退--上限--关夹具,电机

停止-- 马上停止--夹具电机保持停止前原状--上限位--关电机,关夹具
             启动无效          并马上停止进退


不能用软件延时,因为在启动后延时期间停止键是无效的,起不到急停的作用,本人试过。
中断定时方法还没钻进去,求高手解答。
新手多多光照,学单片机半个月了。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
16条回答
辛昕
2019-03-25 23:10
嗯,这也是一种好的思路。
把按键用IO口模拟判断,然后把程序做在定时中断里或者主程序里不断查询。10ms一次的定时中断,在一定程度上可以简化消抖。

不过,建议还是中断完成,只是定时中断而不是 外部中断,用主程序,势必要不断查询,这样程序写起来别扭,也不流畅。

具体方法是,有些动作是没办法一次过完成的,有时还要加适当延时,比如说,消抖。
但是,这个延时未必,或者说大都数时候绝对不允许用 所谓的 软件延时完成,除非这个延时很短,否则程序流程会被卡住。

一种方法,我现在常用,在一个定时中断中,设立若干个静态计数器,每进一次就计一次数,然后再设立若干个不同阶段动作的标志,到什么时间就植什么标志,这样,每次,程序只是在定时中断到来之际查询,但他的效果却跟延时一样。

一周热门 更多>