子程序使用时的问题?

已锁定

yw

  • 帖子

    1289
  • 精华

    4
  • 被关注

    5

论坛等级:侠士

注册时间:2003-06-06

普通 普通 如何晋级?

子程序使用时的问题?

861

6

2005-12-16 09:13:37

以下程序是求平均值的子程序,当我调用的时候,如果只单独调用,没有问题;但是当我求两个的平均值的时候,发现两路平均值是两路输入的和的一半?请高手帮忙,谢谢!

主程序:
Network 1
LD SM0.0
CALL AVER, AIW0, 128, VW0
Network 2
LD SM0.0
CALL AVER, AIW2, 128, VW2

AVER子程序:
input 需要处理的值
pre_sample_c 采样次数
output 平均处理后的值
input_temp 为了进行计算,转换成双整的需要处理的值
counter 计数器
sum 采样和
out_temp 为了进行计算,得出的平均值
move_bit 计算移位数,即为除数

Network 1
LD SM0.1
MOVW 0, #counter
MOVW 0, #input
MOVD 0, #input_temp
MOVW 0, #output
MOVD 0, #out_temp
MOVD 0, #sum

Network 2
LD SM0.0
ITD #input, #input_temp
+D #input_temp, #sum
INCW #counter

Network 3
LDW>= #counter, #pre_sample_c
MOVD #sum, #out_temp
ENCO #pre_sample_c, #move_bit
SRD #out_temp, #move_bit
DTI #out_temp, #output
MOVD 0, #sum
MOVW 0, #counter
MOVD 0, #input_temp
MOVD 0, #out_temp
子程序使用时的问题? 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33314条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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