Płytka bazowa mikrokontolera 80C552, część 5
Artykuł zredagowany przez Pana Mirosława Kowalskiego
Data dodania opublikowania artykułu na tej stronie: 2011-10-10 17:47:38

c) flagi niektórych przerwań nie są kasowane automatycznie.W takim przypadku przed zakończeniem programu przerwania należy wyzerować flagę danego przerwania.Dla ilustracji działania TIMERA 2 i związanych z nim przerwać posłuży zbudowanie prostego, łatwego miernika refleksy.Ponieważ program miernika jest już znaczenie dłuższy od poprzednich, niemożliwa jest prezentacja jego pełnego wydruku.Znajdzie się on razem z innymi omawianymi programami na dyskietce dołączonej do płytki prototypowej.Po naciśnięciu i puszczeniu przycisku SW1 gaśnie dioda D1.Po upływie czasu, którego długość zmienia się losowo od 0.5s do ok. 4s. dioda ta zapala się.Powtórne naciśnięcie SW1 jest odpowiedzią na ten sygnał.
Miernik mierzy czas między zaświeceniem się diody a naciśnięciem tego przycisku.Program ten najpierw deklaruje szereg rejestrów niezbędnych do jego działania.Pod adresami 0Bh, 033h, 05Bh, 073h znajdują się skoki do podprogramów obsuwających odpowiednie przerwania.Następnie inicjowane są niektóre rejestrom ustawione tryby pracy TIMERA 0 i TIMERA 2, rejestru CM0,W części oczekuje on na naciśnięcie przycisku, eliminując potem jego drgania przez filtr programowy.Po pauzie 0.5 sekundy program znowu wstrzymuje swoje działanie na czas zależny od wartości zapisywanej do rejestry los.Zawartość tego rejestru jest zwiększana przy każdym przeładowaniu TIMERA 2.