Jŕzyk polski Historia WOS Sztuka (plastyka i muzyka) Jŕzyki obce Religia i etyka
Matematyka Fizyka i astronomia Chemia Biologia Przyroda Geografia Technika Informatyka
Przedmioty zawodowe WF Žcie┐ki edukacyjne Wychowanie przedszkolne Nauczanie zintegrowane Wiŕcej
Start arrow Porty
Porty Drukuj Email
Wpisa┼é: Robert Stasiak   
29.06.2007.

     Linie we/wy mikrokontrolera 8051 pogrupowane s─ů w cztery 8-bitowe porty:
•  P0 - linie P0.0/AD0 - P0.7/AD7
•  P1 - linie P1.0 - P1.7
•  P2 - linie P2.0/A8 - P2.7/A15
•  P3 - linie P3.0/RxD', P3.1/TxD', P3.2/INT0', P3.3/INT1', P3.4/T0, P3.5/T1, P3.6/WR', P3.7/RD'
   Wszystkie linie portów P0-P3 pracuj─ůce jako standardowe linie wej┼Ťcia/wyj┼Ťcia s─ů niezale┼╝ne pod wzgl─Ödem kierunku przesy┼éania informacji. Rejestry P0-P3 z┼éo┼╝one z przerzutników poszczególnych linii wchodz─ů w sk┼éad bloku rejestrów specjalnych, przy czym mo┼╝liwe jest adresowanie ich poszczególnych bitów, co umo┼╝liwia bezpo┼Ťrednie sterowanie pojedynczymi liniami we/wy.
   Funkcje i struktura linii we/wy s─ů odmienne dla ka┼╝dego z uk┼éadów P0-P3
 
Struktura portu P0.

 

 


   Na rysunku przedstawiono struktur─Ö pojedynczej linii portu P0.Osiem takich struktur tworzy port P0 dost─Öpny poprzez blok rejestrów specjalnych. W czasie normalnej pracy jako wej┼Ťcie/wyj┼Ťcie (stan 0 na linii sterowanie) tranzystor T1 jest wy┼é─ůczony, a stan tranzystora T2 zale┼╝y bezpo┼Ťrednio od stanu przerzutnika D, który wchodzi w sk┼éad rejestru P0 bloku SFR. Je┼╝eli w przerzutniku zapisana jest jedynka, to tranzystor T2 jest wy┼é─ůczony i wyj┼Ťcie uk┼éadu przechodzi w stan wysokiej impedancji. W przypadku wpisania zera, T2 jest w┼é─ůczony i na wyj┼Ťciu panuje stan niski. Wyj┼Ťcia uk┼éadu P0 podczas wyprowadzania informacji zachowuj─ů si─Ö jak linie typu otwarty dren. Wymaga to do┼é─ůczenia zewn─Ötrznego rezystora podci─ůgaj─ůcego w celu uzyskania wysokiego poziomu napi─Öcia odpowiadaj─ůcego jedynce wpisanej do przerzutnika. Podczas wprowadzania informacji stan linii zewn─Ötrznej jest wprowadzany poprzez bufor na wewn─Ötrzn─ů szyn─Ö danych, jednak aby odczyt linii portu by┼é mo┼╝liwy, wcze┼Ťniej do przerzutnika musi zosta─ç wpisana jedynka.
   Istnieje grupa rozkazów mikrokontrolera, które odczytuj─ů, modyfikuj─ů i ponownie zapisuj─ů zawarto┼Ť─ç rejestru P0 (P1, P2, P3). S─ů to rozkazy typu RMW (ang. Read-Modify-Write). Poszczególne bity rejestru odczytywane s─ů przez bufory do┼é─ůczone do wyj┼Ťcia Q przerzutnika, ich warto┼Ť─ç jest przekazywana do arytmometru, gdzie nast─Öpuje wykonanie operacji, a nast─Öpnie nowa warto┼Ť─ç jest ponownie wprowadzana do przerzutnika.
   Uk┼éad P0 oprócz funkcji we/wy pe┼éni rol─Ö szyny danych multipleksowanej z mniej znacz─ůc─ů cz─Ö┼Ťci─ů szyny adresowej podczas realizacji dost─Öpu do pami─Öci zewn─Ötrznej. Wtedy stan linii steruj─ůcej S=1 i tranzystory T1 i T2 s─ů sterowane wewn─Ötrzn─ů lini─ů adresu/danych. Poziom niski w┼é─ůcza T2 i wy┼é─ůcza T1 co powoduje stan "0" na wyj┼Ťciu uk┼éadu; poziom wysoki wy┼é─ůcza T2 i w┼é─ůcza T1 powoduj─ůc stan wysoki na wyj┼Ťciu - nie ma przy tym konieczno┼Ťci instalowania rezystora podci─ůgaj─ůcego. Dane z szyny danych odczytywane s─ů w taki sam sposób jak przy pracy portu jako wej┼Ťcie/wyj┼Ťcie.
   Wykonanie dost─Öpu do pami─Öci zewn─Ötrznej powoduje zapisanie samych jedynek do rejestru P0, niszcz─ůc tym samym przechowywan─ů w nim informacj─Ö. Z tego powodu korzystanie z pami─Öci zewn─Ötrznej wyklucza w zasadzie mo┼╝liwo┼Ť─ç korzystania z P0 jako wej┼Ťcia/wyj┼Ťcia. Ka┼╝d─ů lini─Ö portu P0 mo┼╝na obci─ů┼╝y─ç o┼Ťmioma wej┼Ťciami TTL-LS.
 
 
 
Struktura portu P1.
   Na rysunku przedstawiono pojedyncz─ů lini─Ö portu P1.

 

 


Przerzutnik D b─Öd─ůcy jej elementem wchodzi w sk┼éad rejestru P1 bloku SFR. Modyfikacji stanu przerzutnika D mo┼╝na dokona─ç rozkazami zapisu lub RMW, tak jak w przypadku uk┼éadu P0. Przerzutnik D steruje bezpo┼Ťrednio tranzystorem wyj┼Ťciowym. Rezystor zapewnia ustalenie wysokiego poziomu napi─Öcia przy wy┼é─ůczonym tranzystorze (jedynka w przerzutniku). Podczas wprowadzania informacji rozkazami odczytu linii zewn─Ötrznej wymagane jest zapisanie jedynki do przerzutnika D. Linie uk┼éadu P1 nie pe┼éni─ů ┼╝adnych dodatkowych funkcji. Mo┼╝na je obci─ů┼╝a─ç czterema wej┼Ťciami TTL-LS.
 
 
Struktura portu P2.

 


   Na rysunku przedstawiono budow─Ö pojedynczej linii portu P2.Zasada dzia┼éania linii portu P2 jest taka sama jak portu P1, pod warunkiem, ┼╝e dodatkowe funkcje tego uk┼éadu nie s─ů wykorzystywane (stan niski na linii sterowanie). Dodatkowo jednak, podczas dost─Öpu do pami─Öci zewn─Ötrznej, port P2 pe┼éni rol─Ö bardziej znacz─ůcej cz─Ö┼Ťci szyny adresowej (A8-A15). Wtedy przy pomocy linii S=1 (sterowanie) zostaje prze┼é─ůczony multiplekser i sterowanie tranzystora wyj┼Ťciowego pochodzi z wewn─Ötrznej linii adresu. Zawarto┼Ť─ç przerzutnika D nie jest niszczona i jego zapisany w nim stan pojawia si─Ö na wyj┼Ťciu portu po zako┼äczeniu cyklu dost─Öpu o pami─Öci.
   W przypadku realizacji dost─Öpu do zewn─Ötrznej pami─Öci danych przy u┼╝yciu rejestrów indeksowych R0 i R1 mikroprocesor ustawia tylko m┼éodsze osiem bitów adresu, a stan portu P2 nie zmienia si─Ö.
   Linie portu P2 mo┼╝na obci─ů┼╝a─ç czterema wej┼Ťciami TTL-LS.
 
 
Struktura portu P3.

 

 

 


   W porcie P3 wszystkie linie pe┼éni─ů dodatkowe funkcje, jednak w podstawowym trybie pracy jako wej┼Ťcie/wyj┼Ťcie dzia┼éanie portu P3 nie ró┼╝ni si─Ö w niczym od dzia┼éania portów P1 i P2.W zale┼╝no┼Ťci od tego czy realizowana funkcja dodatkowa jest wyj┼Ťciem (TxD, RD', WR') czy wej┼Ťciem (pozosta┼ée oprócz RxD) lub pe┼éni obie funkcje (RxD), ró┼╝na jest struktura linii portu. Wykorzystanie dodatkowej funkcji linii jest mo┼╝liwe jedynie po zapisaniu jedynki do przerzutnika D. W przypadku wyj┼Ť─ç (P3.1/TxD', P3.6/WR', P3.7/RD') tranzystor T sterowany jest odpowiednim sygna┼éem wewn─Ötrznym realizuj─ůcym dan─ů funkcj─Ö. Dla realizacji funkcji b─Öd─ůcej wyj┼Ťciem stan wyprowadzenia zewn─Ötrznego podawany jest za po┼Ťrednictwem stale otwartego bufora na wewn─Ötrzn─ů lini─Ö mikrokontrolera.
   Linie portu P3 mo┼╝na obci─ů┼╝a─ç czterema wej┼Ťciami TTL-LS.
 
 
   Tranzystor symbolizuj─ůcy stopie┼ä wyj┼Ťciowy linii portów jest w rzeczywisto┼Ťci bardziej skomplikowan─ů struktur─ů, której schemat przedstawia rysunek.   Zapis do przerzutnika nast─Öpuje w ostatniej fazie cyklu maszynowego, a wpisana warto┼Ť─ç pojawia si─Ö na wyj┼Ťciu linii portu w pierwszej fazie nast─Öpnego cyklu maszynowego - wyj┼Ťciowy bufor linii portu sprawdza stan przerzutnika  tylko podczas pierwszej fazy ka┼╝dego cyklu zegarowego, a wykryty stan utrzymuje przez czas trwania drugiej fazy. Zmiana zawarto┼Ťci przerzutnika ze stanu niskiego na wysoki powoduje w┼é─ůczenie tranzystora T1, który pozostaje aktywny przez dwa cykle zegarowe. Tranzystor ten ma du┼╝─ů wydajno┼Ť─ç pr─ůdow─ů, spe┼énia rol─Ö rezystora podci─ůgaj─ůcego o ma┼éej warto┼Ťci rezystancji, a jego w┼é─ůczenie ma na celu przyspieszenie przej┼Ťcia ze stanu logicznego 0 do 1. Wpisanie do przerzutnika "1" powoduje dodatkowo w┼é─ůczenie T2, który jest w┼é─ůczony do momentu zmiany zawarto┼Ťci przerzutnika na "0". T2 stanowi rezystor podci─ůgaj─ůcy o du┼╝ej warto┼Ťci rezystancji i ma za zadanie utrzymanie linii w stanie wysokim. W┼é─ůczenie T1 powoduje równie┼╝ w┼é─ůczenie T3, który równie┼╝ stanowi rezystor podci─ůgaj─ůcy o du┼╝ej rezystancji. T3 jest jednak aktywny tylko wtedy, gdy napi─Öcie na linii portu jest wy┼╝sze ni┼╝ 1-1.5V. Je┼╝eli zostanie na linii portu wymuszony stan niski, to T3 jest wy┼é─ůczony i jako jedyne obci─ů┼╝enie pozostaje tranzystor T2, co wp┼éywa korzystnie na zmniejszenie strat mocy w uk┼éadzie. Je┼╝eli za┼Ť linia pracuje jako wyj┼Ťcie, to równoczesna praca T2 i T3 powoduje zwi─Ökszenie wydajno┼Ťci pr─ůdowej wyj┼Ťcia. Je┼╝eli do przerzutnika zostaje wpisane "0" to aktywny jest tylko tranzystor T4.
 

 W mikroprocesorze 8051 wbudowano szeregowy port we/wy, który mo┼╝e by─ç wykorzystany do ┼é─ůczenia urz─ůdze┼ä peryferyjnych wykorzystuj─ůcych standardowe protoko┼éy asynchroniczne z zachowaniem pe┼énego duplexu. Wykorzystuj─ůc dodatkowy rejestr przesuwaj─ůcy CMOS lub TTL, port szeregowy mo┼╝e równie┼╝ pracowa─ç w trybie synchronicznym. Zastosowane rozwi─ůzania uk┼éadowe pozwalaj─ů na transmisj─Ö o tak du┼╝ych szybko┼Ťciach, na jakie pozwoli oprogramowanie. W odpowiedzi na ┼╝─ůdanie przerwania od portu szeregowego wystarczy tylko odczyt lub zapis bufora CPU.

 

Zmieniony ( 25.09.2007. )
 
« poprzedni artyku┼é   nast─Öpny artyku┼é »