Sw3.6-l11-1.2-Slajd14
Sterowanie dwustanowe - algorytmy synchroniczne Laboratorium Wprowadzenie
Realizacja Timer’ów programowych
W systemach czasu rzeczywistego jednym z problemów jest realizacja zależności czasowych, tzn. opóźnień czasowych, pojedynczych impulsów oraz serii impulsów o zadanym czasie, generatorów przebiegów o zadanej częstotliwości itp. Zwykle żąda się dużej dokładności wytwarzanych przebiegów. Wykorzystywanie do tych celów pętli programowych jest kłopotliwe i mało precyzyjne. Poprawne rozwiązanie tego problemu przedstawione jest poniżej. Proponowane jest wykorzystanie Timerów programowych . Mikrokontroler dysponuje niewielką liczbą timerów sprzętowych, np. 2. W programie należy zdefiniować dwa typy zmiennych: TX – bit stanu Timera X oraz LTX – licznik (np. typu integer) Timera X . Wartości te ustawiane są w programie głównym, natomiast w programie obsługi przerwań następuje dekrementacja zawartości licznika danego Timera. Po osiągnięciu zera następuje wyzerowanie znacznika Timera, który jest testowany w programie głównym. Użycie Timerów programowych przedstawiono w przykładzie Sterowanie diodami LED .
Przedstawiona na rysunku sieć działań pokazuje realizację trzech timerów programowych T0, T1, T2 w podprogramie obsługi przerwań czasowych np. 5ms. Listę timerów można rozszerzać wg potrzeb użytkownika.