82 9. l iczniki
rejestr
TMOD
OWy/
GATE |
C/T |
Ml |
MO |
GATE |
C/T |
Ml |
MO |
licznik Tl |
licznik TO |
adres 89h rw = 0
Obydwa liczniki mają takie same układy współpracujące, rysunek 9-1:
• przełącznik doprowadzający sygnał wejściowy do liczników albo z wewnętrznego oscylatora poprzez dzielnik :12, albo z zewnątrz mikrokontrolera poprzez końcówki TO (P3.4) i Tl (P3.5) portu P3. Przełącznik jest przełączany znacznikiem C/T. Gdy C/T = 0, to taktowanie liczników odbywa się z układu wewnętrznego, a gdy C/T = 1, to są zliczane impulsy zewnętrzne.
• zespół bramek blokujących pracę liczników. Znacznik TRi służy programowego uruchamiania pracy licznika. Przy TRi = 0 licznik jest zatrzymany, a przy TRi = 1 - pracuje. Praca licznika może być równie2 uruchamiana sygnałem zewnętrznym. Przy ustawieniu znaczniki GATE = 1 licznik pracuje gdy wejście INTi (P3.2 lub P3.3) jest na wysokim poziomie, jest natomiast zatrzymana, gdy wejście to jest na pfljr ziomie niskim. Gdy znacznik GATE = 0 praca licznika nic zależy od stanu wejścia INTi.
• przerzutniki przepełnienia liczników* TFi, umieszczone w rejestr^ TCON. Przepełnienie licznika Ti (przejście ze stanu 1 do stanu 0 wszystkich bitach licznika) powoduje wpisanie stanu 1 do przerzutni-ka TFi. Jeżeli przerwanie od licznika jest aktywne, to nastąpi wywołanie procedury obsługi tego przerwania.
gdzie i = 0 lub 1.
TO (P3.4) ~ Tl (P3.5)
1 *
0 |
TL |
TH | |
-#■"7 |
(5 bitów) |
(8 bitów) | |
i t_L |
try |
D 0 |
s |
16 bitów - tryb 1 |
L |
E
o-
1NIT0 (P3.2)
INT1 (P3.3)
Rys. 9-1. Schemat układów liczników TO i Tl pracujących w* trybie 0 i 1
Wejścia bramkujące liczników są wspólne z wejściami przerwań zewnętrznych dzięki czemu zewnętrzny sygnał zamykający bramkę licznika może uruchomić system przerwań.
Tryb pracy liczników wybiera się poprzez odpowiednie ustawienie znaczników MO i Ml:
• Tryb 0 Ml = 0, MO = 0
Tryb 0 został wprowadzony dla zachowania kompatybilności z rodziną mikrokontrolerów MCS-48, pierwowzorem rodziny '51. W trybie tym rejestr TL pracuje w układzie dzielnika wstępnego o podziale przez 2^ lub 5-bitowego licznika, a rejestr TH jako licznik lub dzielnik 8-bitowy, rysunek 9-1. Oba rejestry są połączone kaskadowo.
• Tryb 1 Ml = 0, MO = 1
Tryb 1, rysunek 9-1, jest taki sam jak tryb 0 z tą różnicą, że rejestr TL pracuje jako licznik lub dzielnik 8-bitowy. Obydwa rejestry są połączone kaskadowo tworząc 16-bitowy dzielnik lub licznik.
• Tryb 2 Ml = 1, MO = 0
W trybie 2 są połączone w konfiguracji dzielnika 8-bitowego z autoła-dowaniem, tzn. z zadawaniem stanu początkowego po przepełnieniu rejestru, rysunek 9-2.
Rys. 9-2 Układ połączeń liczników TO i Tl pracujących w trybie 2.
Rejestr TL pracuje jako dzielnik właściwy, natomiast rejestr TH służy jako bufor, którego zawartość jest przepisywana do rejestru TL gdy nastąpi jego przepełnienie. Operacja ta umożliwia otrzymanie dzielnika o zmiennym podziale, przy czym należy pamiętać, że liczniki liczą „w przód" i dlatego do bufora trzeba wpisywać uzupełnienie do OFFh