L "中断计数器"
+ 1
T "中断计数器"
L 25
>=I
JCN m001 //未中断25次(0.5s)跳转
对第四句和第五句有些迷糊,将L25送入ACC1,直接比较>=I 是怎么比较的?和谁比较的?这样写是不是也可以:
L 25
L "中断计数器"
>=I
JCN m001 //未中断25次(0.5s)跳转</p>
1、原程序是"中断计数器"加1后判断是否大于等于25。注意,T传送指令本身的功能是传送ACCU1后,原ACCU1的内容自动传送到ACCU2中了,ACCU2中的内容是 "中断计数器"值了。L 25指令后,ACCU1的内容为25。 >=I 指令正好是ACCU1的内容与ACCU21的内容进行比较。
2、楼主后该的程序中没有"中断计数器"加1的结果了。为了直观,笨一些可以这样改:
L "中断计数器"
+ 1
T "中断计数器"
L 25
L "中断计数器"
>=I
JCN m001
L "中断计数器"//中断计数器装载到累加器1
L 1//中断计数器装载到累加器2,1装载到累加器1
+i
T "中断计数器"//相加结果保存到累加器中然后传给中断计数器
L 25//中断计数器数值装载到累加器2,整数25装载到累加器1
>=I //累加器1和累加器2中的值进行比较
JCN m001
原 L "中断计数器"
+ 1
T "中断计数器"
L 25
>=I
JCN m001 //未中断25次(0.5s)跳转
与 L "中断计数器"
+ 1
T "中断计数器"
L "中断计数器" //注意位置
L 25 //注意位置
>=I
JCN m001 //未中断25次(0.5s)跳转
是一样的运行结果,不过要注意L 25的位置。