Čítače / časovače uP 8051 Čo spracovávajú čítače • 8051 má dva 16-bitové čítače T0, T1 • Obsah čítačov prístupný cez 8-bit.

Download Report

Transcript Čítače / časovače uP 8051 Čo spracovávajú čítače • 8051 má dva 16-bitové čítače T0, T1 • Obsah čítačov prístupný cez 8-bit.

Čítače / časovače
uP 8051
Čo spracovávajú čítače
• 8051 má dva 16-bitové čítače T0, T1
• Obsah čítačov prístupný cez 8-bit. registre
TH0, TL0 ( čítač T0 )
TH1, TL1 ( čítač T1 )
kde THx – Timer High ( horná slabika )
TLx – Timer Low ( dolná slabika )
• registre TH0, TL0, TH1, TL1 sú v oblasti špeciálnych
funkčných registrov
• čítače môžu počítať iba impulzy prichádzajúce zvonku
cez vstupy T0 ( P3.4 ), T1 ( P3.5 )
• Časovače môžu počítať pravidelne prichádzajúce
impulzy na vstupy T0, T1 alebo počítať impulzy
vnútorného generátora hodín, čím vytvárajú časové
intervaly
Rozdiel medzi časovačom a čítačom
T
T0
pravidelne prichádzajúce
impulzy
časovač
• Časovač slúži na počítanie
pravidelne prichádzajúcich
impulzov, s definovanou
periódou
• Využitie pri tvorbe
časových intervalov
čítač
• Čítač slúži na počítanie
udalostí, ktoré sú
reprezentované výskytom
náhodne sa objavujúcich
impulzov na vstupe čítača
T0
náhodne, nepravidelne
prichádzajúce impulzy
Konfigurácia – nastavenie čítačov
Register TMOD ( Timer modus )
Gate C / T
M1
M0
( adresa 89h )
Gate C / T
• slúži na nastavenie režimu ( módu činnosti
čítačov )
• každý čítač môže pracovať v jednom zo 4
režimov :
•
•
•
•
Mod 0 –
Mod 1 –
Mod 2 Mod 3 –
ako 13-bitový čítač
ako 16-bitový čítač
ako 8-bitový čítač s prednastavením
nesymetrický mód
• Čítač pracuje vždy vzostupne, t.j. jeho obsah
sa zvýši o jedna príchodom impulzu
M1
M0
Mód M1 M0
0
0
0
1
0
1
2
1
0
3
1
1
Konfigurácia – nastavenie čítačov
Register TMOD ( Timer modus )
Gate C / T
M1
Čítač / časovač T1
M0
( adresa 89h )
Gate C / T
M1
M0
Čítač / časovač T0
• GATE – určuje riadenie činnosti čítača
ak GATE = 0 programove riadený bitmi TR0, TR1 v registri TCON
ak GATE = 1 hardverove riadený cez vstupy INT0, INT1
• C / T - určuje funkciu ako čítač ( C / T = 1 ), ako časovač ( C / T = 0 )
C – counter ( čítač ) T – Timer ( časovač )
Ovládanie čítačov / časovačov
Register TCON (Timer Control )
TF1
TR1
TF0
TR0
Pretečenie čítača je okamih,
kedy sa stav čítača mení zo
samých jednotiek na samé nuly
( adresa 88h )
IE1
IT1
IE0
IT0
1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0
• TR0, TR1 – štartovací bit pre čítače ( 1 – štart, 0 – stop )
• TF0, TF1 – príznaky pretečenia čítača T0, T1
pri pretečení čítača sa nastaví príznak TF0, TF1 ( TF=1 )
Logika spínania čítačov
čítač
• Čítač bude počítať vstupné impulzy, ak výstup hradla AND = 1
• spustenie programové
Musí byť TRn = 1, Gate = 0
• spustenie hardverové
Musí byť TRn = 1, Gate = 1 spustenie signálom žiadosti o externé
prerušenie INTn pri prechode signálu z 0 – 1 ( nábežná hrana )
Mod 0, 1 časovača / čítača
MOD 0 – čítač pracuje ako 13-bitový
• Pri pretečení sa nastaví príznakový bit TFn
• Ak pracuje ako čítač, počíta impulzy na vstupe Tn
• Ak pracuje ako časovač, počíta impulzy z vnútorného generátora
MOD 1 – čítač pracuje ako 16-bitový, ináč je to isté
Mod 2 časovača / čítača
8 bit
• Čítač TLn pracuje ako 8-bitový s prednastavením hodnoty
• Po pretečení je čítač TLn automaticky naplnený hodnotou uloženou
v čítači THn
• Programové nastavovanie hodnoty v čítači THn neovplyvňuje
aktuálny stav čítača TLn
Mod 3 časovača / čítača
•
•
•
•
Nesymetrický mód činnosti, obidva čítače nemôžu byť v rovnakom móde
Čítač T0 je rozdelený na dva samostatné 8-bitové čítače TL0, TH0
Čítač TL0 môže pracovať ako čítač, aj ako časovač
Čítač TH0 môže pracovať iba ako časovač ( ovládaný cez bit TR1 )
• Čítač T1 vtedy môže iba generovať signál prenosovej rýchlosti pre
sériový kanál mikropočítača