恭喜,你发布的帖子
发布于 2016-08-10 13:50:22
3楼
先将MW162取的5个数,分别存放在MW300开始的5个字里,取到最后一个数的时候同时进行进行排序, 计算的时候只取中间的三个数据,最后的数据存放在MW322里
L MW 162
L 0
<=I
JCN G001
L P#300.0
T MD 164 //地址寄存器用的
G001: NOP 0
A M 150.0
FP M 150.1
JCN G002
L MW 160
T MW [MD 164]
L MD 164
+ 16
T MD 164 //地址累加
L MW 162 //用于计算取值的数目
+ 1
T MW 162
G002: NOP 0
L MW 162
L 5
>=I
JCN G003
L 0
T #TEMP1
T MW 162 //5次结束后要对MW162清零,同时要对TEMP1进行清零初始化
//开始排序
LAR1 P#M 300.0
L 5
G006: T MW 170
LAR2 P#M 300.0
L 5
G005: T MW 172
L MW [AR1,P#0.0]
L MW [AR2,P#0.0]
>=I
JCN G004
L MW [AR2,P#0.0]
T #TEMP2
L MW [AR1,P#0.0]
T MW [AR2,P#0.0]
L #TEMP2
T MW [AR1,P#0.0]
G004: NOP 0
+AR2 P#2.0
L MW 172
LOOP G005
+AR1 P#2.0
L MW 170
LOOP G006
//计算3个数的值和求平均值
LAR1 P#M 300.0
L 3
G007: T MW 174
L MW [AR1,P#2.0]
L #TEMP1
+I
T #TEMP1
+AR1 P#2.0
L MW 174
LOOP G007
L #TEMP1
L 3
/I
T MW 322
G003: NOP 0
//200MS的脉冲
AN M 150.0
L S5T#200mS
SD T 11
A T 11
= M 150.0
请填写推广理由:
分享
只看
楼主