'LoopUntil.bas

 'Program poglądowy, do czego służy pętla Loop Until.

 'Załączy Port po spełnieniu warunku.

 'Opis pod programem.

 'Opracował Henryk Wydmuch

 'Program zajmuje 7% pamięci.

 

 $regfile = "m8def.dat"                                     'Info dla kompilatora.

$crystal = 10240000                                         'Informujemy kompilator o kwarcu 10,24MHz.

 

 Config Lcd = 16 * 2                                        'Konfiguracja Lcd.

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

 

 

 Config Pind.1 = Output                                     'Port wykonawczy.

 Config Pind.2 = Input                                      'Przycisk P1.

 Config Pind.6 = Input                                      'Przycisk P2.

  Set Portd.6                                               'Ustaw poziom wysoki na wyjściu Portd.6.

  Set Portd.1                                               'Ustaw poziom wysoki na wejściu Portd.1.

  Set Portd.2                                               '

 

 Dim Wynik As Byte                                          '

 Dim Dt As Byte                                             '

 Dim Dc As Byte                                             '

 

 Deflcdchar 3 , 4 , 4 , 6 , 12 , 4 , 4 , 4 , 14             'Wpisano ł.

 Deflcdchar 2 , 28 , 2 , 30 , 18 , 18 , 30 , 1 , 2          'Wpisano ą.

 

 Cls                                                        'Wyczyść Lcd.

 

 '------------------------------------------------------------------------------------------------------

Do                                                          'Początek pętli głównej programu.

Home                                                        'Pokazuj w jednym miejscu.

If Pind.2 = 0 Then                                          'Jeśli w Portd.2 i d.6 pojawi się 0 (nacisnęliśmy przyciski).

Dt = 6                                                      'Do Dt załaduj 6.

If Pind.6 = 0 Then                                          '

Dc = 4                                                      'Do Dc załaduj 4.

Wynik = Dt + Dc                                             'Do Wynik załaduj sumę Dt+Dc.

 

Lcd "W" ; Chr(3) ; Chr(2) ; "czone " ;                      'Pokaż komunikat "Włączone".

Lowerline                                                   'W drugiej linii...

Lcd "przyciski"                                             '"przyciski".

Waitms 50                                                   'Poczekaj 50mS.

 

Reset Portd.1                                               'Załącz Portd.1

End If                                                      '

End If                                                     'Koniec warunku.

 

Loop Until Wynik = 10                                       'Zakończ pętlę, gdy Wynik=10.

End                                                         'Koniec pętli.

'--------------------------------------------------------------------------------------------------------

'Objaśnienie:

'Tutaj, żeby pętla Until zadziałała musi być spełniony warunek zmiennej Wynik. Musi ona zawierać liczbę 10.

'Warunek ten będzie spełniony, gdy przyciśniemy przyciski P1 i P2 równocześnie.

'Wtedu do zmiennych Dt i Dc załadowane zostaną liczby 6 i 4.

'Koniec.