1 / 15

Liczniki (timery) mikroprocesora

Liczniki (timery) mikroprocesora. 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 2 16 -1 (od 0 do 65535).

bliss
Download Presentation

Liczniki (timery) mikroprocesora

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Liczniki (timery) mikroprocesora

  2. 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 216-1 (od 0 do 65535)

  3. Do sterowania licznikami stosuje się dodatkowo 2 rejestry

  4. TH TL 11111111 11111111 Przepełnienie timera

  5. Przyjmując że jeden cykl maszynowy mikroprocesora trwa 1 μs to licznik może odmierzyć max czas=65536 μs = 65,536 ms

  6. 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

  7. 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

  8. 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”

  9. Przykład: Ustawić rejestry TH i TL by licznik odmierzył czas równy 50ms. Dane: Czas odmierzany: t = 50 ms = 50000 μs • Czas początkowy: tp=65536 – 50000 = 15536 μs • Zamiana tp na system binarny • 15536(10) -> 11110010110000(2) • 3. Dzielimy Tp wyrażoną binarnie na oktety 00111100 10110000 TH TL

  10. 4. Zapisanie wartości początkowych do rejestru: MOV TH,#00111100B MOV TL,#10110000B Obliczamy postać dziesiętną i heksadecymalną TH TL MOV TH,#00111100B MOV TL,#10110000B 00111100 10110000 BIN MOV TH,#60; MOV TL,#176; 60 176 DEC HEX 3C B0 MOV TH,#3CH; MOV TL,#B0H;

  11. Po odliczeniu czasu 50ms dla danego licznika bit TF ustawi się na 1 logiczną TCON: TF0 TF1

  12. Przykład 2. 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= 65536 i tp [μs] otrzymujemy czas odmierzony

  13. Przykład: Oblicz jaki czas odmierza licznik, jeżeli wpisy początkowe do rejestrów były następujące: 10010011 10101010 TH TL 1001001110101010(2) ---37802(10) Czas początkowy liczników tp=37802[μs] Rozwiązanie zadania Odmierzony czas t = 65536 – 37802 = 27734[μs]

More Related