Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Błąd label not found BASCOM

grzegorz.d3 31 Jan 2011 22:31 2564 2
  • #1
    grzegorz.d3
    Level 14  
    Witam
    Mam taki programik troszke posklejany ale wyskakuje błąd co robie nie tak .
    Code:
    label not found [_ENDIFO   ]

    Code:
    $regfile = "m8def.dat"                                      'Atmega8
    
    $crystal = 8000000                                          'Kwarc 8MHz


    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.1 , Db6 = Portc.0 , Db7 = Portb.5 , E = Portc.3 , Rs = Portc.4

    '************************************* I2C **************************************************************

    Config Sda = Portd.4
    Config Scl = Portd.3                                        'Złącze I2C - każda z lini podciągnięta do zasilania

    Config I2cdelay = 100
    '************************************* Przyciski ********************************************************

    Config Pind.0 = Input                                       'Zmniejsz / Lewo / Tempmax i min
    Config Pind.1 = Input                                       'Zatwierdź / menu
    Config Pind.2 = Input                                       'Zwiększ / Prawo / LCD OFF i ON
    Config Pind.0 = Input                                       'pin wejscia zapłonu
    Config Pind.1 = Input                                       'pin wejscia swiateł

    Config Debounce = 10
    '************************************** 1 wire **********************************************************
    Config 1wire = Portc.5                                      'Złącze do obsługi  DS18b20 podciągnięte do zasilania przy pomocy rezystora 4k7
    '************************* Obsługa Timera do Sterowania podświetlaniem **********************************

    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Disconnect , Prescale = 1       'pinb.1 jest od podświetlania LCD

    S1 Alias Pind.0                                             'Zmniejsz / Lewo
    S2 Alias Pind.1                                             'Zatwierdź / menu
    S3 Alias Pind.2                                             'Zwiększ / Prawo
    Zaplon Alias Pind.0
    Swiatla Alias Pind.1
    Reset Zaplon                                                'ustawienie stanu niskiego
    Reset Swiatla                                               'ustawienie stanu niskiego

    Declare Sub Wyslij                                          'Zapisuje wartości na PCF8583
    Declare Sub Pokaz_czas                                      'Odczytuje wartości z PC88583 oraz z czujników temperatury

    Deflcdchar 0 , 32 , 10 , 21 , 17 , 10 , 4 , 32 , 32         ' Znak serca
    Deflcdchar 1 , 8 , 20 , 8 , 32 , 4 , 14 , 21 , 4            ' strzałka w góre
    Deflcdchar 2 , 8 , 20 , 8 , 32 , 4 , 21 , 14 , 4            ' strzałka w dół
    Deflcdchar 3 , 4 , 5 , 7 , 7 , 15 , 25 , 9 , 15             ' Dom lewy
    Deflcdchar 4 , 32 , 16 , 24 , 28 , 30 , 19 , 18 , 18        ' dom prawy
    Deflcdchar 5 , 4 , 14 , 27 , 14 , 4 , 1 , 7 , 32            ' Słońce lewe  - zmienia sie z księżycem
    Deflcdchar 6 , 32 , 32 , 32 , 14 , 31 , 30 , 28 , 32        ' Słońce prawe
    Deflcdchar 7 , 6 , 8 , 8 , 6 , 32 , 1 , 7 , 32              ' Księżyć lewy - zmienia się ze słońcem
    Deflcdchar 1 , 32 , 32 , 14 , 1 , 15 , 17 , 15 , 1          ' literka "ą"
    Deflcdchar 2 , 8 , 10 , 12 , 24 , 8 , 9 , 6 , 32            'literka "ł"
    Deflcdchar 3 , 4 , 21 , 21 , 21 , 14 , 31 , 17 , 31         'znak swiateł
    Declare Sub Poczatek


    '**************************************** Menu **********************************************************
    Dim Menutext As String * 13                                 'Tekst menu. Maksymalnie 13 znaków
    Dim J As Byte

    Dim Menutext2 As String * 3                                 'Tekst menu2. Maksymalnie 3 znaków
    Dim K As Byte
    Dim Ii As Byte
    Dim Jj As Byte
    Dim Kk As Byte
    Dim Ll As Byte

    '**************************************dodane******************************************************************
    Poczatek:
    Cls
    Ii = 9
    Jj = 2
    Do

    If Swiatla = 1 Then                                         'jesli swiatła włączone to pokazuje znak na wyswietlaczu swiateł
    Locate 1 , 8 : Lcd Chr(3)                                   'na pozycji 8 w wierszu pirwszym
    Else                                                        'jeslui nie to
    Locate 1 , 8 : Lcd " "                                      'wygaszenie znaku swiateł czyli spacja aby wygasic znak swiateł
    End If                                                      'bez nie potrzebnego uzywania cls czyszczenia ekranu, :nie mrugal wyswietlacz


    If Zaplon = 1 Then                                          'jesli właczony jest zapłon to przechodzi do petli i wyswietla napis włącz siatła

    Cls

    Do
    Ii = 9                                                      'początkowa wratosc pozycji na wyswietlaczu
    Jj = 2                                                      'początkowa wratosc pozycji na wyswietlaczu

    For Kk = 1 To 7                                             'petla wykonywana 7 razy  napis w przesuwany w lewo
      Ii = Ii - 1                                               'zmniejszanie wartości  I o 1
      If Ii < 2 Then Ii = 2
      Cls
      Locate 1 , Ii : Lcd " w" ; Chr(2) ; Chr(1) ; "cz"
      Locate 2 , Ii : Lcd "swiat" ; Chr(2) ; "a"
      Waitms 50
      If Swiatla = 1 Then                                       'jesli swiatła włączone to wyjscie z petli
      Cls
      Locate 1 , 3 : Lcd "swiat" ; Chr(2) ; "a ok"
      Locate 2 , 6 : Lcd "jazda"
      Wait 2
      Call Poczatek
      End If
    Next Ll                                                     ' do petli L


    For Ll = 1 To 7                                             'petla wykonywana 7 razy  napis w przesuwany w prawo
      Jj = J + 1                                                'zwiekszanie wartości  J o 1
      If J > 9 Then J = 9
      Cls
      Locate 1 , J : Lcd " w" ; Chr(2) ; Chr(1) ; "cz"
      Locate 2 , J : Lcd "swiat" ; Chr(2) ; "a"
      Waitms 50
      If Swiatla = 1 Then                                       'jesli swiatła włączone to wyjscie z petli
      Cls
      Locate 1 , 3 : Lcd "swiat" ; Chr(2) ; "a ok"
      Locate 2 , 6 : Lcd "jazda"
      Wait 2
      Call Poczatek
      End If
    Next
    Loop

    End If

    Loop
    '*************************************koniec*******************************************************************
    Dim S As Byte                                               'deklaracja sekund
    Dim M As Byte                                               'deklaracja minut
    Dim H As Byte                                               'deklaracja godzin
    Dim Day As Byte                                             'deklaracja dni
    Dim Month As Byte                                           'deklaracja miesiecy
    Dim Rok As Byte                                             'deklaracja roku

    Dim Poprzedni_miesiac As Byte                               'dodatkowa zmienna

    Dim A As Byte                                               'Zmienna od przesuwania ekranu startowego
    Dim W As Byte                                               'Zmienna informująca o ilości czujników DS18b20

    Dim Dsid1(8) As Byte                                        'deklaracja obsługi czujników DS18b20
    Dim Dsid2(8) As Byte
    Dim I1 As Integer , Ss As String * 6
    Dim I2 As Integer


    Dim P As Byte                                               'Moc świecenia podświetlania LCD w %
    Dim Pp As Byte                                              'Przechowuje wartość PWM

    Dim C As Byte                                               'Przechowuje wartość PWM przy uruchamianiu układu

    Set Portd.0
    Set Portd.1
    Set Portd.2

    '****************************** wartosci poczatkowe **************************************
    S = 0
    M = 0
    H = 0
    Day = 1
    Month = 1
    Readeeprom Rok , 2                                          'Czyta zaposaną wartość roku z 2 komórki pamięci EEPROM

    '*************************************** Ekran startowy *************************************************************
    Cls
    Cursor Off

    For C = 0 To 150
    Pwm1a = C                                                   'Rozjaśnianie LCD od 0 do 100 (50% PWM)
    Waitms 4
    Next C

    Locate 1 , 17
    Lcd ">> Duch <<"
    Locate 2 , 20
    Lcd "2008"

    For A = 1 To 13
    Shiftlcd Left
    Waitms 30                                                   'Schowanie tekstu
    Next A

    Wait 2

    For A = 1 To 13
    Shiftlcd Left
    Waitms 30                                                   'Schowanie tekstu
    Next A

    For C = 150 To 0 Step -1
    Pwm1a = C                                                   'Ściemnienie LCD od 100 do 0
    Waitms 4
    Next C

    Waitms 500
    Cls

    Locate 1 , 1
    Lcd Chr(0) ; " Zegar serce " ; Chr(0)                       'Tekst tytułowy na LCD

    Gosub Rozjasnianie                                          'Idzie do procedury rozjaśniania wyświetlacza

    Wait 2

    Cls

                                                          'koniec pętli głównej programu
    '*************************************** 1 wire ********************************************************

    W = 1wirecount()                                            'Informuje ile czujników jest podpiętych do układu (pojawia się tylko podczas włączania urządzenia)
    Locate 1 , 1
    Lcd "Ilosc czujnikow:"
    Waitms 500
    Locate 2 , 8
    Lcd W                                                       'Wyświetla ilość czujników

    Wait 3

    Dsid1(1) = 1wsearchfirst()                                  'Znajdź pierwszy czujnik podpięty do portu
    Dsid2(1) = 1wsearchnext()                                   'Znajdź następny czujnik podpięty do portu


    '*************************************** Pętla główna **************************************************
    '************************************* od tego miejsca w dół **********************************

    Pocz:
    Cls

    Do


    J = 4

    K = 1

    Call Pokaz_czas                                             'Pokazuje czas i temperature

    Debounce Pind.0 , 0 , Maxmin
    Debounce Pind.1 , 0 , Menu                                  'Naciskając S2 wchodzimy do menu
    Debounce Pind.2 , 0 , Display_off


    Loop

    End

    '********************************************************************************************************
    Sub Wyslij                                                  'Podprogram do wysyłania danych do pcf-a

    S = Makebcd(s)
    M = Makebcd(m)
    H = Makebcd(h)                                              'Zamiana wartości dziesiętnych na kod BCD
    Day = Makebcd(day)
    Month = Makebcd(month)

    I2cstart                                                    'Uruchomienie I2C
    I2cwbyte 162                                                'Wybór urządzenia do zapisu
    I2cwbyte &H02                                               'Wybór 2 rejestru do zapisu (sekundy)
    I2cwbyte S                                                  'Zapisuje sekundy
    I2cwbyte M                                                  'Zapisuje minuty
    I2cwbyte H                                                  'Zapisuje godziny
    I2cwbyte Day                                                'Zapisuje dni
    I2cwbyte Month                                              'Zapisuje miesiąc
    I2cstop                                                     'Koniec zapisu

    End Sub

    '************************************** I2C ****************************************************************

    Sub Pokaz_czas                                              'Pokazuje czas

    I2cstart
       I2cwbyte 162
       I2cwbyte &H00
       I2cwbyte &H08                                            ' włącza maskowanie roku i dnia tygodnia
       I2cstop
       I2cstart
       I2cwbyte 162
       I2cwbyte &H02
       I2cstart
       I2cwbyte 163
       I2crbyte S , Ack                                         'Odczytuje sekundy
       I2crbyte M , Ack                                         'Odczytuje minuty
       I2crbyte H , Ack                                         'Odczytuje godziny
       I2crbyte Day , Ack                                       'Odczytuje dni
       I2crbyte Month , Nack                                    'Odczutuje miesiąc
       I2cstop                                                  'koniec transmisji I2C


    '************************************** 1 wire ***************************************************************
      Do

      '--------konwersja temp dla wszystkich dsow
       1wreset
       1wwrite &HCC
       1wwrite &H44
       Waitms 901                                               ' czekaj na konwersję temperatury (normalnie powinno być 750,
                                                                 'ale jest ustawione na 901, aby nie kolidowało z odświeżaniem sekund)

     1wreset
       1wwrite &H55
       1wverify Dsid1(1)                                        'wysyłamy adres pierwszego czujnika
       1wwrite &HBE
       I1 = 1wread(2)
    '---------------------------------
       1wreset
       1wwrite &H55
       1wverify Dsid2(1)                                        'wysylam adres drugiego czujnika
       1wwrite &HBE
       I2 = 1wread(2)
     '---------------------------------


       I1 = I1 * 10                                             'Konwersja
       I1 = I1 / 16
       Ss = Str(i1)
       Ss = Format(ss , " 0.0")                                 ' Format wyświetlania


       I2 = I2 * 10                                             'Konwersja
       I2 = I2 / 16
       Ss = Str(i2)
       Ss = Format(ss , " 0.0")                                 ' Format wyświetlania


    'poniewaz dane odczytane z PCF-a sa w formacie kodu BCD, zamieniam ich wartosc na wartosc dziesietna:

    S = Makedec(s)
    M = Makedec(m)
    H = Makedec(h)
    Day = Makedec(day)
    Month = Makedec(month)


    '************** obsluga zmiany roku********************************************************
    If Poprzedni_miesiac <> Month Then                          'sprawdzamy czy zmienil sie miesiac
       If Month = 1 And Day = 1 And H = 0 And M = 0 And S = 0 Then       'jesli miesiac zmienil sie na styczen , to zwiekszamy rok
          Incr Rok
          Writeeeprom Rok , 2
       End If
       Poprzedni_miesiac = Month
    End If
    '*********************** Wyświetlanie danych **************************************************

    'Format Wyświetlania:
     Locate 1 , 1                                               'godziny
     If H < 10 Then                                             'Jeśli godzina jest mniejsza od 10 np. 7 to
       Lcd "0" ; H ; ":"                                        'dodaj przez 7 zero i wyświetl jako 07
       Else
       Lcd H ; ":"
     End If

     Gosub Symbol_dom

       Locate 2 , 11
       Lcd Chr(6)                                               'Wyświetlanie Znaku dnia i nocy (chodzi o symbol dworu)

       If H >= 6 And H < 21 Then
           Locate 2 , 10
           Lcd Chr(5)
           Else
           Locate 2 , 10
           Lcd Chr(7)
       End If

     Locate 1 , 4
       If M < 10 Then
       Lcd "0" ; M ; ":"                                        'minuty
       Else
       Lcd M ; ":"
     End If

     Locate 1 , 7
       If S < 10 Then
          Lcd "0" ; S ;                                         'sekundy
          Else
          Lcd ; S ;
     End If

     Locate 2 , 1
       If Day < 10 Then                                         'dni
          Lcd "0" ; Day ; "."
          Else
          Lcd Day ; "."
     End If

     Locate 2 , 4                                               'miesiąc
          If Month < 10 Then
          Lcd "0" ; Month ; "."
          Else
          Lcd Month ; "."
     End If


     If Rok > 99 Then
     Rok = 0
     Writeeeprom Rok , 2
     End If

     Locate 2 , 7
     If Rok < 10 Then                                           'rok
          Lcd "0" ; Rok
          Else
          Lcd Rok
     End If

                                              'format wyświetlania 1 czujnika ds18b20 wraz ze strzałkami
       Gosub Warunek1
       If I1 > 0 Then
       Gosub Format_wyswietlania1
       Gosub Wyswietlanie1
       Else
       Gosub Format_wyswietlania1
       Gosub Wyswietlanie1
       End If
       Else
       Gosub Warunek1
       If I1 > 0 Then
       Gosub Format_wyswietlania1
       Gosub Wyswietlanie2
       Else
       Gosub Format_wyswietlania1
       Gosub Wyswietlanie2
       End If



                                               'format wyświetlania 2 czujnika ds18b20 wraz ze strzałkami
       Gosub Warunek2
       If I2 > 0 Then
       Gosub Format_wyswietlania2
       Gosub Wyswietlanie1;
       Else
       Gosub Format_wyswietlania2
       Gosub Wyswietlanie1
       End If

       Gosub Warunek2
       If I1 > 0 Then
       Gosub Format_wyswietlania2
       Gosub Wyswietlanie2
       Else
       Gosub Format_wyswietlania2
       Gosub Wyswietlanie2
       End If

      If H = 23 And M = 59 And S = 59 Then
      End If

    End Sub


    Loop

    Format_wyswietlania1:
    Ss = Str(i1)
    Ss = Format(ss , " 0.0")
    Locate 1 , 12
    Return

    Format_wyswietlania2:
    Ss = Str(i2)
    Ss = Format(ss , "0.0")
    Locate 2 , 12
    Return

    Wyswietlanie1:
    Lcd Ss ; Chr(1)
    Return



    Wyswietlanie2:
    Lcd Ss ; Chr(2)
    Return

    Warunek1:
    Return

    Warunek2:

    Return

    Symbol_dom:
       Locate 1 , 10
       Lcd Chr(3)
       Locate 1 , 11
       Lcd Chr(4)
    Return
    '****************************************************************************************************
    Maxmin:
    Cls

    Do

    If H >= 6 And H < 21 Then
           Locate 1 , 6
           Lcd Chr(5)
           Else
           Locate 1 , 6
           Lcd Chr(7)
       End If

    Locate 1 , 7
    Lcd Chr(6) ; "||"
    Lowerline
    Locate 2 , 8
    Lcd "||"
    Gosub Symbol_dom

    Gosub Formatss
    Locate 2 , 1
    Lcd Ss

    Gosub Formatss
    Locate 1 , 1
    Lcd Ss


    Gosub Formatss
    Locate 2 , 13
    Lcd Ss

    Gosub Formatss
    Locate 1 , 13
    Lcd Ss

    Debounce S1 , 0 , Pocz

    Loop

    Formatss:
    Ss = Format(ss , "0.0")
    Return
    '****************************************************************************************************
    Menu:                                                       '


    Cls

    Menutext = Lookupstr(j , Menuopisy)                         'Wyświetla aktualnie wybraną wartość J i wyświetla ja w postaci tekstowej
    Locate 2 , 2
    Lcd Menutext


    Do
    Locate 1 , 1
    Lcd " **** MENU **** "

    Debounce S3 , 0 , Menuprawo
    Debounce S1 , 0 , Menulewo
    Debounce S2 , 0 , Menuenter

    Loop

    Menuenter:

    Cls
    Select Case J
    Case 0
     Goto Menuzegar
    Case 1                                                      ' W zależności jakie jest J, to wybiera odpowiednie menu.
     Goto Podswietlanie
    Case 2
    Case 3
    Case 4
      Goto Pocz
    End Select

    Menuprawo:
    'Cls
    Incr J                                                      'Wzwiększanie wartości J
    If J > 4 Then J = 0
    Goto Menu


    Menulewo:
    'Cls
    Decr J
    J = J + 1
    If J < 1 Then J = 5                                         'Zmniejszanie wartości J
    J = J - 1
    Goto Menu

    '********************************************* Obsługa ustawiania zegara *********************************************

    Menuzegar:

    Do

    If H > 23 Or M > 59 Then
    H = 0                                                       'Procedura zabezpieczająca przed błędem związanym z nieuzasadnionym
    M = 0                                                       'wzwiększaniem się godzin i minut ponad 23 godziny i ponad 59 minut
    End If

    Locate 1 , 3
    Lcd "USTAW ZEGAR"

    Locate 2 , 6
     If H < 10 Then
       Lcd "0" ; H ; ":"                                        'godziny
       Else
       Lcd H ; ":"
     End If

     Locate 2 , 9
       If M < 10 Then
       Lcd "0" ; M                                              'minuty
       Else
       Lcd M
     End If


    Debounce S3 , 0 , Ustawmin
    Debounce S1 , 0 , Ustawgodz
    Debounce S2 , 0 , Zatwierdz_czas


    Loop

    Zatwierdz_czas:
    Goto Menudata

    Ustawmin:
    Incr M : If M > 59 Then M = 0
    S = 0                                                       'Wziększa wartość minut

    Goto Menuzegar

    Ustawgodz:
    Incr H : If H > 23 Then H = 0                               'Wzwiększa wartość godzin

    Goto Menuzegar
    '********************************************* Obsługa ustawiania dnia i miesiąca *********************************************

    Menudata:

    If Day > 31 Or Month > 12 Then                              'To samo co przy godzinach
    Day = 1
    Month = 1
    End If

    Cls

    Do
    Locate 1 , 4
    Lcd "USTAW DATE"

    Locate 2 , 6
    If Day < 10 Then
       Lcd "0" ; Day ; "."                                      'Format wyświetlania
       Else
       Lcd Day ; "."
     End If
     Locate 2 , 9
       If Month < 10 Then
       Lcd "0" ; Month
       Else
       Lcd Month
     End If

    Debounce S1 , 0 , Ustawdni
    Debounce S3 , 0 , Ustawmies
    Debounce S2 , 0 , Zatwierdz_data

    Loop

    Zatwierdz_data:
    Call Wyslij
    Goto Menurok

    Ustawdni:
    Incr Day : If Day > 31 Then Day = 1                         'Wzwiększa wartość Dni
    Goto Menudata

    Ustawmies:
    Incr Month : If Month > 12 Then Month = 1                   'Wziększa wartość Miesięcy
    Goto Menudata
    '********************************************* Obsługa ustawiania roku *********************************************

    Menurok:

    Cls

    Do
    Locate 1 , 4
    Lcd "USTAW ROK"

    Locate 2 , 7
    Lcd "20"

    Locate 2 , 9
    If Rok < 10 Then
       Lcd "0" ; Rok ;
       Else
       Lcd Rok ;
     End If

    Debounce S1 , 0 , Rokminus
    Debounce S3 , 0 , Rokplus
    Debounce S2 , 0 , Zatwierdz_rok

    Loop

    Zatwierdz_rok:

    Writeeeprom Rok , 2                                         'Zapisuje wartość roku do EEPROMA
    Goto Menu


    Rokplus:
    Incr Rok : If Rok > 99 Then Rok = 0                         'Wzwiększa wartość Roku od 0 do 99
    Goto Menurok

    Rokminus:
    Rok = Rok + 1
    Decr Rok : If Rok < 1 Then Rok = 100                        'Zmniejsza wartość roku w przedziale od 99 do 0
    Rok = Rok - 1
    Goto Menurok

    '********************************************* Obsługa podświetlania LCD *********************************************

    Podswietlanie:
    Readeeprom Pp , 1
    Goto Ustaw_podsw
    '______________________________________________________________________________
    Ustaw_podsw:
    Do

    Pp = Pwm1a
                                                                  'Przelicza wartość PWM na procenty
    P = Pwm1a / 2

    Locate 1 , 2
    Lcd "PODSWIETL.LCD"

    If Pwm1a >= 200 Then                                        'Ograniczenie programowe maksymalnego PWM do 200 (normalnie jest 255)
    Pwm1a = 200
    End If

    Locate 2 , 7
     If P < 10 Then
       Lcd "  " ; P
       Else                                                     'podświetlanie w procentach
          If P < 100 Then
          Lcd " " ; P
          Else
          Lcd P
          End If
    End If

    Locate 2 , 10
    Lcd "%"

    If S1 = 0 Then
    Goto Podswietlanieminus
    End If

    If S3 = 0 Then
    Goto Podswietlanieplus
    End If

    Debounce S2 , 0 , Zatwierdz_podsw

    Loop

    Podswietlanieplus:
    Incr Pwm1a : If Pwm1a > 200 Then Pwm1a = 200                'Wzwiększa wartość Podświetlania od 0% do 100%
    Goto Podswietlanie

    Podswietlanieminus:
    Pwm1a = Pwm1a + 1
    Decr Pwm1a : If Pwm1a < 1 Then Pwm1a = 1                    'Zmniejsza wartość Podświetlania w przedziale od 100% do 0%
    Pwm1a = Pwm1a - 1
    Goto Podswietlanie

    Zatwierdz_podsw:
    Writeeeprom Pp , 1                                          'Zapis wartości podświetlania do EEPROM-a
    Goto Menu
    '********************************************* Obsługa wyłączania LCD *********************************************

    Display_off:

    Do

    Cls

    Locate 1 , 6
    Lcd "LCD OFF"
    Wait 1
    Cls
    Locate 1 , 5
    Lcd ">LCD OFF<"
    Waitms 200
    Cls
    Locate 1 , 6
    Lcd ">CD OF<"
    Waitms 200
    Cls
    Locate 1 , 7
    Lcd ">D O<"
    Waitms 200
    Cls
    Locate 1 , 8
    Lcd "> <"
    Waitms 200
    Cls
    Readeeprom Pp , 1

    For C = Pp To 0 Step -1
    Pwm1a = C
    Waitms 4                                                    'Zciemnianie wyświetlacza od wartości podświetlania (pp) do 0
    Next C

    Cls

    Display Off                                                 'Wyłącza wyświetlanie czegokolwiek na wyświetlaczu

    Goto Czekajna

    Loop
    '********************************************* Obsługa wyłączonego LCD *********************************************

    Czekajna:
    Do
    Debounce S3 , 0 , Display_on                                'Jeśli naciśniemy przycisk Menu to przechodzimy do procedury od włączania podświetlania.
    Loop

    '********************************************* Obsługa włączania LCD *********************************************

    Display_on:
    Do
    Display On

    Gosub Rozjasnianie                                          'Idzie do procedury rozjaśniania wyświetlacza

    Locate 1 , 8
    Lcd "< >"
    Waitms 200
    Cls
    Locate 1 , 7
    Lcd "<D O>"
    Waitms 200
    Cls
    Locate 1 , 6
    Lcd "<CD ON>"
    Waitms 200
    Cls
    Locate 1 , 5
    Lcd "<LCD ON >"
    Waitms 200
    Cls
    Locate 1 , 6
    Lcd "LCD ON"
    Wait 1

    Goto Pocz
    Loop                                                        'Idź na początek programu

    '********************************************* Dane *********************************************

    Menuopisy:
    Data " ZEGAR / DATA" , "PODSWIETL.LCD" , "    AUTOR" , "    WYJDZ"       'Nazyw menu


    Rozjasnianie:
    Readeeprom Pp , 1
    For C = 0 To Pp
    Pwm1a = C
    Waitms 4                                                    'Procedura rozjaśniania wyświetlacza od 0 do wartości PP
    Next C
  • Helpful post
    #2
    zumek
    Level 39  
    Usuń Else w wierszu nr.413