Serwis Edukacyjny
w I-LO w Tarnowie
obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

obrazek

Autor artykułu: mgr Jerzy Wałaszek
Konsultacje: Wojciech Grodowski, mgr inż. Janusz Wałaszek

©2024 mgr Jerzy Wałaszek
I LO w Tarnowie

obrazek

Mikrokontrolery

ATmega640/1280/1281/2560/2561

Porty we/wy

obrazek

Educational and Non-Profit Use of Copyrighted Material:

If you use Microchip copyrighted material solely for educational (non-profit) purposes falling under the “fair use” exception of the U.S. Copyright Act of 1976 then you do not need Microchip’s written permission. For example, Microchip’s permission is not required when using copyrighted material in: (1) an academic report, thesis, or dissertation; (2) classroom handouts or textbook; or (3) a presentation or article that is solely educational in nature (e.g., technical article published in a magazine).

https://www.microchip.com/about-us/legal-information/copyright-usage-guidelines

SPIS TREŚCI
Podrozdziały

obrazek

Wprowadzenie

W rozdziale pojawiają się terminy angielskie Input Capture oraz Output Compare. Nie tłumaczyłem ich, ponieważ w języku polskim brak jest dobrych odpowiedników.

Termin Input Capture oznacza reakcję na zdarzenia, które mogą się pojawić w trakcie pracy mikrokontrolera. Reakcja ta polega na zapisaniu czasu wystąpienia tego zdarzenia, czyli na Rejestracji Czasu Zdarzenia Wejściowego. Odbywa się to w ten sposób, iż w momencie wykrycia zdarzenia (np. zmiany poziomu sygnału na określonej końcówce mikrokontrolera) następuje zapamiętanie w osobnym rejestrze stanu timera/licznika (stąd słowo Capture, które po angielsku oznacza "przechwycenie" lub "zarejestrowanie"). Stan ten jest znacznikiem czasu (ang. time-stamp), w którym wystąpiło zdarzenie i może być w różny sposób wykorzystywany w aplikacji.

Termin Output Compare odnosi się do zmiany stanu wybranej końcówki, jeśli wewnętrzny licznik odmierzy odpowiedni czas. Odbywa się to w ten sposób, iż stan licznika jest porównywany z rejestrem przechowującym znacznik czasu. Gdy licznik osiągnie wartość znacznika czasu, występuje zgodność porównania (ang. Compare Match) i w tym momencie mikrokontroler może wykonać różne operacje, np. zmienić stan logiczny określonej końcówki. Pozwala to generować różne przebiegi czasowe.

Wszystkie porty AVR posiadają możliwość pracy jako wejście lub wyjście danych, gdy używa się ich jako ogólne, cyfrowe porty wejścia/wyjścia. Oznacza to, iż kierunek pracy jednego portu (wejście lub wyjście) można zmieniać bez ryzyka niezamierzonej zmiany kierunku innych portów za pomocą instrukcji SBI i CBI. To samo dotyczy stanów wyjściowych (jeśli dany port pracuje jako wyjście) lub włączania/wyłączania oporników podciągających (ang. pull-up resistors). Każdy z buforów wyjściowych posiada symetryczne Parametry obciążenia z możliwością pochłaniania lub wyprowadzania prądu. Porty posiadają wystarczającą obciążalność do sterowania bezpośrednio wyświetlaczami LED. Wszystkie porty posiadają indywidualnie wybierane oporniki podciągające o oporności niezależnej od napięcia zasilającego. Wszystkie końcówki we/wy posiadają diody zabezpieczające zarówno do VCC jak i do masy, co zaznaczono na rysunku poniżej. Kompletną listę parametrów znajdziesz w rozdziale "Parametry Typowe ".

obrazek

Wszystkie rejestry i odwołania do bitów w tym rozdziale są zapisane w sposób ogólny. Mała litera “x” reprezentuje literową nazwę portu, a mała litera "n" reprezentuje numer bitu. Jednakże, gdy stosuje się definicje rejestru lub bitu w programie, należy stosować precyzyjną postać nazwy. Na przykład PORTB3 dla bitu nr 3 w porcie B, tutaj ogólnie zapisanego jako PORTxn. Fizyczne rejestry we/wy i pozycje ich bitów opisane są dalej w tym rozdziale.

Dla każdego portu przydzielone są trzy adresy w pamięci we/wy, po jednym dla rejestru danych – PORTx (ang. Data Register), dla rejestru kierunku danych – DDRx (ang. Data Direction Register)   i dla rejestru portu wejściowego – PINx (ang. Port Input Pins). Rejestr portu wejściowego znajduje się w komórce pamięci we/wy, której zawartość można tylko odczytywać, natomiast pozostałe komórki portów danych i można odczytywać i zapisywać. Dodatkowo bit wyłączania oporników podciągających PUD (ang. Pull-up Disable) w rejestrze MCUCR po ustawieniu na jeden wyłącza funkcję podciągania dla wszystkich końcówek we wszystkich portach.

Użycie portu we/wy jako ogólnego portu cyfrowego opisane jest w następnym podrozdziale. Większość końcówek portów jest multipleksowana z alternatywnymi funkcjami mikrokontrolera, co opisano w podrozdziale "Alternatywne funkcje Portu". Opis tych funkcji znajdziesz w dalszych rozdziałach.

Zauważ, iż włączenie alternatywnej funkcji na niektórych wyprowadzeniach portu nie wpływa na używanie innych wyprowadzeń w porcie jako ogólnego cyfrowego we/wy.


Na początek:  podrozdziału   strony 

Porty jako ogólne, cyfrowe we/wy

Porty są dwukierunkowymi portami we/wy z opcjonalnymi, wewnętrznymi opornikami podciągającymi. Poniższy rysunek pokazuje funkcjonalny opis jednej z końcówek portu we/wy, tutaj ogólnie zwanej Pxn:

obrazek

Uwaga: 1. WRx, WPx, WDx, RRx, RPx, i RDx są wspólne dla wszystkich końcówek w obrębie tego samego portu. clkI/O, SLEEP i PUD są wspólne dla wszystkich portów.


Konfigurowanie końcówki

Każda końcówka portu składa się z trzech bitów rejestrowych: DDxn, PORTxn i PINxn. Jak pokazano w podrozdziale "Opis rejestrów" bity DDxn są dostępne pod adresem we/wy DDRx, bity PORTxn pod adresem we/wy PORTx, a bity PINxn pod adresem we/wy PINx.

Bit DDxn w rejestrze DDRx wybiera kierunek pracy tej końcówki. Jeśli w DDxn jest zapisany stan logiczny 1, to Pxn zostaje skonfigurowane jako wyjście. Jeśli DDxn jest wyzerowane,, Pxn jest skonfigurowane jako końcówka wejścia.

Jeśli w PORTxn zostanie zapisany stan logiczny 1, gdy ta końcówka pracuje jako wejście, to uaktywniony będzie opornik podciągający. Aby wyłączyć opornik podciągający, należy wpisać do PORTxn zero lub skonfigurować tę końcówkę jako końcówkę wyjścia. Gdy warunek resetu staje się aktywny, końcówki portu przechodzą w stan wysokiej rezystancji, nawet jeśli nie pracuje żaden zegar.

Jeśli w PORTxn zostanie zapisany stan logiczny 1, gdy końcówka ta jest skonfigurowana jako końcówka wyjścia, to zostaje ona wysterowana w stan wysoki 1. Jeśli do PORTxn zostanie wpisane zero logiczne, gdy końcówka pracuje jako wyjście, to zostanie ona wysterowana w stan niski 0.

Zmiana stanu końcówki portu

Zapis logicznej jedynki do PINxn powoduje zmianę stanu PORTxn na przeciwny (z 1 na 0 lub z 0 na 1) niezależnie od wartości DDRxn.
Zauważ, iż do zmiany stanu na przeciwny pojedynczego bitu w porcie może zostać użyta instrukcja SBI.

Przełączanie pomiędzy trybami pracy wejścia i wyjścia

Gdy występuje przełączenie pomiędzy stanem wysokiej impedancji ({DDxn, PORTxn} = 0b00) a wyjściem w stanie wysokim 1 ({DDxn, PORTxn} = 0b11), musi pojawić się stan pośredni albo z włączonym opornikiem podciągającym ({DDxn, PORTxn} = 0b01), albo z wyjściem w stanie niskim ({DDxn, PORTxn} = 0b10). Zwykle stan z włączonym opornikiem podciągającym jest w pełni akceptowalny, ponieważ środowisko z wysoką impedancją nie zauważy różnicy pomiędzy mocnym wysterowaniem w stan wysoki a podciągnięciem za pomocą opornika. Jeśli tak nie jest, to można ustawić bit PUD w rejestrze MCUCR w celu wyłączenia oporników podciągających we wszystkich portach.

Przełączenie pomiędzy wejściem z podciąganiem oraz wyjściem w stanie niskim daje ten sam problem. Użytkownik musi użyć albo stanu wysokiej impedancji ({DDxn, PORTxn} = 0b00), albo wysokiego stanu wyjściowego ({DDxn, PORTxn} = 0b10) w kroku pośrednim. Poniższa tabela podsumowuje sygnały sterujące dla wartości sygnału na końcówce portu:

DDxn PORTxn PUD
(w MCUCR)
we/wy Podciąganie Komentarz
0 0 X Wejście Nie Stan wysokiej impedancji (Hi-Z)
0 1 0 Wejście Tak Pxn będzie wyprowadzać prąd, gdy zewnętrznie wysterowane stanem niskim
0 1 1 Wejście Nie Stan wysokiej impedancji (Hi-Z)
1 0 X Wyjście Nie Wyjście w stanie niskim (pobieranie prądu)
1 1 X Wyjście Nie Wyjście w stanie wysokim (wyprowadzanie prądu)

Odczyt wartości końcówki

Niezależnie od ustawienia bitu kierunku danych DDxn końcówka portu może być odczytywana poprzez bit rejestrowy PINxn. Jak pokazano na schemacie z początku podrozdziału bit rejestrowy PINxn i poprzedzający go przerzutnik latch tworzą synchronizator. Jest on potrzebny, aby uniknąć metastabilności, jeśli fizyczna końcówka zmienia wartość w pobliżu zbocza wewnętrznego zegar, lecz wprowadza on również pewne opóźnienie.

Poniższy rysunek pokazuje wykres czasowy synchronizacji, gdy odczytywany jest stan logiczny przykładany zewnętrznie do końcówki portu. Maksymalne i minimalne czasy opóźnień propagacyjnych są oznaczone odpowiednio jako tpd,max i tpd,min.

obrazek

Rozważmy sytuację, gdy okres zegarowy rozpoczyna się tuż za pierwszą opadającą krawędzią zegara systemowego. Przerzutnik latch jest zatrzaśnięty przy niskim poziomie sygnału zegarowego, a staje się przezroczysty (na wyjściu pojawia się sygnał z wejścia D), gdy sygnał zegara przyjmuje stan wysoki, co pokazuje na powyższym wykresie zakreskowany na czerwono obszar. Gdy sygnał zegara wróci do stanu niskiego, wartość sygnału z wejścia zostaje zatrzaśnięta w przerzutniku latch. Przy następnej krawędzi narastającej zegara stan wyjścia Q przerzutnika latch zostaje przepisany do bitu rejestru PINxn. Jak pokazują czasy tpd,max i tpd,min, przejście sygnału z końcówki do bitu portu PINxn będzie opóźnione o czas pomiędzy ½ a 1½ okresu zegara systemu.

Gdy odczytywana jest wartość końcówki portu ustawiona programowo, należy wstawić instrukcję NOP, jak pokazano na poniższym wykresie. Instrukcja OUT ustawia przerzutnik latch przy dodatniej krawędzi zegara (przejście z 0 na 1). W tym przypadku opóźnienie tpd wprowadzane przez synchronizator wynosi jeden okres zegara systemowego.

obrazek

Poniższy przykład kodu pokazuje, jak ustawić końcówki portu B 0 i 1 w stan wysoki, 2 i 3 w stan niski, i zdefiniować końcówki od 4 do 7 jako wejścia z opornikiem podciągającym podpiętym do końcówek 6 i 7. Końcówki są odczytywane z powrotem, lecz jak przedyskutowano poprzednio, została wstawiona instrukcja NOP, aby móc odczytać wartość poprzednio przypisaną do niektórych z końcówek.
Przykład w kodzie maszynowym(1)
    ...
    ; Zdefiniuj podciąganie i ustaw wyjścia w stan wysoki
    ; Zdefiniuj kierunki dla końcówek portu
    ldi r16,(1<<PB7)|(1<<PB6)|(1<<PB1)|(1<<PB0)
    ldi r17,(1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0)
    out PORTB,r16
    out DDRB,r17
    ; Wstaw NOP dla synchronizacji
    nop
    ; Odczytaj końcówki portu
    in r16,PINB
    ...
Przykład w języku C
unsigned char i;
    ...
    /* Zdefiniuj podciąganie i ustaw wyjścia w stan wysoki */
    /* Zdefiniuj kierunki dla końcówek portu */
    PORTB = (1<<PB7)|(1<<PB6)|(1<<PB1)|(1<<PB0);
    DDRB = (1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0);
    /* Wstaw NOP dla synchronizacji */
    __no_operation();
    /* Odczytaj końcówki portu */
    i = PINB;
    ...
Uwaga: 1. W programie asemblerowym używane są dwa rejestry tymczasowe w celu zminimalizowania czasu użycia oporników podciągających na końcówkach 0, 1 i 6 i 7, aż zostaną właściwie ustawione bity kierunku, definiując bity 2 i 3 jako stan niski oraz redefiniując bity 0 i 1 jako mocno wysterowane w stan wysoki.

Uaktywnienienie wejścia cyfrowego a tryby uśpienia

Jak pokazano na schemacie z początku rozdziału, wejściowy sygnał cyfrowy może zostać zwarty do masy przed wejściem bramki Schmitta:

obrazek

Sygnał oznaczony na tym rysunku jako SLEEP jest ustawiany przez sterownik usypiania mikrokontrolera w trybie wyłączania napięcia oraz w trybie gotowości, aby uniknąć wysokiego poboru energii, jeśli jakieś sygnały wejściowe pozostawiono w stanie pośrednim np. w pobliżu wartości VCC/2. Sygnał SLEEP zostaje anulowany dla końcówek portu aktywowanych jako końcówki przerwań zewnętrznych. Jeśli żądanie przerwania zewnętrznego nie jest włączone, to sygnał SLEEP jest aktywny również dla tych końcówek.

Sygnał SLEEP jest również anulowany przez różne inne funkcje alternatywne, jak opisano w kolejnym podrozdziale.

Jeśli wysoki stan logiczny utrzymuje się na końcówce asynchronicznego przerwania zewnętrznego skonfigurowanej jako "przerwanie przy narastającym zboczu, opadającym zboczu lub zmianie stanu końcówki", gdy przerwanie zewnętrzne nie jest uaktywnione, to odpowiadający tej końcówce znacznik przerwania zewnętrznego zostanie ustawiony, gdy mikrokontroler wybudzi się z powyżej wspomnianego trybu uśpienia, ponieważ zwarcie do masy w tych trybach uśpienia powoduje zmianę stanu logicznego.

Niepodłączone końcówki

Jeśli niektóre końcówki są nieużywane, to zaleca się, aby te końcówki posiadały zdefiniowany poziom. Nawet jeśli większość wejść cyfrowych jest wyłączona w głębokich trybach uśpienia, jak opisano powyżej, niepodłączonych wejść należy unikać, aby zmniejszyć pobór prądu we wszystkich innych trybach, gdzie cyfrowe wejścia są włączone (reset, tryb aktywny i tryb bezczynności).

Najprostszą metodą zapewnienia zdefiniowanego poziomu nieużywanej końcówki jest włączenie wewnętrznych oporników podciągających. W tym wypadku opornik podciągający będzie wyłączony podczas resetu. Jeśli niski pobór prądu podczas resetu jest ważny, to zaleca się użycie zewnętrznych oporników podciągających w górę lub w dół (dołączonych do Vcc lub do GND). Nie jest zalecane bezpośrednie podłączanie nieużywanych końcówek do Vcc lub do GND, ponieważ może to spowodować pobór nadmiernego prądu, jeśli końcówka zostanie przypadkowo skonfigurowana jako wyjście.


Na początek:  podrozdziału   strony 

Alternatywne funkcje portów

Większość końcówek portów posiada funkcje alternatywne oprócz ogólnego wejścia/wyjścia cyfrowego. Rysunek poniżej pokazuje, jak sygnały sterujące końcówkami portu z uproszczonego rysunku z poprzedniego podrozdziału mogą zostać zastąpione funkcjami alternatywnymi:

obrazek

PUOExn: Pxn PULL-UP OVERRIDE ENABLE
włączenie anulacji opornika podciągającego dla Pxn
       PUD: PULLUP DISABLE
wyłączenie funkcji podciągania
PUOVxn: Pxn PULL-UP OVERRIDE VALUE
stan opornika podciągającego dla Pxn po anulacji
  WDx: WRITE DDRx
zapis DDRx
DDOExn: Pxn DATA DIRECTION OVERRIDE ENABLE
włączenie anulacji kierunku danych dla Pxn
  RDx: READ DDRx
odczyt DDRx
DDOVxn: Pxn DATA DIRECTION OVERRIDE VALUE
kierunek danych dla Pxn po anulacji
  RRx: READ PORTx REGISTER
odczyt rejestru PORTx
PVOExn: Pxn PORT VALUE OVERRIDE ENABLE
włączenie anulacji stanu wyjściowego portu Pxn
  WRx WRITE PORTx
zapis rejestru PORTx
PVOVxn: Pxn PORT VALUE OVERRIDE VALUE
stan wyjściowy portu Pxn po anulacji
  RPx: READ PORTx PIN
odczyt końcówki PORTx
DIEOExn: Pxn DIGITAL INPUT-ENABLE OVERRIDE ENABLE
włączenie anulacji włączenia wejścia cyfrowego dla Pxn
  WPx: WRITE PINx
zapis PINx
DIEOVxn:  Pxn DIGITAL INPUT-ENABLE OVERRIDE VALUE
stan włączenia wejścia cyfrowego Pxn po anulacji
  clkI/O:  I/O CLOCK
zegar we/wy
SLEEP sterowanie uśpieniem   DIxn: DIGITAL INPUT PIN n ON PORTx
końcówka wejścia cyfrowego w PORTx
PTOExn: Pxn, PORT TOGGLE OVERRIDE ENABLE
włączenie anulacji zmiany stanu portu Pxn na przeciwny
  AIOxn: ANALOG INPUT/OUTPUT PIN n ON PORTx
końcówka n we/wy analogowego w PORTx
Uwaga: Sygnały WRx, WPx, WDx, RRx, RPx i RDx są wspólne dla wszystkich końcówek wewnątrz tego samego portu. Sygnały clkI/O i SLEEP i PUD są wspólne dla wszystkich portów. Wszystkie pozostałe sygnały są indywidualne dla każdej końcówki.

Ilustracja na powyższym obrazku służy jako ogólny opis, który odnosi się do wszystkich końcówek portów w rodzinie mikrokontrolerów AVR. Niektóre sygnały anulujące mogą nie występować we wszystkich końcówkach portów.

Poniższa tabela podsumowuje funkcje sygnałów anulujących. Indeksy końcówek i portów z obrazka powyżej nie będą pokazywane w następnych tabelach. Sygnały anulujące są generowane wewnętrznie w modułach posiadających alternatywną funkcję.

Nazwa sygnału Pełna nazwa Opis
PUOE Pull-up Override Enable
włączenie anulacji opornika podciągającego
Jeśli sygnał ten ma wysoki poziom logiczny, to sterowanie przyłączaniem opornika podciągającego jest kontrolowane przez sygnał PUOV. Jeśli sygnał ten ma niski stan logiczny, to opornik podciągający zostanie podłączony do linii portu, gdy {DDxn, PORTxn, PUD} = 0b010..
PUOV Pull-up Override Value
stan opornika podciągającego po anulacji
Jeśli PUOE jest w stanie wysokim, to opornik podciągający jest podłączany/odłączany przez stan sygnału PUOV bez względu na ustawienie bitów rejestrowych DDxn, PORTxn i PUD.
DDOE Data Direction  Override Enable
włączenie anulacji kierunku danych
Jeśli sygnał ten ma stan wysoki, kierunek działania portu jest kontrolowany przez sygnał DDOV. Jeśli ten sygnał ma stan niski, to kierunkiem pracy portu steruje bit rejestrowy DDxn.
DDOV Data Direction Override Value
kierunek danych po anulacji
Jeśli DDOE ma stan wysoki, to kierunkiem pracy portu steruje sygnał DDOV bez względu na ustawienie bitu rejestrowego DDxn.
PVOE Port Value Override Enable
włączenie anulacji stanu wyjściowego portu
Jeśli sygnał ten ma stan wysoki i aktywne jest wyjście portu, to stan na tym wyjściu kontroluje sygnał PVOV. Jeśli PVOE ma stan niski i wyjście portu jest aktywne, to stan na tym wyjściu określa bit rejestrowy PORTxn.
PVOV Port Value Override Value
stan wyjścia portu po anulacji
Jeśli PVOE jest w stanie wysokim, to stan wyjścia portu (jeśli port pracuje jako wyjście) określa PVOV, bez względu na ustawienie bitu rejestrowego PORTxn.
PTOE Port Toggle Override Enable
włączenie anulacji zmiany stanu portu na przeciwny
Jeśli PTOE jest w stanie wysokim, to bit rejestrowy PORTxn zostanie zanegowany.
DIEOE Digital Input Enable Override Enable
włączenie anulacji włączenia wejścia cyfrowego
Jeśli sygnał ten jest ustawiony, to włączanie/wyłączanie wejścia cyfrowego jest kontrolowane stanem sygnału DIEOV. Jeśli sygnał DIEOE ma stan niski to włączanie/wyłączanie wejścia cyfrowego określa stan mikrokontrolera (tryb normalny, tryb uśpienia).
DIEOV Digital Input Enable Override Value
stan włączenia wejścia cyfrowego po anulacji
Jeśli sygnał DIEOE jest ustawiony, to wejście cyfrowe jest włączane/wyłączane stanem sygnału DIEOV, bez względu na stan mikrokontrolera (tryb normalny, tryb uśpienia).
DI Digital Input
wejście cyfrowe
Jest to wejście cyfrowe dla alternatywnych funkcji. Na rysunku powyżej jest ono połączone z wyjściem bramki Schmitta przed synchronizatorem. O ile wejście cyfrowe nie będzie używane jako źródło zegarowe, moduł z alternatywną funkcją będzie korzystał ze swojego własnego synchronizatora.
AIO Analog Input/Output
wejście/wyjście analogowe
Jest to analogowe wejście/wyjście dla alternatywnych funkcji. Sygnał jest bezpośrednio podłączony do końcówki mikrokontrolera i może być używany w obu kierunkach.

Kolejne podrozdziały krótko opisują alternatywne funkcje dla każdego portu oraz łączą sygnały anulujące z tymi funkcjami. Więcej szczegółów znajdziesz w opisie funkcji alternatywnych w dalszych rozdziałach.


Alternatywne funkcje portu A

Funkcją alternatywną portu A jest sterowanie pamięcią zewnętrzną. W trybie interfejsu pamięci zewnętrznej (ang. External Memory Interface) na liniach portu A pojawia się naprzemiennie dolny bajt adresu oraz linie danych.

Końcówka portu Funkcja alternatywna
PA7 AD7 (bit 7 danych lub adresu komórki pamięci zewnętrznej)
PA6 AD6 (bit 6 danych lub adresu komórki pamięci zewnętrznej)
PA5 AD5 (bit 5 danych lub adresu komórki pamięci zewnętrznej)
PA4 AD4 (bit 4 danych lub adresu komórki pamięci zewnętrznej)
PA3 AD3 (bit 3 danych lub adresu komórki pamięci zewnętrznej)
PA2 AD2 (bit 2 danych lub adresu komórki pamięci zewnętrznej)
PA1 AD1 (bit 1 danych lub adresu komórki pamięci zewnętrznej)
PA0 AD0 (bit 0 danych lub adresu komórki pamięci zewnętrznej)

Poniższe tabele odwzorowują funkcje alternatywne portu A w zależności od sygnałów sterujących.

Nazwa
sygnału
PA7/AD7 PA6/AD6 PA5/AD5 PA4/AD4
PUOE SRE SRE SRE SRE
PUOV ~(WR | ADA(1)) •PORTA7 • PUD ~(WR | ADA) • PORTA6 • PUD ~(WR | ADA) • PORTA5 • PUD ~(WR | ADA) • PORTA4 • PUD
DDOE SRE SRE SRE SRE
DDOV WR | ADA WR | ADA WR | ADA WR | ADA
PVOE SRE SRE SRE SRE
PVOV A7 • ADA | D7 OUTPUT • WR A6 • ADA | D6 OUTPUT • WR A5 • ADA | D5 OUTPUT • WR A4 • ADA | D4 OUTPUT • WR
DIEOE 0 0 0 0
DIEOV 0 0 0 0
DI Wejście D7 Wejście D6 Wejście D5 Wejście D4
AIO
Uwagi: 1. ADA jest skrótem angielskiego terminu ADdress Active (adres aktywny) i reprezentuje czas, w którym na liniach portu A pojawia się adres pamięci. Szczegóły znajdziesz w rozdziale "Interfejs pamięci zewnętrznej".
Nazwa
sygnału
PA3/AD3 PA2/AD2 PA1/AD1 PA0/AD0
PUOE SRE SRE SRE SRE
PUOV PUOV ~(WR | ADA) • PORTA3 • PUD ~(WR | ADA) • PORTA2 • PUD ~(WR | ADA) • PORTA1 • PUD ~(WR | ADA) • PORTA0 • PUD
DDOE SRE SRE SRE SRE
DDOV WR | ADA WR | ADA WR | ADA WR | ADA
PVOE SRE SRE SRE SRE
PVOV A3 • ADA | D3 OUTPUT • WR A2• ADA | D2 OUTPUT • WR A1 • ADA | D1 OUTPUT • WR A0 • ADA | D0 OUTPUT • WR
DIEOE 0 0 0 0
DIEOV 0 0 0 0
DI Wejście D3 Wejście D2 Wejście D1 Wejście D0
AIO

Alternatywne funkcje portu B

Końcówka portu Funkcja alternatywna
PB7 OC0A/OC1C/PCINT7 (Wyjście Output Compare A i PWM A dla timera/licznika 0, wyjście Output Compare C i PWM C dla timera/licznika 1 lub przerwanie 7 od zmiany stanu końcówki)
PB6 OC1B/PCINT6 (Wyjście Output Compare B i PWM B dla timera/licznika 1 lub przerwanie 6 od zmiany stanu końcówki)
PB5 OC1A/PCINT5 (Wyjście Output Compare A i PWM A dla timera/licznika 1 lub przerwanie 5 od zmiany stanu końcówki)
PB4 OC2A/PCINT4 (Wyjście Output Compare A i PWM A dla timera/licznika 2 lub przerwanie 4 od zmiany stanu końcówki)
PB3 MISO/PCINT3 (Wejście Master/wyjście Slave magistrali SPI lub przerwanie 3 od zmiany stanu końcówki)
PB2 MOSI/PCINT2 (Wyjście Master/wejście Slave magistrali SPI lub przerwanie 2 od zmiany stanu końcówki)
PB1 SCK/PCINT1 (Zegar szeregowy magistrali SPI lub przerwanie 1 od zmiany stanu końcówki)
PB0 SS/PCINT0 (Wejście wyboru układu Slave SPI lub przerwanie 0 od zmiany stanu końcówki)

Alternatywna konfiguracja końcówek portu B jest następująca:

OC0A/OC1C/PCINT7, Port B, bit 7

OC0A: Wyjście Output Compare Match A: Końcówka PB7 może służyć jako wyjście zewnętrzne funkcji Output Compare A w timerze/liczniku 0. Końcówkę należy skonfigurować jako wyjście (DDB7 ustawione na "jeden"), mogła służyć tej funkcji. Końcówka OC0A jest również wyjściem dla funkcji PWM timera.
OC1C: Wyjście Output Compare Match C: Końcówka PB7 może służyć jako wyjście zewnętrzne funkcji Output Compare C w timerze/liczniku 1. Końcówkę należy skonfigurować jako wyjście (DDB7 ustawione na "jeden"), mogła służyć tej funkcji. Końcówka OC1C jest również wyjściem dla funkcji PWM timera.
PCINT7: Źródło 7 przerwania od zmiany stanu końcówki: Końcówka PB7 może służyć jako źródło przerwania zewnętrznego.

OC1B/PCINT6, Port B, bit 6

OC1B: Wyjście Output Compare Match B: Końcówka PB6 może służyć jako wyjście zewnętrzne funkcji Output Compare B w timerze/liczniku 1. Końcówkę należy skonfigurować jako wyjście (DDB6 ustawione na "jeden"), mogła służyć tej funkcji. Końcówka OC1B jest również wyjściem dla funkcji PWM timera.
PCINT6: Źródło 6 przerwania od zmiany stanu końcówki: Końcówka PB6 może służyć jako źródło przerwania zewnętrznego.

OC1A/PCINT5, Port B, bit 5

OC1A: Wyjście Output Compare Match A: Końcówka PB5 może służyć jako wyjście zewnętrzne funkcji Output Compare A w timerze/liczniku 1. Końcówkę należy skonfigurować jako wyjście (DDB5 ustawione na "jeden"), mogła służyć tej funkcji. Końcówka OC1A jest również wyjściem dla funkcji PWM timera.
PCINT5, Źródło 5 przerwania od zmiany stanu końcówki: Końcówka PB5 może służyć jako źródło przerwania zewnętrznego.

OC2A/PCINT4, Port B, bit 4

OC2A: Wyjście Output Compare Match A: Końcówka PB4 może służyć jako wyjście zewnętrzne funkcji Output Compare A w timerze/liczniku 2. Końcówkę należy skonfigurować jako wyjście (DDB4 ustawione na "jeden"), mogła służyć tej funkcji. Końcówka OC2A jest również wyjściem dla funkcji PWM timera.
PCINT4: Źródło 4 przerwania od zmiany stanu końcówki: Końcówka PB4 może służyć jako źródło przerwania zewnętrznego.

MISO/PCINT3 – Port B, bit 3

MISO: Końcówka wejścia danych dla Master, wyjścia danych dla Slave w kanale SPI. Gdy moduł SPI zostanie włączony jako master (nadrzędny), to końcówka ta staje się wejściem bez względu na ustawienie bitu kierunku DDB3. Gdy moduł SPI pracuje jako slave (podporządkowany), to kierunek danych tej końcówki określany jest bitem DDB3. Gdy końcówka wymuszona została jako wejście, opornik podciągający wciąż jest kontrolowany bitem PORTB3.
PCINT3: Źródło 3 przerwania od zmiany stanu końcówki: Końcówka PB3 może służyć jako źródło przerwania zewnętrznego.

MOSI/PCINT2 – Port B, bit 2

MOSI: Końcówka wyjścia danych dla Master, wejścia danych dla Slave w kanale SPI. Gdy moduł SPI zostanie włączony jako slave (podporządkowany), to końcówka ta staje się wejściem bez względu na ustawienie bitu kierunku DDB2. Gdy moduł SPI pracuje jako master (nadrzędny), to kierunek danych tej końcówki określany jest bitem DDB2. Gdy końcówka wymuszona została jako wejście, opornik podciągający wciąż jest kontrolowany bitem PORTB2.
PCINT2: Źródło 2 przerwania od zmiany stanu końcówki: Końcówka PB2 może służyć jako źródło przerwania zewnętrznego.

SCK/PCINT1 – Port B, Bit 1

SCK: Wyjście zegara Master, wejście zegara dla Slave w kanale SPI. Gdy moduł SPI pracuje jako slave (podporządkowany), końcówka ta jest skonfigurowana jako wejście bez względu na ustawienie bitu DDB1. Gdy SPI pracuje jako master (nadrzędny), kierunek danych tej końcówki kontroluje bit DDB1. Gdy praca końcówki jest wymuszona jako wejście, opornik podciągający wciąż jest kontrolowany przez bit PORTB1.
PCINT1: Źródło 1 przerwania od zmiany stanu końcówki: Końcówka PB1 może służyć jako źródło przerwania zewnętrznego.

SS/PCINT0 – Port B, Bit 0

SS: Wejście wyboru portu Slave. Gdy moduł SPI zostaje włączony w trybie slave  (podporządkowanym), końcówka ta jest skonfigurowana jako wejście bez względu na ustawienie bitu DDB0. Jako slave moduł SPI uaktywnia się, gdy ta końcówka zostaje wysterowana stanem niskim. Gdy SPI pracuje jako master (nadrzędny), kierunek danych końcówki kontroluje bit DDB0. Gdy praca końcówki jest wymuszona jako wejście, opornik podciągający wciąż jest kontrolowany przez bit PORTB0.
PCINT0: Źródło 0 przerwania od zmiany stanu końcówki: Końcówka PB0 może służyć jako źródło przerwania zewnętrznego.

Poniższe tabele odwzorowują funkcje alternatywne portu B w zależności od sygnałów sterujących.

Nazwa
sygnału
PB7/OC0A/OC1C PB6/OC1B PB5/OC1A PB4/OC2A
PUOE 0 0 0 0
PUOV 0 0 0 0
DDOE 0 0 0 0
DDOV 0 0 0 0
PVOE Włączenie OC0/OC1C Włączenie OC1B Włączenie OC1A Włączenie OC2A
PVOV OC0/OC1C OC1B OC1A OC2A
DIEOE PCINT7 • PCIE0 PCINT6 • PCIE0 PCINT5 • PCIE0 PCINT4 • PCIE0
DIEOV 1 1 1 1
DI Wejście PCINT7 Wejście PCINT6 Wejście PCINT5 Wejście PCINT4
AIO
Nazwa
sygnału
PB3/MISO PB2/MOSI PB1/SCK PB0/SS
PUOE SPE • MSTR SPE • MSTR SPE • MSTR SPE • MSTR
PUOV PORTB3 • PUD PORTB2 • PUD PORTB1 • PUD PORTB0 • PUD
DDOE SPE • MSTR SPE • MSTR SPE • MSTR SPE • MSTR
DDOV 0 0 0 0
PVOE SPE • MSTR SPE • MSTR SPE • MSTR 0
PVOV Wyjście SPI SLAVE Wyjście SPI MSTR Wyjście SCK 0
DIEOE PCINT3 • PCIE0 PCINT2 • PCIE0 PCINT1 • PCIE0 PCINT0 • PCIE0
DIEOV 1 1 1 1
DI Wejście SPI MSTR
Wejście PCINT3
Wejście SPI SLAVE
Wejście PCINT2 INPUT
Wejście SCK
Wejście PCINT1
SPI SS
Wejście PCINT0
AIO

Alternatywne funkcje portu C

Końcówka portu Funkcja alternatywna
PC7 A15 (bit 15 adresu w interfejsie pamięci zewnętrznej)
PC6 A14 (bit 14 adresu w interfejsie pamięci zewnętrznej)
PC5 A13 (bit 13 adresu w interfejsie pamięci zewnętrznej)
PC4 A12 (bit 12 adresu w interfejsie pamięci zewnętrznej)
PC3 A11 (bit 11 adresu w interfejsie pamięci zewnętrznej)
PC2 A10 (bit 10 adresu w interfejsie pamięci zewnętrznej)
PC1 A9 (bit 9 adresu w interfejsie pamięci zewnętrznej)
PC0 A8 (bit 8 adresu w interfejsie pamięci zewnętrznej)

Poniższe tabele odwzorowują funkcje alternatywne portu C w zależności od sygnałów sterujących.

Nazwa
sygnału
PC7/A15 PC6/A14 PC5/A13 PC4/A12
PUOE SRE • (XMM<1) SRE • (XMM<2) SRE • (XMM<3) SRE • (XMM<4)
PUOV 0 0 0 0
DDOE SRE • (XMM<1) SRE • (XMM<2) SRE • (XMM<3) SRE • (XMM<4)
DDOV 1 1 1 1
PVOE SRE • (XMM<1) SRE • (XMM<2) SRE • (XMM<3) SRE • (XMM<4)
PVOV A15 A14 A13 A12
DIEOE 0 0 0 0
DIEOV 0 0 0 0
DI
AIO
Nazwa
sygnału
PC3/A11 PC2/A10 PC1/A9 PC0/A8
PUOE SRE • (XMM<5) SRE • (XMM<6) SRE • (XMM<7) SRE • (XMM<7)
PUOV 0 0 0 0
DDOE SRE • (XMM<5) SRE • (XMM<6) SRE • (XMM<7) SRE • (XMM<7)
DDOV 1 1 1 1
PVOE SRE • (XMM<5) SRE • (XMM<6) SRE • (XMM<7) SRE • (XMM<7)
PVOV A11 A10 A9 A8
DIEOE 0 0 0 0
DIEOV 0 0 0 0
DI
AIO

Alternatywne funkcje portu D

   

Końcówka portu Funkcja alternatywna
PD7 T0 (Wejście zegara dla timera/licznika 0)
PD6 T1 (Wejście zegara dla timera/licznika 1)
PD5 XCK1 (Wejście/wyjście zegara zewnętrznego dla modułu USART 1)
PD4 ICP1 (Wyzwalanie Input Capture w timerze/liczniku 1)
PD3 INT3/TXD1 (Wejście przerwania zewnętrznego 3 lub końcówka nadawcza modułu USART 1)
PD2 INT2/RXD1 (Wejście przerwania zewnętrznego 2 lub końcówka odbiorcza modułu USART 1)
PD1 INT1/SDA (Wejście przerwania zewnętrznego 1 lub dane szeregowe modułu TWI)
PD0 INT0/SCL (Wejście przerwania zewnętrznego 0 lub zegar szeregowy modułu TWI)

Alternatywna konfiguracja końcówek jest następująca:

T0 – Port D, Bit 7

T0: źródło zegarowe dla timera/licznika 0.

T1 – Port D, Bit 6

T1: źródło zegarowe dla timera/licznika 1.

XCK1 – Port D, Bit 5

XCK1: Zewnętrzny zegar modułu USART 1. Rejestr kierunku danych portu D (bit DDD5) określa, czy zegar jest wyprowadzany na końcówkę (ustawiony bit DDD5), czy wprowadzany z końcówki (bit DDD5 wyzerowany). Końcówka XCK1 jest aktywna tylko wtedy, gdy moduł USART 1 pracuje w trybie synchronicznym.

ICP1 – Port D, Bit 4

ICP1: Końcówka Input Capture 1: Końcówka PD4 może działać jako końcówka Input Capture dla timera/licznika 1.

INT3/TXD1 – Port D, Bit 3

INT3: Źródło 3 przerwania zewnętrznego. Końcówka PD3 może służyć jako źródło przerwania zewnętrznego dla mikrokontrolera.
TXD1: Dane transmitowane (końcówka wyjścia danych dla modułu USART 1). Gdy pracuje nadajnik USART 1, końcówka ta zostaje skonfigurowana jako wyjscie bez względu na wartość bitu DDD3 w rejestrze kierunku danych portu D.

INT2/RXD1 – Port D, Bit 2

INT2: Źródło 2 przerwania zewnętrznego. Końcówka PD2 może służyć jako źródło przerwania zewnętrznego dla mikrokontrolera.
RXD1: Dane odbierane (końcówka wejścia danych dla modułu USART 1). Gdy pracuje odbiornik USART 1, to końcówka ta zostaje skonfigurowana jako wejście bez względnu na wartość bitu DDD2. Gdy moduł  USART 1 wymusza na końcówce pracę jako wejście, to jej opornik podciągający wciąż może być kontrolowany bitem PORTD2.

INT1/SDA – Port D, Bit 1

INT1: Źródło 1 przerwania zewnętrznego. Końcówka PD1 może służyć jako źródło przerwania zewnętrznego dla mikrokontrolera.
SDA: Dane 2-przewodowego interfejsu szeregowego. Gdy jest ustawiony bit TWEN w rejestrze TWCR w celu włączenia 2-przewodowego interfejsy szeregowego, końcówka PD1 zostaje odłączona od portu i przekształca się w końcówkę we/wy danych szeregowych. W tym trybie końcówka posiada filtr zakłóceń szpilkowych, który eliminuje impulsy krótsze od 50ns w sygnale wejściowym, a końcówka jest sterowana drajwerem typu otwarty dren z ograniczeniem stromości zbocza sygnału wyjściowego.

INT0/SCL – Port D, Bit 0

INT0: Źródło 0 przerwania zewnętrznego. Końcówka PD0 może służyć jako źródło przerwania zewnętrznego dla mikrokontrolera.
SCL: Zegar 2-przewodowego interfejsu szeregowego. Gdy jest ustawiony bit TWEN w rejestrze TWCR w celu włączenia 2-przewodowego interfejsy szeregowego, końcówka PD1 zostaje odłączona od portu i przekształca się w końcówkę we/wy zegara szeregowego dla 2-przewodowego interfejsu szeregowego. W tym trybie końcówka posiada filtr zakłóceń szpilkowych, który eliminuje impulsy krótsze od 50ns w sygnale.

Poniższe tabele odwzorowują funkcje alternatywne portu D w zależności od sygnałów sterujących.

Nazwa
sygnału
PD7/T0 PD6/T1 PD5/XCK1 PD4/ICP1
PUOE 0 0 0 0
PUOV 0 0 0 0
DDOE 0 0 Włączenie wyjścia XCK1 0
DDOV 0 0 1 0
PVOE 0 0 Włączenie wyjścia XCK1 0
PVOV 0 0 Wyjście XCK1 0
DIEOE 0 0 0 0
DIEOV 0 0 0 0
DI Wejście T0 Wejście T1 Wejście XCK1 Wejście ICP1
AIO
Nazwa
sygnału
PD3/INT3/TXD1 PD2/INT2/RXD1 PD1/INT1/SDA PD0/INT0/SCL
PUOE TXEN1 RXEN1 TWEN TWEN
PUOV 0 PORTD2 • PUD PORTD1 • PUD PORTD0 • PUD
DDOE TXEN1 RXEN1 TWEN TWEN
DDOV 1 0 SDA_OUT SCL_OUT
PVOE TXEN1 0 TWEN TWEN
PVOV TXD1 0 0 0
DIEOE Włączenie INT3 Włączenie INT2 Włączenie INT1 Włączenie INT0
DIEOV 1 1 1 1
DI Wejście INT3 Wejście INT2/RXD1 Wejście INT1 Wejście INT0
AIO Wejście SDA Wejście SCL

Alternatywne funkcje portu E

   

Końcówka portu Funkcja alternatywna
PE7 PE7 INT7/ICP3/CLK0 (Wejście przerwania zewnętrznego 7,  wyzwalanie Input Capture w timerze/liczniku 3 lub podzielony zegar systemu)
PE6 INT6/ T3 (Wejście przerwania zewnętrznego 6 lub wejście zegara timera/licznika 3)
PE5 INT5/OC3C (Wejście przerwania zewnętrznego 5 lub wyjście Output Compare C i PWM C dla timera/licznika 3)
PE4 INT4/OC3B (Wejście przerwania zewnętrznego 4 lub wyjście Output Compare B i PWM B dla timera/licznika 3)
PE3 AIN1/OC3A (Wejście odwracające komparatora analogowego lub wyjście Output Compare A i PWM A dla timera/licznika 3)
PE2 AIN0/XCK0 (Wejście nieodwracające komparatora analogowego lub wejście/wyjście zewnętrznego zegara dla modułu USART 0)
PE1 PDO(1)/TXD0 (Wyjście danych przy programowaniu lub końcówka nadawcza modułu USART 0)
PE0 PDI(1)/RXD0/PCINT8 (Wejście danych przy programowaniu, końcówka odbiorcza modułu USART 0 lub przerwanie 8 od zmiany stanu końcówki)
Uwaga: 1. Tylko dla ATmega1281/2561. W mikrokontrolerach ATmega640/1280/2560 funkcje te są umieszczone w końcówkach MISO/MOSI.

Alternatywna konfiguracja końcówek jest następująca:

INT7/ICP3/CLKO – Port E, Bit 7

INT7: Źródło 7 przerwania zewnętrznego. Końcówka PE7 może służyć jako źródło przerwania zewnętrznego.
ICP3: Końcówka 3 Input Capture. Końcówka PE7 może pełnić rolę końcówki Input Capture dla timera licznika 3.
CLKO: Podzielony zegar systemu, może być wyprowadzany na końcówce PE7. Stanie się tak po zaprogramowaniu bitu bezpiecznikowego CKOUT bez względu na ustawienia bitów PORTE7 i DDE7. Zegar będzie również wyprowadzany podczas resetu.

INT6/T3 – Port E, Bit 6

INT6: Źródło 6 przerwania zewnętrznego. Końcówka PE6 może służyć jako źródło przerwania zewnętrznego.
T3: Źródło zegara dla timera/liczka 3.

INT5/OC3C – Port E, Bit 5

INT5: Źródło 5 przerwania zewnętrznego. Końcówka PE5 może służyć jako źródło przerwania zewnętrznego.
OC3C: Wyjście dla Output Compare Match C. Końcówka PE5 może służyć jako zewnętrzne wyjście Output Compare C w timerze/liczniku 3. Końcówkę należy skonfigurować jako wyjście (bit DDE5 ustawiony na “jeden”), aby służyła tej funkcji. Końcówka OC3C jest również wyjściem dla funkcji trybu PWM timera.

INT4/OC3B – Port E, Bit 4

INT4: Źródło 4 przerwania zewnętrznego. Końcówka PE4 może służyć jako źródło przerwania zewnętrznego.
OC3B: Wyjście dla Output Compare Match B. Końcówka PE4 może służyć jako zewnętrzne wyjście Output Compare B w timerze/liczniku 3. Końcówkę należy skonfigurować jako wyjście (bit DDE4 ustawiony na “jeden”), aby służyła tej funkcji. Końcówka OC3B jest również wyjściem dla funkcji trybu PWM timera.

AIN1/OC3A – Port E, Bit 3

AIN1: Wejście odwracające komparatora analogowego. Końcówka jest podpięta bezpośrednio do wejścia odwracającego komparatora analogowego.
OC3A: Wyjście dla Output Compare Match A. Końcówka PE3 może służyć jako zewnętrzne wyjście Output Compare A w timerze/liczniku 3. Końcówkę należy skonfigurować jako wyjście (bit DDE3 ustawiony na “jeden”), aby służyła tej funkcji. Końcówka OC3A jest również wyjściem dla funkcji trybu PWM timera.

AIN0/XCK0 – Port E, Bit 2

AIN0: Wejście nieodwracające komparatora analogowego. Końcówka jest podpięta bezpośrednio do wejścia nieodwracającego komparatora analogowego.
XCK0: Zegar zewnętrzny modułu USART 0. Bit DDE2 rejestru kierunku danych kontroluje, czy zegar jest wyprowadzany (bit DDE2 ustawiony), czy wprowadzany (bit DDE2 wyzerowany). Końcówka XCK0 uaktywnia się tylko wtedy, gdy moduł USART 0 pracuje w trybie synchronicznym.

PDO/TXD0 – Port E, Bit 1

PDO: Wyjście danych przy programowaniu szeregowym SPI. Podczas odczytu danych w programowaniu szeregowym końcówka ta jest używana jako linia wyjścia danych dla ATmega1281/2561. W mikrokontrolerach ATmega640/1280/2560 funkcję tę umieszczono w końcówce MISO.
TXD0: Końcówka nadawcza modułu USART 0.

PDI/RXD0/PCINT8 – Port E, Bit 0

PDI: Wejście danych przy programowaniu szeregowym SPI. Podczas zapisu danych w programowaniu szeregowym końcówka ta jest używana jako linia wejścia danych dla ATmega1281/2561. W mikrokontrolerach ATmega640/1280/2560 funkcję tę umieszczono w końcówce MOSI.
RXD0: Końcówka odbiorcza modułu USART 0. Dane odbierane (wejście danych dla USART0). Gdy odbiornik USART 0 jest włączony, to końcówka zostaje skonfigurowana jako wejście bez względu na wartość bitu DDRE0: Gdy moduł USART 0 wymusza pracę tej końcówki jako wejście, jedynka logiczna w bicie PORTE0 podłączy wewnętrzny opornik podciągający.
PCINT8, Źródło 8 przerwania od zmiany stanu końcówki: Końcówka PE0 może służyć jako źródło przerwania zewnętrznego.

Poniższe tabele odwzorowują funkcje alternatywne portu E w zależności od sygnałów sterujących.

Nazwa
sygnału
PE7/INT7/ICP3 PE6/INT6/T3 PE5/INT5/OC3C PE4/INT4/OC3B
PUOE 0 0 0 0
PUOV 0 0 0 0
DDOE 0 0 0 0
DDOV 0 0 0 0
PVOE 0 0 Włączenie OC3C Włączenie OC3B
PVOV 0 0 OC3C OC3B
DIEOE Włączenie INT7 Włączenie INT6 Włączenie INT5 Włączenie INT4
DIEOV 1 1 1 1
DI Wejście INT7/Wejście ICP3 Wejście INT7/Wejście T3 Wejście INT5 Wejście INT4
AIO
Nazwa
sygnału
PE3/AIN1/OC3A PE2/AIN0/XCK0 PE1/PDO(1)/TXD0 PE0/PDI(1)/RXD0/PCINT8
PUOE 0 0 TXEN0 RXEN0
PUOV 0 0 0 PORTE0 • PUD
DDOE 0 Włączenie wyjścia XCK0 TXEN0 RXEN0
DDOV 0 1 1 0
PVOE Włączenie OC3B Włączenie wyjścia XCK0 TXEN0 0
PVOV OC3B Wyjście XCK0 TXD0 0
DIEOE 0 0 0 PCINT8 • PCIE1
DIEOV 0 0 0 1
DI 0 Wejście XCK0 RXD0
PE0 0 0 0 Wejście PCINT8
AIO Wejście AIN1 Wejście AIN0
Uwaga 1. PDO/PDI są dostępne na końcówkach PE1/PE0 jedynie w mikrokontrolerach ATmega1281/2561

Alternatywne funkcje portu F

   

Funkcją alternatywną portu F są wejścia analogowe dla przetwornika A/C, co pokazuje tabelka poniżej. Jeśli niektóre z końcówek portu F zostaną skonfigurowane jako wyjścia, to ważnym jest aby nie zmieniały one swoich stanów logicznych podczas trwania konwersji w przetworniku A/C, ponieważ może to zaburzyć ten proces i dać nieprawidłowy wynik. Jeśli włączono interfejs JTAG, to oporniki podciągające końcówek PF7(TDI), PF5(TMS) i PF4(TCK) będą aktywowane nawet w przypadku wystąpienia Resetu.

Końcówka portu Funkcja alternatywna
PF7 ADC7/TDI (kanał 7 wejścia dla przetwornika A/C lub wejście danych testu JTAG)
PF6 ADC6/TDO (kanał 6 wejścia dla przetwornika A/C lub wyjście danych testu JTAG)
PF5 ADC5/TMS (kanał 5 wejścia dla przetwornika A/C lub wybór trybu testu JTAG)
PF4 ADC4/TCK (kanał 4 wejścia dla przetwornika A/C lub zegar testu JTAG)
PF3 ADC3 (kanał 3 wejścia dla przetwornika A/C)
PF2 ADC2 (kanał 2 wejścia dla przetwornika A/C)
PF1 ADC1 (kanał 1 wejścia dla przetwornika A/C)
PF0 ADC0 (kanał 0 wejścia dla przetwornika A/C)

Alternatywna konfiguracja końcówek jest następująca:

TDI, ADC7 – Port F, Bit 7

ADC7: Kanał 7 przetwornika analogowo/cyfrowego.
TDI: Wejście danych testu JTAG: Szeregowe dane wejściowe, które mają być wsunięte do rejestru instrukcji lub do rejestru danych (łańcuchy skanowania). Gdy jest włączony interfejs JTAG, końcówki tej nie można używać jako końcówki we/wy.

TDO, ADC6 – Port F, Bit 6

ADC6: Kanał 6 przetwornika analogowo/cyfrowego.
TDO: Wyjście danych testu JTAG. Szeregowe dane wyjściowe z rejestru instrukcji lub z rejestru danych. Gdy jest włączony interfejs JTAG, końcówki tej nie można używać jako końcówki we/wy. Końcówka TDO znajduje się w stanie wysokiej impedancji aż do momentu, gdy TAP da znać, iż dane wysuwane zostały wprowadzone.

TMS, ADC5 – Port F, Bit 5

ADC5: Kanał 5 przetwornika analogowo/cyfrowego.
TMS: Wybór trybu testu JTAG. Końcówka ta służy do nawigacji poprzez automat stanów kontrolera TAP. Gdy jest włączony interfejs JTAG, końcówki tej nie można używać jako końcówki we/wy.

TCK, ADC4 – Port F, Bit 4

ADC4: Kanał 4 przetwornika analogowo/cyfrowego.
TCK: Zegar testu JTAG. Praca JTAG jest synchronizowana z TCK. Gdy jest włączony interfejs JTAG, końcówki tej nie można używać jako końcówki we/wy.

ADC3 – ADC0 – Port F, Bity 3:0

ADC3:0: Kanały 3:0 przetwornika analogowo/cyfrowego.

Poniższe tabele odwzorowują funkcje alternatywne portu F w zależności od sygnałów sterujących.

Nazwa
sygnału
PF7/ADC7/TDI PF6/ADC6/TDO PF5/ADC5/TMS PF4/ADC4/TCK
PUOE JTAGEN JTAGEN JTAGEN JTAGEN
PUOV 1 0 1 1
DDOE JTAGEN JTAGEN JTAGEN JTAGEN
DDOV 0 SHIFT_IR + SHIFT_DR 0 0
PVOE 0 JTAGEN 0 0
PVOV 0 TDO 0 0
DIEOE JTAGEN JTAGEN JTAGEN JTAGEN
DIEOV 0 0 0 0
DI
AIO TDI/Wejście ADC7 Wejście ADC6 TMS/Wejście ADC5 TCK/Wejście ADC4
Nazwa
sygnału
PF3/ADC3 PF2/ADC2 PF1/ADC1 PF0/ADC0
PUOE 0 0 0 0
PUOV 0 0 0 0
DDOE 0 0 0 0
DDOV 0 0 0 0
PVOE 0 0 0 0
PVOV 0 0 0 0
DIEOE 0 0 0 0
DIEOV 0 0 0 0
DI 0 0 0 0
AIO Wejście ADC3 Wejście ADC2 Wejście ADC1 Wejście ADC0

Alternatywne funkcje portu G

   

Końcówka portu Funkcja alternatywna
PG5 OC0B (Wyjście Output Compare B i PWM B dla timera/licznika 0)
PG4 TOSC1 (oscylator RTC dla timera/licznika 2)
PG3 TOSC2 (oscylator RTC dla timera/licznika 2)
PG2 ALE (sygnał zatrzasku adresu dla pamięci zewnętrznej)
PG1 RD (strob odczytu pamięci zewnętrznej)
PG0 WR (strob zapisu pamięci zewnętrznej)

Alternatywna konfiguracja końcówek jest następująca:

OC0B – Port G, Bit 5

OC0B: Wyjście zgodności Output Compare B. Końcówka PG5 może służyć jako zewnętrzne wyjście dla Output Compare w timerze/liczniku 0. Końcówkę należy skonfigurować jako wyjście (ustawiony bit DDG5). aby służyła tej funkcji. Końcówka OC0B jest również wyjściem funkcji trybu PWM timera.

TOSC1 – Port G, Bit 4

TOSC1: Końcówka 1 oscylatora timera. Gdy zostanie ustawiony bit AS2 w rejestrze ASSR w celu włączenia asynchronicznego taktowania timera/licznika 2, to końcówka PG4 jest odłączana od portu i staje się wejściem odwracającego wzmacniacza oscylatora. W tym trybie do końcówki podłączony jest oscylator kwarcowy i nie może ona być używana jako końcówka we/wy.

TOSC2 – Port G, Bit 3

TOSC2: Końcówka 2 oscylatora timera. Gdy zostanie ustawiony bit AS2 w rejestrze ASSR w celu włączenia asynchronicznego taktowania timera/licznika 2, to końcówka PG3 jest odłączana od portu i staje się wejściem odwracającym wzmacniacza oscylatora. W tym trybie do końcówki podłączony jest oscylator kwarcowy i nie może ona być używana jako końcówka we/wy.

ALE – Port G, Bit 2

ALE: sygnał zatrzaskiwania adresu zewnętrznej pamięci danych.

RD – Port G, Bit 1

RD:  strob kontrolny odczytu zewnętrznej pamięci danych.

WR – Port G, Bit 0

WR: strob kontrolny zapisu zewnętrznej pamięci danych.

Poniższe tabele odwzorowują funkcje alternatywne portu G w zależności od sygnałów sterujących.

Nazwa
sygnału
PG5/OC0B PG4/TOSC1
PUOE AS2
PUOV 0
DDOE AS2
DDOV 0
PVOE Włączenie OC0B 0
PVOV OC0B 0
PTOE
DIEOE AS2
DIEOV EXCLK
DI
AIO Wejście T/C2 OSC
Nazwa
sygnału
PG3/TOSC2 PG2/ALE/A7 PG1/RD PG0/WR
PUOE AS2 • EXCLK SRE SRE SRE
PUOV 0 0 0 0
DDOE AS2 • EXCLK SRE SRE SRE
DDOV 0 1 1 1
PVOE 0 SRE SRE SRE
PVOV 0 ALE RD WR
PTOE
DIEOE AS2 • EXCLK 0 0 0
DIEOV 0 0 0 0
DI
AIO Wyjście T/C2 OSC

Alternatywne funkcje portu H

Port H dostępny jest tylko dla mikrokontrolerów ATmega640/1280/2560 w obudowach 100-nóżkowych.

   

Końcówka portu Funkcja alternatywna
PH7 T4 (Wejście zegara dla timera/licznika 4)
PH6 OC2B (Wyjście Output Compare B i PWM B dla timera/licznika 2)
PH5 OC4C (Wyjście Output Compare C i PWM C dla timera/licznika 4)
PH4 OC4B (Wyjście Output Compare B i PWM B dla timera/licznika 4)
PH3 OC4A (Wyjście Output Compare A i PWM A dla timera/licznika 4)
PH2 XCK2 (Zegar zewnętrzny modułu USART 2)
PH1 TXD2 (Końcówka nadawcza modułu USART 2)
PH0 RXD2 (Końcówka odbiorcza modułu USART 2)

Alternatywna konfiguracja końcówek jest następująca:

T4 – Port H, Bit 7

T4: Źródło zegarowe dla timera/licznika 4.

OC2B – Port H, Bit 6

OC2B: Wyjście Output Compare Match B. Końcówka PH6 może służyć jako zewnętrzne wyjście dla Output Compare B w timerze/liczniku 2. Końcówkę należy skonfigurować jako wyjście (ustawiony bit DDH6), aby służyła tej funkcji. Końcówka OC2B jest również wyjściem dla funkcji trybu PWM timera.

OC4C – Port H, Bit 5

OC4C: Wyjście Output Compare Match C. Końcówka PH5 może służyć jako zewnętrzne wyjście dla Output Compare C w timerze/liczniku 4. Końcówkę należy skonfigurować jako wyjście (ustawiony bit DDH5), aby służyła tej funkcji. Końcówka OC4C jest również wyjściem dla funkcji trybu PWM timera.

OC4B – Port H, Bit 4

OC4B: Wyjście Output Compare Match B. Końcówka PH4 może służyć jako zewnętrzne wyjście dla Output Compare B w timerze/liczniku 4 Końcówkę należy skonfigurować jako wyjście (ustawiony bit DDH4), aby służyła tej funkcji. Końcówka OC4B jest również wyjściem dla funkcji trybu PWM timera.

OC4A – Port H, Bit 3

OC4A: Wyjście Output Compare Match A. Końcówka PH3 może służyć jako zewnętrzne wyjście dla Output Compare A w timerze/liczniku 4. Końcówkę należy skonfigurować jako wyjście (ustawiony bit DDH3), aby służyła tej funkcji. Końcówka OC4A jest również wyjściem dla funkcji trybu PWM timera.

XCK2 – Port H, Bit 2

XCK2: Zegar zewnętrzny modułu USART 2. Rejestr kierunku danych (bit DDH2) określa, czy zegar jest wyprowadzany (bit DDH2 ustawiony), czy wprowadzany (bit DDH2 wyzerowany). Końcówka XC2K jest aktywna tylko wtedy, gdy moduł USART 2 pracuje w trybie synchronicznym.

TXD2 – Port H, Bit 1

TXD2: Końcówka nadawcza modułu USART 2.

RXD2 – Port H, Bit 0

RXD2: Końcówka odbiorcza modułu USART 2. Dane odbierane (końcówka wejścia danych dla USART 2). Gdy zostanie włączony odbiornik USART 2, końcówka ta jest konfigurowana jako wejście bez względu na wartość bitu kierunku DDH0. Gdy USART 2 wymusza pracę tej końcówki jako wejście, logiczna jedynka w PORTH0 włączy wewnętrzny opornik podciągający.

Poniższe tabele odwzorowują funkcje alternatywne portu D w zależności od sygnałów sterujących.

Nazwa
sygnału
PH7/T4 PH6/OC2B PH5/OC4C PH4/OC4B
PUOE 0 0 0 0
PUOV 0 0 0 0
DDOE 0 0 0 0
DDOV 0 0 0 0
PVOE 0 Włączenie OC2B Włączenie OC4C Włączenie OC4B
PVOV 0 OC2B OC4C OC4B
PTOE
DIEOE 0 0 0 0
DIEOV 0 0 0 0
DI Wejście T4 0 0 0
AIO
Nazwa
sygnału
PH3/OC4A PH2/XCK2 PH1/TXD2 PH0/RXD2
PUOE 0 0 TXEN2 RXEN2
PUOV 0 0 0 PORTH0 • PUD
DDOE   Włączenie wyjścia XCK2 TXEN2 RXEN2
DDOV 0 0 0 0
PVOE Włączenie OC4A Włączenie wyjścia XCK2 TXEN2 0
PVOV OC4A XCK2 TXD2 0
PTOE
DIEOE 0 0 0 0
DIEOV 0 0 0 0
DI 0 Wejście XC2K 0 RXD2
AIO

Alternatywne funkcje portu J

Port J dostępny jest tylko dla mikrokontrolerów ATmega640/1280/2560 w obudowach 100-nóżkowych.

   

Końcówka portu Funkcja alternatywna
PJ7
PJ6 PCINT15 (Przerwanie 15 od zmiany stanu końcówki)
PJ5 PCINT14 (Przerwanie 14 od zmiany stanu końcówki)
PJ4 PCINT13 (Przerwanie 13 od zmiany stanu końcówki)
PJ3 PCINT12 (Przerwanie 12 od zmiany stanu końcówki)
PJ2 XCK3/PCINT1 (Zegar zewnętrzny modułu USART 3 lub przerwanie 11 od zmiany stanu końcówki)
PJ1 TXD3/PCINT10 (Końcówka nadawcza modułu USART 3 lub przerwanie 10 od zmiany stanu końcówki)
PJ0 RXD3/PCINT9 (Końcówka odbiorcza modułu USART 3 lub przerwanie 9 od zmiany stanu końcówki)

Alternatywna konfiguracja końcówek jest następująca:

PCINT15:12 - Port J, Bity 6:3

PCINT15:12: Źródła 15:12 przerwań od zmiany stanu końcówek. Końcówki PJ6:3 mogą służyć jako źródła przerwań zewnętrznych.

XCK3/PCINT11 - Port J, Bit 2

XCK3: Zegar zewnętrzny modułu USART 3. Rejestr kierunku danych (bit DDJ2) określa, czy zegar ten będzie wyprowadzany (ustawiony bit DDJ2), czy wprowadzany (wyzerowany bit DDJ2). Końcówka XCK2 staje się aktywna tylko przy pracy w trybie synchronicznym modułu USART 3.
PCINT11: Źródło 11 przerwania od zmiany stanu końcówki. Końcówka PJ2 może służyć jako źródło przerwania zewnętrznego.

TXD3/PCINT10 - Port J, Bit 1

TXD3: Końcówka nadawcza modułu USART 3.
PCINT10: Źródło 10 przerwania od zmiany stanu końcówki. Końcówka PJ1 może służyć jako źródło przerwania zewnętrznego.

RXD3/PCINT9 - Port J, Bit 0

RXD3: Końcówka odbiorcza USART 3. Dane odbierane (końcówka wejścia danych dla modułu USART 3). Gdy jest włączony odbiornik USART 3, końcówka ta zostaje skonfigurowana jako wejście bez względu na wartość bitu kierunku DDJ0. Gdy moduł USART 3 wymusza na końcówce pracę jako wejście, logiczna jedynka w bicie PORTJ0 włączy wewnętrzny opornik podciągający.
PCINT9: Źródło 9 przerwania od zmiany stanu końcówki. Końcówka PJ0 może służyć jako źródło przerwania zewnętrznego.

Poniższe tabele odwzorowują funkcje alternatywne portu J w zależności od sygnałów sterujących.

Nazwa
sygnału
PJ7 PJ6/PCINT15 PJ5/PCINT14 PJ4/PCINT13
PUOE 0 0 0 0
PUOV 0 0 0 0
DDOE 0 0 0 0
DDOV 0 0 0 0
PVOE 0 0 0 0
PVOV 0 0 0 0
PTOE
DIEOE 0 PCINT15·PCIE1 PCINT14·PCIE1 PCINT13·PCIE1
DIEOV 0 1 1 1
DI 0 Wejście PCINT15 Wejście PCINT14 Wejście PCINT13
AIO
Nazwa
sygnału
PJ3/PCINT12 PJ2/XCK3/PCINT11 PJ1/TXD3/PCINT10 PJ0/RXD3/PCINT9
PUOE 0 0 TXEN3 RXEN3
PUOV 0 0 0 PORTJ0·PUD
DDOE 0 Włączenie wyjścia XCK3 TXEN3 RXEN3
DDOV 0 1 1 0
PVOE 0 Włączenie wyjścia XCK3 TXEN3 0
PVOV 0 XCK3 TXD3 0
PTOE
DIEOE PCINT12·PCIE1 PCINT11·PCIE1 PCINT10·PCIE1 PCINT9·PCIE1
DIEOV 1 1 1 1
DI Wejście PCINT12 Wejście PCINT11
Wejście XCK3
Wejście PCINT10 Wejście PCINT9
RXD3
AIO

Alternatywne funkcje portu K

Port K dostępny jest tylko dla mikrokontrolerów ATmega640/1280/2560 w obudowach 100-nóżkowych.

   

Końcówka portu Funkcja alternatywna
PK7 ADC15/PCINT23 (Kanał wejściowy 15 przetwornika A/C lub przerwanie 23 od zmiany stanu końcówki)
PK6 ADC14/PCINT22 (Kanał wejściowy 14 przetwornika A/C lub przerwanie 22 od zmiany stanu końcówki)
PK5 ADC13/PCINT21 (Kanał wejściowy 13 przetwornika A/C lub przerwanie 21 od zmiany stanu końcówki)
PK4 ADC12/PCINT20 (Kanał wejściowy 12 przetwornika A/C lub przerwanie 20 od zmiany stanu końcówki)
PK3 ADC11/PCINT19 (Kanał wejściowy 11 przetwornika A/C lub przerwanie 19 od zmiany stanu końcówki)
PK2 ADC10/PCINT18 (Kanał wejściowy 10 przetwornika A/C lub przerwanie 18 od zmiany stanu końcówki)
PK1 ADC9/PCINT17 (Kanał wejściowy 9 przetwornika A/C lub przerwanie 17 od zmiany stanu końcówki)
PK0 ADC8/PCINT16 (Kanał wejściowy 8 przetwornika A/C lub przerwanie 16 od zmiany stanu końcówki)

Alternatywna konfiguracja końcówek jest następująca:

ADC15:8/PCINT23:16 – Port K, Bity 7:0

ADC15:8: Kanały 15 ... 8 przetwornika analogowo/cyfrowego.
PCINT23:16: Źródła przerwań 23 ... 16 od zmian stanów końcówek. Końcówki PK7:0 mogą służyć jako źródła przerwań zewnętrznych.

Poniższe tabele odwzorowują funkcje alternatywne portu K w zależności od sygnałów sterujących.

Nazwa
sygnału
PK7/ADC15/PCINT23 PK6/ADC14/PCINT22 PK5/ADC13/PCINT21 PK4/ADC12/PCINT20
PUOE 0 0 0 0
PUOV 0 0 0 0
DDOE 0 0 0 0
DDOV 0 0 0 0
PVOE 0 0 0 0
PVOV 0 0 0 0
PTOE
DIEOE PCINT23 • PCIE2 PCINT22 • PCIE2 PCINT21 • PCIE2 PCINT20 • PCIE2
DIEOV 1 1 1 1
DI Wejście PCINT23 Wejście PCINT22 Wejście PCINT21 Wejście PCINT20
AIO Wejście ADC15 Wejście ADC14 Wejście ADC13 Wejście ADC12
Nazwa
sygnału
PK3/ADC11/PCINT19 PK2/ADC10/PCINT18 PK1/ADC9/PCINT17 PK0/ADC8/PCINT16
PUOE 0 0 0 0
PUOV 0 0 0 0
DDOE 0 0 0 0
DDOV 0 0 0 0
PVOE 0 0 0 0
PVOV 0 0 0 0
PTOE
DIEOE PCINT19 • PCIE2 PCINT18 • PCIE2 PCINT17 • PCIE2 PCINT16 • PCIE2
DIEOV 1 1 1 1
DI Wejście PCINT19 Wejście PCINT18 Wejście PCINT17 Wejście PCINT16
AIO Wejście ADC11 Wejście ADC10 Wejście ADC9 Wejście ADC8

Alternatywne funkcje portu L

Port L dostępny jest tylko dla mikrokontrolerów ATmega640/1280/2560 w obudowach 100-nóżkowych.

   

Końcówka portu Funkcja alternatywna
PL7
PL6
PL5 OC5C (Wyjście C Output Compare i PWM dla timera/licznika 5)
PL4 OC5B (Wyjście B Output Compare i PWM dla timera/licznika 5)
PL3 OC5A (Wyjście A Output Compare i PWM dla timera/licznika 5)
PL2 T5 (Wejście zegara dla timera/licznika 5)
PL1 ICP5 (Wyzwalanie Input Capture w timerze/liczniku 5)
PL0 ICP4 (Wyzwalanie Input Capture w timerze/liczniku 4)

Alternatywna konfiguracja końcówek jest następująca:

OC5C – Port L, Bit 5

OC5C: Wyjście C Output Compare Match. Końcówka PL5 może służyć jako zewnętrzne wyjście Output Compare C dla timera/licznika 5. Końcówkę należy skonfigurować jako wyjście (ustawiony bit DDL5), aby służyła tej funkcji. Końcówka OC5C jest również końcówką wyjścia dla funkcji trybu PWM timera.

OC5B – Port L, Bit 4

OC5B: Wyjście B Output Compare Match. Końcówka PL4 może służyć jako zewnętrzne wyjście Output Compare B dla timera/licznika 5. Końcówkę należy skonfigurować jako wyjście (ustawiony bit DDL4), aby służyła tej funkcji. Końcówka OC5B jest również końcówką wyjścia dla funkcji trybu PWM timera.

OC5A – Port L, Bit 3

OC5A: Wyjście A Output Compare Match. Końcówka PL3 może służyć jako zewnętrzne wyjście Output Compare A dla timera/licznika 5. Końcówkę należy skonfigurować jako wyjście (ustawiony bit DDL3), aby służyła tej funkcji. Końcówka OC5A jest również końcówką wyjścia dla funkcji trybu PWM timera.

T5 – Port L, Bit 2

T5: Źródło zegara dla timera/licznika 5.

ICP5 – Port L, Bit 1

ICP5: Końcówka Input Capture dla timera/licznika 5.

ICP4 – Port L, Bit 0

ICP4: Końcówka Input Capture dla timera/licznika 4.

Poniższe tabele odwzorowują funkcje alternatywne portu D w zależności od sygnałów sterujących.

Nazwa
sygnału
PL7 PL6 PL5/OC5C PL4/OC5B
PUOE 0 0 0 0
PUOV 0 0 0 0
DDOE 0 0
DDOV 0 0
PVOE Włączenie OC5C Włączenie OC5B
PVOV OC5C OC5B
PTOE
DIEOE 0 0 0 0
DIEOV 0 0 0 0
DI 0 0 0 0
AIO
Nazwa
sygnału
PL3/OC5A PL2/T5 PL1/ICP5 PL0/ICP4
PUOE 0 0 0 0
PUOV 0 0 0 0
DDOE 0 0 0 0
DDOV 0 0 0 0
PVOE Włączenie OC5A 0 0 0
PVOV OC5A 0 0 0
PTOE
DIEOE 0 0 0 0
DIEOV 0 0 0 0
DI 0 Wejście T5 Wejście ICP5 Wejście ICP4
AIO

Na początek:  podrozdziału   strony 

Opis rejestrów

MCUCR – MCU Control Register – Rejestr sterujący mikrokontrolerem

Bit 7 6 5 4 3 2 1 0  
0x35 (0x55) JTD PUD IVSEL IVCE MCUCR
Zapis/Odczyt Z/O O O Z/O O O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

Bit 4 – PUD: Pull-up Disable – Wyłączenie oporników podciągających

Gdy do tego bitu zostanie wpisany stan 1, to oporniki podciągające w portach we/wy zostaną odłączone, nawet jeśli rejestry DDxn i PORTxn zostały skonfigurowane na podłączenie tych oporników ({DDxn, PORTxn} = 0b01). Zobacz do podrozdziału "Konfigurowanie końcówki portu".


PORTA – Port A Data Register – Rejestr danych portu A

Bit 7 6 5 4 3 2 1 0  
0x02 (0x22) PORTA7 PORTA6 PORTA5 PORTA4 PORTA3 PORTA2 PORTA1 PORTA0 PORTA
Zapis/Odczyt Z/O Z/O Z/O O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

DDRA – Port A Data Direction Register – Rejestr kierunku danych portu A

Bit 7 6 5 4 3 2 1 0  
0x01 (0x21) DDA7 DDA6 DDA5 DDA4 DDA3 DDA2 DDA1 DDA0 DDRA
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

PINA – Port A Input Pins Address – Adres stanu końcówek wejściowych portu A

Bit 7 6 5 4 3 2 1 0  
0x00 (0x20) PINA7 PINA6 PINA5 PINA4 PINA3 PINA2 PINA1 PINA0 PINA
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa N/A N/A N/A N/A N/A N/A N/A N/A  

PORTB – Port B Data Register – Rejestr danych portu B

Bit 7 6 5 4 3 2 1 0  
0x05 (0x25) PORTB7 PORTB6 PORTB5 PORTB4 PORTB3 PORTB2 PORTB1 PORTB0 PORTB
Zapis/Odczyt Z/O Z/O Z/O O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

DDRB – Port B Data Direction Register – Rejestr kierunku danych portu B

Bit 7 6 5 4 3 2 1 0  
0x04 (0x24) DDB7 DDB6 DDB5 DDB4 DDB3 DDB2 DDB1 DDB0 DDRB
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

PINB – Port B Input Pins Address – Adres stanu końcówek wejściowych portu B

Bit 7 6 5 4 3 2 1 0  
0x03 (0x23) PINB7 PINB6 PINB5 PINB4 PINB3 PINB2 PINB1 PINB0 PINB
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa N/A N/A N/A N/A N/A N/A N/A N/A  

PORTC – Port C Data Register – Rejestr danych portu C

Bit 7 6 5 4 3 2 1 0  
0x08 (0x28) PORTC7 PORTC6 PORTC5 PORTC4 PORTC3 PORTC2 PORTC1 PORTC0 PORTC
Zapis/Odczyt Z/O Z/O Z/O O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

DDRC – Port C Data Direction Register – Rejestr kierunku danych portu C

Bit 7 6 5 4 3 2 1 0  
0x07 (0x27) DDC7 DDC6 DDC5 DDC4 DDC3 DDC2 DDC1 DDC0 DDRC
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

PINC – Port C Input Pins Address – Adres stanu końcówek wejściowych portu C

Bit 7 6 5 4 3 2 1 0  
0x06 (0x26) PINC7 PINC6 PINC5 PINC4 PINC3 PINC2 PINC1 PINC0 PINC
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa N/A N/A N/A N/A N/A N/A N/A N/A  

PORTD – Port D Data Register – Rejestr danych portu D

Bit 7 6 5 4 3 2 1 0  
0x0B (0x2B) PORTD7 PORTD6 PORTD5 PORTD4 PORTD3 PORTD2 PORTD1 PORTD0 PORTD
Zapis/Odczyt Z/O Z/O Z/O O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

DDRD – Port D Data Direction Register – Rejestr kierunku danych portu D

Bit 7 6 5 4 3 2 1 0  
0x0A (0x2A) DDD7 DDD6 DDD5 DDD4 DDD3 DDD2 DDD1 DDD0 DDRD
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

PIND – Port D Input Pins Address – Adres stanu końcówek wejściowych portu D

Bit 7 6 5 4 3 2 1 0  
0x09 (0x29) PIND7 PIND6 PIND5 PIND4 PIND3 PIND2 PIND1 PIND0 PIND
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa N/A N/A N/A N/A N/A N/A N/A N/A  

PORTE – Port E Data Register – Rejestr danych portu E

Bit 7 6 5 4 3 2 1 0  
0x0E (0x2E) PORTE7 PORTE6 PORTE5 PORTE4 PORTE3 PORTE2 PORTE1 PORTE0 PORTE
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

DDRE – Port E Data Direction Register – Rejestr kierunku danych portu E

Bit 7 6 5 4 3 2 1 0  
0x0D (0x2D) DDE7 DDE6 DDE5 DDE4 DDE3 DDE2 DDE1 DDE0 DDRE
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

PINE – Port E Input Pins Address – Adres stanu końcówek wejściowych portu E

Bit 7 6 5 4 3 2 1 0  
0x0C (0x2C) PINE7 PINE6 PINE5 PINE4 PINE3 PINE2 PINE1 PINE0 PINE
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa N/A N/A N/A N/A N/A N/A N/A N/A  

PORTF – Port F Data Register – Rejestr danych portu F

Bit 7 6 5 4 3 2 1 0  
0x11 (0x31) PORTF7 PORTF6 PORTF5 PORTF4 PORTF3 PORTF2 PORTF1 PORTF0 PORTF
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

DDRF – Port F Data Direction Register – Rejestr kierunku danych portu F

Bit 7 6 5 4 3 2 1 0  
0x10 (0x30) DDF7 DDF6 DDF5 DDF4 DDF3 DDF2 DDF1 DDF0 DDRF
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

PINF – Port F Input Pins Address – Adres stanu końcówek wejściowych portu F

Bit 7 6 5 4 3 2 1 0  
0x0F (0x2F) PINF7 PINF6 PINF5 PINF4 PINF3 PINF2 PINF1 PINF0 PINF
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa N/A N/A N/A N/A N/A N/A N/A N/A  

PORTG – Port G Data Register – Rejestr danych portu G

Bit 7 6 5 4 3 2 1 0  
0x14 (0x34) PORTG5 PORTG4 PORTG3 PORTG2 PORTG1 PORTG0 PORTG
Zapis/Odczyt O O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

DDRG – Port G Data Direction Register – Rejestr kierunku danych portu G

Bit 7 6 5 4 3 2 1 0  
0x13 (0x33) DDG5 DDG4 DDG3 DDG2 DDG1 DDG0 DDRG
Zapis/Odczyt O O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

PING – Port G Input Pins Address – Adres stanu końcówek wejściowych portu G

Bit 7 6 5 4 3 2 1 0  
0x12 (0x32) PING5 PING4 PING3 PING2 PING1 PING0 PING
Zapis/Odczyt O O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 N/A N/A N/A N/A N/A N/A  

PORTH – Port H Data Register – Rejestr danych portu H

Bit 7 6 5 4 3 2 1 0  
(0x102) PORTH7 PORTH6 PORTH5 PORTH4 PORTH3 PORTH2 PORTH1 PORTH0 PORTH
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

DDRH – Port H Data Direction Register – Rejestr kierunku danych portu H

Bit 7 6 5 4 3 2 1 0  
(0x101) DDH7 DDH6 DDH5 DDH4 DDH3 DDH2 DDH1 DDH0 DDRH
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

PINH – Port H Input Pins Address – Adres stanu końcówek wejściowych portu H

Bit 7 6 5 4 3 2 1 0  
(0x100) PINH7 PINH6 PINH5 PINH4 PINH3 PINH2 PINH1 PINH0 PINH
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa N/A N/A N/A N/A N/A N/A N/A N/A  

PORTJ – Port J Data Register – Rejestr danych portu J

Bit 7 6 5 4 3 2 1 0  
(0x105) PORTJ7 PORTJ6 PORTJ5 PORTJ4 PORTJ3 PORTJ2 PORTJ1 PORTJ0 PORTJ
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

DDRJ – Port J Data Direction Register – Rejestr kierunku danych portu J

Bit 7 6 5 4 3 2 1 0  
(0x104) DDJ7 DDJ6 DDJ5 DDJ4 DDJ3 DDJ2 DDJ1 DDJ0 DDRJ
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

PINJ – Port J Input Pins Address – Adres stanu końcówek wejściowych portu J

Bit 7 6 5 4 3 2 1 0  
(0x103) PINJ7 PINJ6 PINJ5 PINJ4 PINJ3 PINJ2 PINJ1 PINJ0 PINJ
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa N/A N/A N/A N/A N/A N/A N/A N/A  
 

PORTK – Port K Data Register – Rejestr danych portu K

Bit 7 6 5 4 3 2 1 0  
(0x108) PORTK7 PORTK6 PORTK5 PORTK4 PORTK3 PORTK2 PORTK1 PORTK0 PORTK
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

DDRK – Port K Data Direction Register – Rejestr kierunku danych portu K

Bit 7 6 5 4 3 2 1 0  
(0x107) DDK7 DDK6 DDK5 DDK4 DDK3 DDK2 DDK1 DDK0 DDRK
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

PINK – Port K Input Pins Address – Adres stanu końcówek wejściowych portu K

Bit 7 6 5 4 3 2 1 0  
(0x106) PINK7 PINK6 PINK5 PINK4 PINK3 PINK2 PINK1 PINK0 PINK
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa N/A N/A N/A N/A N/A N/A N/A N/A  
 

PORTL – Port L Data Register – Rejestr danych portu L

Bit 7 6 5 4 3 2 1 0  
(0x10B) PORTL7 PORTL6 PORTL5 PORTL4 PORTL3 PORTL2 PORTL1 PORTL0 PORTL
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

DDRL – Port L Data Direction Register – Rejestr kierunku danych portu L

Bit 7 6 5 4 3 2 1 0  
(0x10A) DDL7 DDL6 DDL5 DDL4 DDL3 DDL2 DDL1 DDL0 DDRL
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

PINL – Port L Input Pins Address – Adres stanu końcówek wejściowych portu L

Bit 7 6 5 4 3 2 1 0  
(0x109) PINL7 PINL6 PINL5 PINL4 PINL3 PINL2 PINL1 PINL0 PINL
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa N/A N/A N/A N/A N/A N/A N/A N/A  

Na początek:  podrozdziału   strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2024 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.