0 LD M1002
1 SET S0
2 STL S0
3 OUT Y0
4 TMR T0 K10
8 LD T0
9 SET S20
10 STL S20
11 OUT Y1
12 TMR T0 K10
16 LD T0
17 SET S21
18 STL S21
19 OUT Y2
20 TMR T0 K10
24 LD T0
25 SET S22
26 STL S22
27 OUT Y3
28 TMR T0 K10
32 LD T0
33 SET S23
34 STL S23
35 OUT Y4
36 TMR T0 K10
40 LD T0
41 SET S24
42 STL S24
43 OUT Y5
44 TMR T0 K10
48 LD T0
49 SET S25
50 STL S25
51 OUT Y6
52 TMR T0 K10
56 LD T0
57 OUT S0
58 RET
59 END
以上程序是用真机子试过的,用的都是t0,会有误差,不过我的目的只是让他们顺序亮而已。把t0改成t1,t0交替,或者干脆改成t0,t1,t2....对灯亮不亮没有任何影响。
不要告诉我用仿真器做没有什么问题,囧。当初我也是这么认为的。
可是到了真正的机器上,只有第一次上电运行的时候正常,之后就乱套了~_~
至于问题产生的原因,我有点头绪:每次断电/关机的时候所有S状态寄存器都具有断电保持功能........
而我每次开机都会重新set s0 导致多个step块运行。
不知道有什么办法可以一开机就把所有的S寄存器复位......SFC通常都是来做比较庞大的程序的......一个一个的RST是很恶心的...也很占内存的- -