'------------------------------------------------------ 'Declaración de variables PUL1 VAR BIT PUL2 VAR BIT PUL3 VAR BIT PUL4 VAR BIT PUL5 VAR BIT PUL6 VAR BIT TECLA var BYTE conta var byte '------------------------------------------------------ 'Condiciones iniciales de las variables PUL1=0 PUL2=0 PUL3=0 PUL4=0 PUL5=0 PUL6=0 '------------------------------------------------------ 'Declaración de entradas y salidas output p4 '--2 del PLC output p5 '--3 del PLC output p6 '--4 del PLC output p7 '--5 del PLC output p8 '--6 del PLC output p9 '--7 del PLC input p10 '--11 del PLC input p11 '--12 del PLC input p12 '--13 del PLC input p13 '--14 del PLC input p14 '--15 del PLC input p15 '--16 del PLC '------------------------------------------------------ 'Declaración de carácteres personalizados PAUSE 1000 HIGH P2 SEROUT P1,I9600,[254,1] SEROUT P1,I9600,[254,64,$00,$00,$04,$04,$1F,$00,$1B,$1B] 'Carga en el codigo ascii 0 el caracter del pulsador abierto SEROUT P1,I9600,[254,72,$00,$00,$00,$04,$04,$1F,$1B,$1B] 'Carga en el codigo ascii 1 el caracter del pulsador cerrado SEROUT P1,I9600,[254,80,$04,$0A,$11,$11,$0A,$04,$04,$1F] 'Carga en el codigo ascii 2 el caracter del bobina desactiva SEROUT P1,I9600,[254,88,$04,$0E,$1F,$1F,$0E,$04,$04,$1F] 'Carga en el codigo ascii 3 el caracter del bobina activa '------------------------------------------------------ 'Dibuja la pantalla inicial en la LCD GOSUB NOMBRES GOSUB P1_DESACTIVO GOSUB P2_DESACTIVO GOSUB P3_DESACTIVO GOSUB P4_DESACTIVO GOSUB P5_DESACTIVO GOSUB P6_DESACTIVO '------------------------------------------------------ INICIO: TECLA=0 gosub ACTUALIZA_BOBINAS SEROUT P1,I9600,[254,12] LOW P2 SERIN P0,I9600,20,inicio,[HEX2 TECLA] HIGH P2 IF(TECLA=49) THEN PUL1=PUL1+1 IF(PUL1=1) THEN GOSUB P1_ACTIVO OUT4=1 ELSE GOSUB P1_DESACTIVO OUT4=0 ENDIF ENDIF IF(TECLA=50) THEN PUL2=PUL2+1 IF(PUL2=1) THEN GOSUB P2_ACTIVO OUT5=1 ELSE GOSUB P2_DESACTIVO OUT5=0 ENDIF ENDIF IF(TECLA=51) THEN PUL3=PUL3+1 IF(PUL3=1) THEN GOSUB P3_ACTIVO OUT6=1 ELSE GOSUB P3_DESACTIVO OUT6=0 ENDIF ENDIF IF(TECLA=52) THEN PUL4=PUL4+1 IF(PUL4=1) THEN GOSUB P4_ACTIVO OUT7=1 ELSE GOSUB P4_DESACTIVO OUT7=0 ENDIF ENDIF IF(TECLA=53) THEN PUL5=PUL5+1 IF(PUL5=1) THEN GOSUB P5_ACTIVO OUT8=1 ELSE GOSUB P5_DESACTIVO OUT8=0 ENDIF ENDIF IF(TECLA=54) THEN PUL6=PUL6+1 IF(PUL6=1) THEN GOSUB P6_ACTIVO OUT9=1 ELSE GOSUB P6_DESACTIVO OUT9=0 ENDIF ENDIF GOTO INICIO '------------------------------------------------------ NOMBRES: SEROUT P1,I9600,[254,128,"FLORES ALBERTO",254,192,"MARTINEZ ERICK"] PAUSE 1500 SEROUT P1,I9600,[254,8] PAUSE 300 SEROUT P1,I9600,[254,12] PAUSE 1500 SEROUT P1,I9600,[254,8] PAUSE 300 SEROUT P1,I9600,[254,128,"KUFFATI JORGE",254,192,"YEPEZ EUQUERIO"] SEROUT P1,I9600,[254,12] PAUSE 1500 SEROUT P1,I9600,[254,8] PAUSE 300 SEROUT P1,I9600,[254,12] PAUSE 1000 SEROUT P1,I9600,[254,1] RETURN '------------------------------------------------------ ACTUALIZA_BOBINAS: high p15 IF(IN10=1) THEN GOSUB Q1_ACTIVO ELSE GOSUB Q1_DESACTIVO ENDIF IF(IN11=1) THEN GOSUB Q2_ACTIVO ELSE GOSUB Q2_DESACTIVO ENDIF IF(IN12=1) THEN GOSUB Q3_ACTIVO ELSE GOSUB Q3_DESACTIVO ENDIF IF(IN13=1) THEN GOSUB Q4_ACTIVO ELSE GOSUB Q4_DESACTIVO ENDIF IF(IN14=1) THEN GOSUB Q5_ACTIVO ELSE GOSUB Q5_DESACTIVO ENDIF IF(IN15=1) THEN GOSUB Q6_ACTIVO ELSE GOSUB Q6_DESACTIVO ENDIF Return '------------------------------------------------------ Q1_ACTIVO: SEROUT P1,I9600,[254,130,3] RETURN '------------------------------------------------------ Q2_ACTIVO: SEROUT P1,I9600,[254,132,3] RETURN '------------------------------------------------------ Q3_ACTIVO: SEROUT P1,I9600,[254,134,3] RETURN '------------------------------------------------------ Q4_ACTIVO: SEROUT P1,I9600,[254,136,3] RETURN '------------------------------------------------------ Q5_ACTIVO: SEROUT P1,I9600,[254,138,3] RETURN '------------------------------------------------------ Q6_ACTIVO: SEROUT P1,I9600,[254,140,3] RETURN '------------------------------------------------------ Q1_DESACTIVO: SEROUT P1,I9600,[254,130,2] RETURN '------------------------------------------------------ Q2_DESACTIVO: SEROUT P1,I9600,[254,132,2] RETURN '------------------------------------------------------ Q3_DESACTIVO: SEROUT P1,I9600,[254,134,2] RETURN '------------------------------------------------------ Q4_DESACTIVO: SEROUT P1,I9600,[254,136,2] RETURN '------------------------------------------------------ Q5_DESACTIVO: SEROUT P1,I9600,[254,138,2] RETURN '------------------------------------------------------ Q6_DESACTIVO: SEROUT P1,I9600,[254,140,2] RETURN '------------------------------------------------------ P1_ACTIVO: SEROUT P1,I9600,[254,194,1] RETURN '------------------------------------------------------ P2_ACTIVO: SEROUT P1,I9600,[254,196,1] RETURN '------------------------------------------------------ P3_ACTIVO: SEROUT P1,I9600,[254,198,1] RETURN '------------------------------------------------------ P4_ACTIVO: SEROUT P1,I9600,[254,200,1] RETURN '------------------------------------------------------ P5_ACTIVO: SEROUT P1,I9600,[254,202,1] RETURN '------------------------------------------------------ P6_ACTIVO: SEROUT P1,I9600,[254,204,1] RETURN '------------------------------------------------------ P1_DESACTIVO: SEROUT P1,I9600,[254,194,0] RETURN '------------------------------------------------------ P2_DESACTIVO: SEROUT P1,I9600,[254,196,0] RETURN '------------------------------------------------------ P3_DESACTIVO: SEROUT P1,I9600,[254,198,0] RETURN '------------------------------------------------------ P4_DESACTIVO: SEROUT P1,I9600,[254,200,0] RETURN '------------------------------------------------------ P5_DESACTIVO: SEROUT P1,I9600,[254,202,0] RETURN '------------------------------------------------------ P6_DESACTIVO: SEROUT P1,I9600,[254,204,0] RETURN