1 Liczniki (timery) mikroprocesora
2
3 Rejestry oznaczone są jako T0 i T1. Każdy licznik posiada 2 rejestry.8 bitów 8 bitów TH0 TL0 8 bitów 8 bitów TH1 TL1 Przy użyciu rejestru TH i TL możemy zapisać w liczniku liczby o wartości o 0 do (od 0 do 65535)
4 Do sterowania licznikami stosuje się dodatkowo 2 rejestry
5 TH TL Przepełnienie timera
6 Przyjmując że jeden cykl maszynowy mikroprocesora trwa 1 μs to licznik może odmierzyć max czas=65536 μs = 65,536 ms
7 Ustawianie liczników Ustawienie licznika niezbędne jest wówczas gdy odmierzamy czas o określonym czasie trwania. Dane: Dany jest czas wyrażony w μs, które należy odmierzyć Maksymalny czas który licznik może odmierzyć to: Tmax = 216=65536 μs
8 Kolejne kroki: Obliczenie wartości początkowej, którą należy wpisać do rejestrów TH i TZ. Tp = tmax – t [μs] Tp- czas początkowy (start) T – odmierzany czas 2. Zamiana tp na system binarny 3. Postać binarną dzielimy na dwie części po 8 bitów od prawej strony. 8 bitów 8 bitów TH TL
9 6. Uruchomienie licznika SETB TR0; 4. Tp można wyrazić dla każdego rejestru w postaci dziesiętnej lub heksadecymalną. 5. Zapisanie do rejestrów TH i TL obliczonych wartości Tp. MOV TH0,# ; MOV TL0,# ; 6. Uruchomienie licznika SETB TR0; 7. Po odliczeniu czasu na bicie TF pojawi się 1 logiczna TF = „1”
10 Przykład: Ustawić rejestry TH i TL by licznik odmierzył czas równy 50ms. Dane: Czas odmierzany: t = 50 ms = μs Czas początkowy: tp=65536 – = μs Zamiana tp na system binarny 15536(10) -> (2) 3. Dzielimy Tp wyrażoną binarnie na oktety TH TL
11 4. Zapisanie wartości początkowych do rejestru: MOV TH,#00111100B MOV TL,# B Obliczamy postać dziesiętną i heksadecymalną TH TL MOV TH,# B MOV TL,# B BIN MOV TH,#60; MOV TL,#176; 60 176 DEC HEX 3C B0 MOV TH,#3CH; MOV TL,#B0H;
12 Po odliczeniu czasu 50ms dla danego licznika bit TF ustawi się na 1 logicznąTCON: TF0 TF1
13 Przykład 2. t= 65536 i tp [μs] Dane: Ustawienia początkowe TH i TL.Odmierzyć czas odmierzony przez licznik. Zamieniamy 16 bitową liczbę TH i TL na postać dziesiętną i otrzymujemy tp Wykonujemy działanie t=tmax-tp t= i tp [μs] otrzymujemy czas odmierzony
14 Przykład: Oblicz jaki czas odmierza licznik, jeżeli wpisy początkowe do rejestrów były następujące: TH TL (2) ---37802(10) tp=37802 [μs] Czas początkowy liczników Rozwiązanie zadania Odmierzony czas t = – = [μs]
15