回复:关于高速计数器的讨论

parker0000

  • 帖子

    102
  • 精华

    1
  • 被关注

    1

论坛等级:游侠

注册时间:2003-06-06

普通 普通 如何晋级?

发布于 2006-08-31 23:24:40

0楼

quote:以下是引用shine在2006-08-31 09:48:56的发言:
quote:以下是引用WWYAN在2006-08-31 09:36:21的发言:
技巧:在定时中断中,用堆栈指令将每200ms采集的脉冲数压入堆栈,堆栈长度=5,并且立即将高速计数器清0,以免丢失脉冲!然后再配合FIFO指令对堆栈求和。得出每秒脉冲数。这样做的好处是每200ms就能知道每秒的脉冲数。



如果用压入队列的方法的话,不必清零,以1s间隔为例,第一个数据减第六个数据

shine:高速计数器如果不清0,会溢出的!或者总有高速计数器赋值语句,清0=赋值。
200ms定时中断子程序
MOV_DW HC3 VD220//高速计数器值送VD220
HSC 3//高速计数器清0
DI_I VD220 VW220//双整数-整数转换
AD_T_TBL VW220 VW0//将VW220添加到表格VW0的最后一格(已经设VW0=4,VW2=4)
FIFO VW0 VW224//将表格的第一个数弹出至VW224
VW226=VW220-VW224//求压入值与弹出值的差
VW228=VW228+VW226//求和
END
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33264条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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