Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Liczniki (timery) mikroprocesora
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]
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.