很多程序,尤其是涉及到时序的程序,不同的时间点会有不同的动作,这就需要我们做出这些状态点。下面我介绍的是一个非常通用的办法,很简单却很实用。
程序段都是我手写的,将就看看吧。
Q1,Q2,Q3为3个输出点,分别为3盏指示灯。需要指示灯按照图示进行工作。程序段如图所示。
有的时候,输出不一定是给的波形图。比如这样给定,首先A亮1S,BC不亮。然后A熄灭,BC同时亮1S。然后ABC同时熄灭1S。再C亮1S后熄灭。我们不管给定描述得有多乱多复杂,不怕。按照下面步骤轻松搞定:
1,画状态时序图。这个应该不难吧。
2,找出各个时间点。比如有10个时间分段点,我们就用10个定时器来计时。如第一个程序段所示。
3,在各个时间点对变化的信号进行状态更改。如第二个程序段。如果没有变化就不要更改状态。用set rset 指令。
4,各个状态就出来了。第三个程序段是复位操作。