欧姆龙cp1h常用指令学习(二)计数器、数据比较指令
(2)计数器
CNT为减法计数器,如下图中,1.09按下则计数器初始值复位为10,按下1.07,在其上升沿时执行减1,当减为0时计数器状态变on
CNT为BCD方式,CNTX为BIN方式,它们功能是一样的,区别是BIN方式可以记数的上限要大一些。
·BCD 方式时
0~9999 次
·BIN 方式时
0~65535 次
CNTR可逆计数器,如下图中,1.07按下则计数器加1,当加到10时,再按一次加到0,这时候计数器状态变ON。
当1.09按下则计数器减1,当减到0时,再按一下减到10时,这时候计数器状态变ON。因为计数是从0算
起,所以实际计数次数是你设置值+1.
CNTR还有一个复位端,导通w0.01时计数器当前值变0.
比较指令cmp怎么用(3) 数据比较指令
符号比较 =,<>,<,<=,>,>=
与 CMP 指令和 CMPL 指令不同,由于将比较的结果直接反映为下一段电路的输入条件,
所以没有必要读取状态标志,可以简洁地记述程序
下面是AND方式的比较运算<, 后面的<S是有符号数的比较。
勇哥还不知道怎么往一个D区送一个负数进去,知道了再补充上来。
后来发现在mov指令里面#数字,表示十六进制数, &数字表示十进制数, 如果你不加#或者&,可以直接输入负数。但是如果负数前面带#或者&都不对。
另外一种比较指令是用于无符号比较 CMP,无符号倍长比较CMPL
这种指令通过改变状态标志来表示比较结果,状态有下面6种。
P_GT >
P_GE >=
P_EQ =
P_NE <>
P_LT <
P_LE <=
下面是CMP指令的示例。
下面附上勇哥本次学习的实验程序:
还是忍不住要吐槽一下,CX里面的程序截图真得是非常困难,如果打印为pdf的话巨丑如果直接截屏幕又太麻烦,只能这样一段段的截。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论