请教一个有关定时器和定时中断的问题

已锁定

啊Q

  • 帖子

    89
  • 精华

    0
  • 被关注

    0

论坛等级:游民

注册时间:2003-08-02

普通 普通 如何晋级?

请教一个有关定时器和定时中断的问题

457

1

2003-08-08 18:48:42

用Q0.0输出2KHz的脉冲(即周期为500微秒的方波),初始脉宽500微秒,要求脉宽每100毫秒减少1微秒,直至减少到0,再每100毫秒增加1微秒,直至增加到500微秒,如此反复进行。下面是本人编写的两段程序,可是结果却不大一样。
程序(一)
NETWORK 1
LD SM0.1
CALL 初始化
NETWORK 2
LDW= SMW70, SMW68
S M0.0, 1
NETWORK 3
LDW= SMW70, 0
R M0.0, 1
NETWORK 4
LD SM0.0
TON T37, +1
NETWORK 5
LD M0.0
A T37
DECW SMW70
PLS 0
R T37, 1
NETWORK 6
LDN M0.0
A T37
INCW SMW70
PLS 0
R T37, 1

初始化(子程序):
LD SM0.0
MOVB 16#D3, SMB67
MOVW +500, SMW68
MOVW +500, SMW70
PLS 0

程序(二)
NETWORK 1
LD SM0.1
CALL 初始化
NETWORK 2
LDW= SMW70, SMW68
S M0.0, 1
NETWORK 3
LDW= SMW70, 0
R M0.0, 1
NETWORK 4
LD M0.0
ATCH INT_0, 10
NETWORK 5
LDN M0.0
ATCH INT_1, 10

初始化(子程序):
LD SM0.0
MOVB 16#D3, SMB67
MOVW +500, SMW68
MOVW +500, SMW70
MOVB 100, SMB34
ENI
PLS 0

INT_0(中断):
LD SM0.0
DECW SMW70
PLS 0
DTCH 10

INT_1(中断):
LD SM0.0
INCW SMW70
PLS 0
DTCH 10

程序(一)执行的效果很好,
程序(二)的结果是脉宽变化的时间远远大于100毫秒,不知为什么?请教高手!

请教一个有关定时器和定时中断的问题 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。