DEVICE = 16F877A CONFIG XT_OSC,WDT_OFF,PWRTE_OFF,BODEN_OFF,LVP_OFF,WRTE_ON XTAL = 4 ALL_DIGITAL = TRUE DECLARE LCD_TYPE 0 DECLARE LCD_DTPIN PORTD.4 ' Used for 4-line interface. DECLARE LCD_ENPIN PORTB.0 DECLARE LCD_RSPIN PORTB.1 DECLARE LCD_INTERFACE 4 DECLARE LCD_LINES 2 PRINT $FE , 1 : DELAYMS 30 PRINT $FE, $0C Symbol BUTON1 = PORTC.0 Symbol BUTON2 = PORTC.1 Symbol BUTON3 = PORTC.2 Symbol BUTON4 = PORTC.3 TRISC = $FF Symbol ROLE1 = PORTB.4 Symbol ROLE2 = PORTB.5 Symbol ROLE3 = PORTB.6 Symbol ROLE4 = PORTB.7 Symbol KALP = PORTB.2 TRISB.4 = 0 : TRISB.5 = 0 : TRISB.6 = 0 : TRISB.7 = 0 : TRISB.2 = 0 Dim LAMBA1 As BYTE Dim LAMBA2 As BYTE Dim LAMBA3 As BYTE Dim LAMBA4 As BYTE '------------------------------------------------------------------------------- MAIN: KALP=1 Delayms 50 KALP=0 Delayms 50 GOSUB BUTONKONTROL GOTO MAIN END '------------------------------------------------------------------------------- BUTONKONTROL: IF BUTON1 = 0 THEN L1: IF BUTON1 = 0 THEN GOTO L1 IF LAMBA1 = 1 THEN LAMBA1 = 0 ROLE1 = 0 PRINT $FE , 1 : DELAYMS 30 PRINT $FE , 2 : PRINT " LAMBA 1" PRINT $FE , $C0 : PRINT " KAPATILDI" ELSEIF LAMBA1 = 0 THEN LAMBA1 = 1 ROLE1 = 1 PRINT $FE , 1 : DELAYMS 30 PRINT $FE , 2 : PRINT " LAMBA 1" PRINT $FE , $C0 : PRINT " ACILDI" ENDIF END IF IF BUTON2 = 0 THEN L2: IF BUTON2 = 0 THEN GOTO L2 IF LAMBA2 = 1 THEN LAMBA2 = 0 ROLE2 = 0 PRINT $FE , 1 : DELAYMS 30 PRINT $FE , 2 : PRINT " LAMBA 2" PRINT $FE , $C0 : PRINT " KAPATILDI" ELSEIF LAMBA2 = 0 THEN LAMBA2 = 1 ROLE2 = 1 PRINT $FE , 1 : DELAYMS 30 PRINT $FE , 2 : PRINT " LAMBA 2" PRINT $FE , $C0 : PRINT " ACILDI" ENDIF END IF IF BUTON3 = 0 THEN L3: IF BUTON3 = 0 THEN GOTO L3 IF LAMBA3 = 1 THEN LAMBA3 = 0 ROLE3 = 0 PRINT $FE , 1 : DELAYMS 30 PRINT $FE , 2 : PRINT " LAMBA 3" PRINT $FE , $C0 : PRINT " KAPATILDI" ELSEIF LAMBA3 = 0 THEN LAMBA3 = 1 ROLE3 = 1 PRINT $FE , 1 : DELAYMS 30 PRINT $FE , 2 : PRINT " LAMBA 3" PRINT $FE , $C0 : PRINT " ACILDI" ENDIF END IF IF BUTON4 = 0 THEN L4: IF BUTON4 = 0 THEN GOTO L4 IF LAMBA4 = 1 THEN LAMBA4 = 0 ROLE4 = 0 PRINT $FE , 1 : DELAYMS 30 PRINT $FE , 2 : PRINT " LAMBA 4" PRINT $FE , $C0 : PRINT " KAPATILDI" ELSEIF LAMBA4 = 0 THEN LAMBA4 = 1 ROLE4 = 1 PRINT $FE , 1 : DELAYMS 30 PRINT $FE , 2 : PRINT " LAMBA 4" PRINT $FE , $C0 : PRINT " ACILDI" ENDIF END IF RETURN