plik


ÿþUkBady licznikowe mikrokontrolera 8051 Mikrokontroler 8051 wyposa|ony jest w dwa ukBady licznikowe T0 i T1.Ka|dy z tych liczników skBada si z dwóch o[miobitowych poBówek. PoBówki te s widziane przez mikroprocesor jako rejestry specjalne TH0 i TL0 dla ukBadu T0 oraz TH1 i TL1 dla ukBadu T1. Ka|dy z obu liczników mo|e pracowa jako licznik (zlicza wówczas impulsy zewntrzne) lub jako czasomierz (zlicza cykle maszynowe mikrokontrolera). UkBady licznikowe mog pracowa w trybach 0, 1, 2 i 3. Wybór trybu pracy i sterowanie zliczaniem odbywa si za po[rednictwem rejestrów SFR: TCON i TMOD: Rejestr: bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TMOD GATE C/T' M1 M0 GATE C/T' M1 M0 Rejestry sterujce prac ukBadów licznikowych. Znaczenie poszczególnych bitów jest nastpujce: Rejestr TCON: " TF1 - wskaznik przerwania od licznika T1. Bit ustawiany sprztowo wskutek przepeBnienia licznika T1, zerowany sprztowo w chwili rozpoczcia wykonywania procedury obsBugi przerwania. Mo|liwe programowe wywoBanie przerwania. " TR1 - bit wBczajcy (TR1=1) ukBad licznikowy T1. " TF0 - wskaznik przerwania od licznika T0. Bit ustawiany sprztowo wskutek przepeBnienia licznika T0, zerowany sprztowo w chwili rozpoczcia wykonywania procedury obsBugi przerwania.Mo|liwe programowe wywoBanie przerwania. " TR0 - bit wBczajcy (TR0=1) ukBad licznikowy T0. " IE1 - wskaznik przerwania zewntrznego INT1'. Ustawiany sprztowo w wyniku wykrycia opadajcego zbocza (lub niskiego poziomu w zale|no[ci od trybu pracy) na wyprowadzeniu INT1' mikrokontrolera. Zerowany sprztowo w wyniku rozpoczcia wykonywania procedury obsBugi przerwania (tylko je[li przerwanie jest aktywowane zboczem).Je[li przerwanie jest aktywowane poziomem, to stan bitu odpowiada stanowi na wyprowadzeniu INT1' mikrokontrolera. " IT1 - bit okre[lajcy stan wyprowadzenia INT1' aktywujcy przerwanie: 0 - przerwanie aktywowane niskim poziomem, 1 - przerwanie aktywowane opadajcym zboczem. " IE0 - jak IE1, dotyczy wyprowadzenia INT0'. " IT0 - jak IT1, dotyczy wyprowadzenia INT0'. Rejestr TMOD: Rejestr jest podzielony na dwie 4-bitowe cz[ci zawierajce bity o jednakowym znaczeniu. Cztery starsze bity rejestru tycz si ukBadu licznikowego T1, mBodsze cztery bity dotycz ukBadu T0. " GATE - bit sterujcy bramkowaniem licznika. Dla GATE=1 zliczanie nastpuje, gdy sygnaB INTn' i bit TRn odpowiadajce danemu licznikowi s w stanie wysokim. Je|eli GATE=0, to zliczanie nastpuje, gdy bit TRn danego licznika jest ustawiony. " C/T' - bit okre[lajcy zródBo zliczanych impulsów przez dany ukBad licznikowy: "0" oznacza zliczanie cykli maszynowych (impulsów o czstotliwo[ci Fxtal/12), "1" oznacza zliczanie impulsów zewntrznych (z wyprowadzenia Tn odpowiadajcego danemu licznikowi). " M1, M0 - bity wyboru trybu pracy dla danego ukBadu licznikowego: M1 M0 Tryb pracy: 0 0 Tryb 0 0 1 Tryb 1 1 0 Tryb 2 1 1 UkBad T0 - tryb 3, ukBad T1 zatrzymany Znaczenie bitów M1 i M0 rejestru TMOD. Przy pracy liczników w trybie czasomierza inkrementacja licznika nastpuje w ka|dym kolejnym cyklu maszynowym. W przypadku wykorzystywania ukBadu w trybie licznika, jego zawarto[ jest zwikszana w odpowiedzi na opadajce zbocze sygnaBu wej[ciowego. Detekcja zbocza odbywa si jednak synchronicznie z cyklem pracy mikrokontrolera przez testowanie stanu odpowiedniej linii wej[ciowej w ka|dym cyklu maszynowym. Je|eli w pierwszym cyklu wykryto stan wysoki, a w nastpnym stan niski, to nastpuje zwikszenie zawarto[ci licznika. Aby ka|de zbocze opadajce zostaBo wykryte, to ka|dy stan na linii wej[ciowej nie mo|e trwa krócej ni| czas trwania jednego cyklu maszynowego, zatem maksymalna czstotliwo[ sygnaBu o wypeBnieniu 50% jest ograniczona do warto[ci 1/24 Fxtal. Tryby pracy ukBadów licznikowych mikrokontrolera 8051 posiadaj nastpujce wBa[ciwo[ci: Tryb 0. Tryb pracy 0 jest identyczny dla obu liczników. Na rysunku przedstawiono struktur logiczn licznika T0 pracujcego w ;trybie 0 (analogiczna jest struktura licznika T1 w trybie 0). Stan licznika jest okre[lony zawarto[ci odpowiedniego rejestru THn oraz piciu mBodszych bitów rejestru TLn. PrzepeBnienie tego 13-bitowego licznika spowoduje ustawienie odpowiedniego bitu przerwania TFn. Przebieg zliczania i zródBo impulsów s okre[lane za pomoc odpowiednich ustawieD bitów sterujcych prac liczników (TCON, TMOD). Tryb 1. Tryb 1 jest identyczny dla obu liczników. Struktur licznika T0 pracujcego w trybie 1 przedstawiono na rysunku. Tryb pracy 1 pod wzgldem logicznym jest identyczny z trybem 0. Ró|nica polega na dBugo[ci licznika: w trybie 1 zliczanie nastpuje w 16-bitowym liczniku zBo|onym z rejestrów TLn i THn odpowiedniego ukBadu licznikowego. Tryb 2. Tryb 2 jest identyczny dla obu liczników. Struktur licznika T0 pracujcego w trybie 2 przedstawiono na rysunku. W trybie 2 liczniki pracuj jako 8-bitowe z automatycznym przeBadowywaniem. PrzepeBnienie licznika TLn nie tylko ustawia odpowiedni znacznik przerwania TFn, lecz równie| powoduje przepisanie zawarto[ci THn do odpowiedniego rejestru TLn. Nie powoduje to zmiany zawarto[ci rejestru THn. Tryb 3. Tryb 3 jest jedynym trybem ró|nym dla ukBadów T1 i T0. Schemat logiczny ukBadu licznikowego T0 pracujcego w trybie 3 przedstawiono na rysunku. W trybie 3 mo|e pracowa tylko ukBad T0. Wprowadzenie ukBadu T1 w tryb 3 powoduje jego zatrzymanie. UkBad T0 w trybie 3 stanowi dwa niezale|ne liczniki 8-bitowe, utworzone z rejestrów TL0 i TH0. Rejestr TL0 pracuje w ukBadzie identycznym jak w trybach 0 i 1, z t ró|nic, |e zliczanie nastpuje w liczniku 8-bitowym. Rejestr TH0 pracuje równie| jako licznik 8-bitowy, mo|e on jednak zlicza wyBcznie impulsy o czasie trwania cykli maszynowych mikrokontrolera. Do sterowania zliczania TH0 wykorzystano bity sterujce TR1 i TF1 ukBadu czasowego T1. Wprowadzenie ukBadu T0 w tryb 3 ogranicza zatem wykorzystanie ukBadu T1 do zastosowaD nie wymagajcych wykorzystania przerwania (wyBczenie licznika T1 nastpuje w wyniku wprowadzenia go w jego wBasny tryb 3) i wówczas ukBad T1 jest najcz[ciej wykorzystywany do generacji sygnaBu taktujcego dla ukBadu transmisji szeregowej. UkBad przerwaD mikrokontrolera 8051 Mikrokontroler 8051 jest wyposa|ony w priorytetowy, dwupoziomowy ukBad przerwaD. UkBad przerwaD jest specjalizowan struktur logiczn, której zadaniem jest monitorowanie stanu wskazników przerwaD i zgBaszanie faktu ustawienia okre[lonego wskaznika do ukBadu sterowania. W mikrokontrolerze 8051 przerwanie mo|e zosta wywoBane przez jedno z piciu wskazników. Cztery ze wskazników umieszczone s w rejestrze TCON: bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 Bity rejestru TCON. Znaczenie poszczególnych bitów jest nastpujce: " TF1 - wskaznik przerwania od licznika T1 ukBadu czasowego. " TF0 - wskaznik przerwania od licznika T0 ukBadu czasowego. " TR1, TR0 - sterowanie licznikami T1 i T0 (nie istotne dla ukBadu przerwaD). " IE1 - wskaznik przerwania zewntrznego INT1'. " IE0 - wskaznik przerwania zewntrznego INT0'. " IT0, IT1 - sposób zgBaszania odpowiednich przerwaD zewntrznych: 0 - zgBaszanie niskim poziomem napicia, 1 - zgBaszanie zboczem opadajcym. Pitym zródBem przerwania jest ukBad transmisji szeregowej. Przerwanie to jest zgBaszane przez ustawienie dowolnego z bitów RI lub TI rejestru SCON. W przypadku przerwaD zewntrznych i od ukBadów czasowych, wskazniki przerwania s sprztowo zerowane po przyjciu zgBoszenia przerwania (za wyjtkiem sytuacji, gdy przerwanie zewntrzne jest zgBaszane niskim poziomem). Wskazniki przerwania z ukBadu transmisji szeregowej musz by zerowane programowo przez procedur obsBugi przerwania, gdy| sprztowe zerowanie uniemo|liwiBoby okre[lenie, który ze wskazników (RI czy TI) przerwanie wywoBaB. Do uaktywniania poszczególnych przerwaD i okre[lania ich priorytetów przeznaczone s rejestry sterujce IE i IP. Rejestr bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 IE EA - - ES ET1 EX1 ET0 EX0 IP - - - PS PT1 PX1 PT0 PX0 Rejestry sterujce ukBadu przerwaD. Znaczenie bitów rejestru IE: " EA - ustawienie bitu wBcza ukBad przerwaD, wyzerowanie wyBcza ukBad przerwaD (blokuje wszystkie przerwania). " ES - ustawienie bitu powoduje wBczenie obsBugi przerwania z ukBadu transmisji szeregowej. " ET1, ET0 - ustawienie bitów powoduje wBczenie obsBugi przerwaD z odpowiednich liczników (T1 i T0). " EX1, EX0 - ustawienie bitów powoduje wBczenie obsBugi odpowiednich przerwaD zewntrznych. Rejestr IP sBu|y do okre[lenia poziomu poszczególnych przerwaD. "0" lub "1" na poszczególnych pozycjach przyporzdkowuj dane przerwanie do poziomu odpowiednio 0 lub 1. " PS - ustalanie poziomu priorytetu przerwania z ukBadu transmisji szeregowej. " PT1, PT0 - poziomy priorytetów przerwaD z odpowiednich liczników. " PX1, PX0 - poziomy priorytetów odpowiednich przerwaD zewntrznych. Podczas realizacji procedury obsBugi przerwania poziomu 0 mo|e nastpi jej przerwanie przez procedur obsBugi przerwania o poziomie 1 - nie mo|e jednak wystpi sytuacja odwrotna. Nie mo|e równie| wystpi wzajemne przerywanie procedur obsBugi przerwaD z tego samego poziomu. Dodatkowo podczas realizacji programu mo|e wystpi jednoczesne zgBoszenie dwóch lub wicej przerwaD o tym samym poziomie. Powoduje to wybranie do wykonania przez ukBad przerwaD obsBugi przerwania o najwy|szym priorytecie wedBug kolejno[ci: INT0' (priorytet najwy|szy), TF0, INT1', TF1, RI+TI (priorytet najni|szy). Przyjcie przerwania powoduje sprztow generacje rozkazu LCALL z adresem procedury obsBugi przerwania, wBa[ciwym dla ka|dego przerwania (patrz "Pami programu"). Przyjcie przerwania jest mo|liwe jednak tylko wtedy, gdy obecnie nie jest wykonywane przerwanie o równym lub wy|szym priorytecie, trwa aktualne wykonywanie jakiego[ rozkazu (ukBad obsBugi przerwania musi poczeka do zakoDczenia wykonywania tego rozkazu) lub je|eli jest wykonywany adres powrotu z procedury obsBugi przerwania RETI, rozkaz dostpu do rejestrów IE i IP, lub jakikolwiek rozkaz po nich wykonywany.

Wyszukiwarka

Podobne podstrony:
Mikrokontrolery To takie proste, cz 14 (opis układów licznikowych oraz układu przerwań 8051 c d )
Mikrokontrolery To takie proste, cz 15 (układ licznikowy w 8052C & specjalne tryby pracy 8051)
Układy licznikowe mikrokontrolera 8051
Układ przerwań mikrokontrolera 8051
Przerwania liczniki
Rozdział 04 System obsługi przerwań sprzętowych
Kodowanie V A G iem licznika do A4
8 7 liczniki
Dokumentacja 8051
spis instrukcji 8051
liczniki2
czy przerwa przy komputerze
wtyki licznikow samochodowych

więcej podobnych podstron