Untitled57

Untitled57



106 11. Programy, podprogramy, segmenty

pętla

Ponieważ od tego momentu użytkownik przyrządu musi podjąć decyzję, cz\ należy wykonać następny pomiar, odbywa się testowanie stanu klawiatury, po stwierdzeniu, że ma być wykonany następny pomiar, następuje skok do miejsca w programie, w którym na pole odczytowe jest wysyłany napis o gotowości przyrządu do pomiaru.

Jest to algorytm bardzo ogólny, ale pokazuje, że należy podjąć decyzję skąd będzie brany sygnał startu pomiaru, że będą potrzebne procedury obliczeniowe, itp.

Jeżeli program jest złożony, to algorytmy wykonuje się dla podprogramów lub programów częściowych, na przykład do powyższego algorytmu może być potrzebny algorytm podprogramu określania momentu początku pomiaru lub algorytm podprogramu obsługi przerwania.

Program możemy podzielić na program główny oraz podprogramy. Program główny zawiera najczęściej procedury inicjalizujące parametry początkowe, programujące układy struktury wewnętrznej, na przykład tryb pracy licznika, ustawienie przerwań, itp. oraz wywołujące podprogramy.

W podprogramach umieszcza się zazwyczaj procedury obsługi elementów struktury zewnętrznej procesora, na przykład pola odczytowego, klawiatury, itp., lub wewnętrznej - przetwornika A/C, portu szeregowego oraz procedur obliczeniowych np. mnożenia, dzielenia. Umieszczenie tego typu procedur w podprogramach umożliwia tworzenie bibliotek, z których w razie potrzeby można wybierać określoną procedurę i dołączać ją do nowo utworzonego programu. W podprogramach umieszcza się także powtarzające się w programie sekwencje rozkazów. Skraca to długość programu ale wydłuża czas jego wykonania. Podprogramy wywołuje się rozkazami ACALL lub LCALL , natomiast podprogram musi być zakończony rozkazem RFT lub RETI - jeżeli jest to podprogram obsługi przerwania. Na rysunku 11-2 jest przedstawiony przykład, powiązany z przedstawionym wyżej algorytmem, wywoływania podprogramów z programu głównego oraz przez układ przerwań.

Dla mikrokontrolerów rodziny '51 start programu, po zerowaniu proceso-ra, zaczyna się zawsze od adresu 0. Pod tym adresem jest umieszczony zazwyczaj rozkaz skoku do programu głównego. Skok ten omija obszar przeznaczony na adresy obsługi przerwań. W mikrokontrolerach rodziny '51 występują następujące rozkazy skoków: AJMP, LJMP, SJMP i JMP A + DPTR. W trakcie wykonywania programu mogą być wywoływane podprogramy. Na rysunku 11-2 pokazano wywołanie podprogramu INIT LCD, inicjalizującego pole odczytowe J-CD, oraz wywołanie podprogramów odczytu klawiatury KLAW i wyświetlania mformacji na polu odczytowym WYS_I.CD. W przypadku tych dwóch ostatnich podprogramów zostało pokazane wejście i wyjście do i z podprogramów. Za ^żdym razem po wykonaniu podprogramu następuje powrót do programu główmego i jest wykonywany rozkaz umieszczony tuż za rozkazem wywołują-


Wyszukiwarka

Podobne podstrony:
Untitled59 110 11. Programy, podprogramy, segment) adresów są takie same jak odpowiednio w rozkazach
Untitled56 .    11. Programy, podprogramy, segmenty Wszystkie procesory, a więc i mikro
Untitled58 108 I 1. Programy, podprogramy, segmenty cym podprogram. Podprogramy te zostały umieszczo
Untitled59 110 1 1. Programy, podprogramy, segmenty adresów są takie same jak odpowiednio w rozkazac
11 przycisk Yes i zapisać skrypt jako C:ProgramAplikacjaSkrypt.bld. Od tego momentu, po wprowadzeniu
pic 11 03 122056 208 Od tego momentu sprawność liczenia będzie kształtowana na sposób szkolny i ana
21 11 09 (106) OPRACOWANIE BRZUCHA Postępowanie segmentarne w masaiu br; ucha jest podobne do postęp
S5002141 tio house 187, in Part I. Tha stralght, 11.5 cm long segment of the fitting corresponds in
15 3 2 program powinien wypisać "TAK", ponieważ 15 + 3 = 18 (podzielne przez 9). Natomiast
Numer grupy wyrobów* Nazwa wyrobu lub grupy wyrobów 11 E Program** certyfikacji Numer
Poznaj C++ w$ godziny0119 Zaawansowane sterowanie programem 107Pętle while Pętla while pozwala na po

więcej podobnych podstron