回复内容:
对:lovelybc关于引用 zyy167349 的回复内容:本人想到一个思路,不知道能不能行得通,说给大家听听,假设对应四个阀门的开关信息分别是i0.0-i0.3,然后把阀门用1-4标记,如果首先1号阀门得到信号,就把1送到VD0,然后3号阀门也得到信号,就把3送到VD4,以此类推,然后输出的时候,按照VD0-VD4-VD8-VD12的顺序,里面的数字是多少就输出几号,在第一个输出时间到了后,把后面V存储器的值向前移动 如果同时来两个或者更多信号,怎么解决内容的回复:
同时出来是指的什么。按理说单片机检测一个电平信号最多就几个微秒。同时出现,可以通过检测电平,看先检测到哪个就先处理哪个呗。
还是用日常生活的经验解决。
去银行取钱,谁先到就谁去叫号机取筹。筹号就一直增加。筹号自己一直拿着。叫谁的号就谁过来。
就这样,没了。
在程序上的话由于筹号一直增加,你要做好最大值加一过零的事情。先进先出,原理上是必然的了。是否使用先进先出指令看习惯了。
也可以用排队的方法。
厂里的业务员经常去出纳那里交收先进。但是厂里就只有那四个业务员。出纳那里就准备三张椅子。业务从门口进来,谁先来就可以直接站出纳台前面。后来的就坐最靠近出纳台的椅子。四个都来了就刚好坐满。走一个就大家一起移一个位子。出纳通过唯一的一个窗口接到业务递过来字条知道外面那个是谁。去找相应的文件。
就这样,完事了。
程序上要用到字(节)移位,间接寻址(指的是窗口)。