回复:关于平均数

Laohuai

  • 帖子

    6044
  • 精华

    18
  • 被关注

    71

论坛等级:至圣

注册时间:2004-10-11

普通 普通 如何晋级?

发布于 2010-11-21 11:07:39

15楼

我把程序导出了
单周期平均数程序:
ORGANIZATION_BLOCK 主程序:OB1
TITLE=
BEGIN
Network 1
LD SM0.0
CALL SBR0, 120, &VB100, VW0
END_ORGANIZATION_BLOCK
SUBROUTINE_BLOCK 平均值:SBR0
TITLE=子程序注释
VAR_INPUT
数量:INT;
起始地址:DWORD;
END_VAR
VAR_OUTPUT
平均值:INT;
END_VAR
BEGIN
Network 1 // 网络标题
// LW8 装入最小整数
// LW10 装入最大整数
// 累加器清零
LD SM0.0
MOVW -32768, LW8
MOVW 32767, LW10


MOVD 0, AC1
Network 2
// 循环次数为数据个数
LD SM0.0
FOR LW16, 1, LW0



Network 3
// 循环找出最大值和最小值,将最大值装入LW8,最小值装入LW10
//
// 将所有的数累加到AC1
LD SM0.0
LPS
AW>= *LD2, LW8
MOVW *LD2, LW8
LRD
AW<= *LD2, LW10
MOVW *LD2, LW10
LRD
ITD *LD2, AC0
AENO
+D AC0, AC1
LPP
+D 2, LD2
Network 4
NEXT
Network 5
// 累加和AC1减去一个最大值和一个最小值
LD SM0.0
ITD LW8, AC0
-D AC0, AC1
ITD LW10, AC0
-D AC0, AC1
Network 6
// 取平均,输出结果。
LD SM0.0
MOVW LW0, AC0
-I +2, AC0
ITD AC0, AC0
/D AC0, AC1
DTI AC1, LW6
Network 7 // 网络标题
// 网络注释
END_SUBROUTINE_BLOCK
INTERRUPT_BLOCK INT_0:INT0
TITLE=中断程序注释
BEGIN
Network 1 // 网络标题
// 网络注释
END_INTERRUPT_BLOCK
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33276条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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