关于高速计数中断的问题

正在学习高速计数,写了段实验程序,想实现的功能是旋转编码器每产生1024个脉冲就调用1次中断,中断程序里使M20.0中间继电器ON一次。程序段如下,产生的问题是自第1个中断产生后M20.0就一直处于ON状态,请各位分析一下,问题在哪儿?

==============

主程序

LD     SM0.1

CALL   SBR_0:SBR0

==============

子程序SBR0

LD     SM0.0

MOVB   16#F8, SMB47

HDEF   1, 1

MOVD   0, SMD48

MOVD   1024, SMD52

ATCH   INT_0:INT0, 13

ENI

HSC    1

==================

中断子程序INT_0

LD     SM0.0

INCD   VD100

MOVD   0, SMD48

MOVB   16#C0, SMB47

HSC    1

=      M20.0

========================== 

最佳答案

中断程序只有在“一瞬间”是被扫描的,而您在这段时间里将m2.0点亮,其余时间不被扫描,于是没有将其熄灭的条件啊。

您可以在主程序中的第一行做复位m0.0,这样m0.0就只能亮1个周期

提问者对于答案的评价:
谢谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc317847.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午4:39
下一篇 2020年11月1日 下午4:39

相关推荐