108例中的第2例就是:用一个开关控制三个照明灯
控制要求:
用一个开关控制三个照明灯,要求开关闭合时灯亮,开关断开时灯灭。如果在3S之内每闭合一次开关,亮的灯数由1个→2个→3个→2个→1个→0个循环;如果开关断开的时间超过3S,再扳合开关时,重复上述过程。
控制原理:
在初始状态下,由初始化脉冲将MW0置零后再将M1.0、M1.1、M1.2置位为1。MW0的后9位M0.0~M1.0移位过程.
第一次开关I0.0闭合时,执行左移位,将M1.2的数据1传送给M1.3,M1.3=1,Q0.0=1,EL1灯亮。
第二次开关I0.0闭合时,MB1中的数据左移1位,M1.3=1,M1.4=1,Q0.0=1,Q0.1=1,EL1灯亮,EL2灯亮。
第三次开关I0.0闭合时,MB1中的数据左移1位,M1.3=1,M1.4=1,M1.5=1,Q0.0=1,Q0.1=1,Q0.2=1,EL1灯亮,EL2灯亮,EL3灯亮。
第四次开关I0.0闭合时,MB1中的数据左移1位,M1.3=0,M1.4=1,M1.5=1,Q0.0=0,Q0.1=1,Q0.2=1,EL2灯亮,EL3灯亮.
第五次开关I0.0闭合时,MB1中的数据左移1位,M1.3=0,M1.4=0,M1.5=1,Q0.0=Q0.1=0,Q0.2=1,EL3灯亮.
第四次开关I0.0闭合时,MB1中的数据左移1位,M1.3=M1.4=M1.5=0,Q0.0=Q0.1=Q0.2=0,灯全灭.M0.0=1,将M1.0、M1.1、M1.2置位为1.
在开关I0.0娄开时,不执行移位,移位寄存器中的数据不变,若I0.0每次断开的时间超过3S,则T37延时3S动作,T37接点闭合,使MW1中的16位数据复位为0,再将M1.0、M1.1、M1.2置位为1.当开关I0.0再次闭合时,又从上述初始状态开始,重复循环过程.