发布于 2015-01-08 09:17:50
1楼
你的程序太长了
SET
SAVE
= L 0.3///保存状态位
A M 39.0
= M 60.5//m60.5=m39.0
A M 16.7
O M 31.0
JCN M001//m16.7或者m31.0为1执行下面的程序否则跳到标号M001处
CLR //复位rlo状态
= DB15.DBX 20.5
= DBX 20.6
= DBX 20.7
= DBX 21.0
= DBX 21.1
= DBX 21.2//m16.7或者m31.0为1,这些位清零
M001: CLR
A M 16.7//m16.7为1执行下面的程序否则跳到标号M002处
JCN M002
CLR
= DB15.DBX 21.3
= DBX 21.4
= DBX 21.5
= DBX 21.6//以上状态位复位
M002: CLR
A I 4.6
NOT ///此处两行等效于AN I4.6,I4.6为0执行下面的程序否则跳到M003处
JCN M003
A M 60.5//m60.5为1,跳到M004处,否则执行下面的程序
JCN M004
SET //置位rlo
= DB13.DBX 21.0//置位该位
M004: SET
= DB15.DBX 21.3//置位该位
M003: CLR
A I 4.5
NOT
JCN M005//i4.5为0执行下面的程序,否则跳到M005
A M 60.5
JCN M006
SET
= DB13.DBX 21.0//m60.5为0置位该位
M006: SET
= DB15.DBX 21.4 //无条件置位该位
活到老,学到老!为了生活学习吧!