Serwis Edukacyjny w I-LO w Tarnowie ![]() Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej Autor artykułu: mgr Jerzy Wałaszek |
©2023 mgr Jerzy Wałaszek |
https://www.microchip.com/about-us/legal-information/copyright-usage-guidelines
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 ".
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.
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.
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.
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.
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
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 | 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) |
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.
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.
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; ... |
Jak pokazano na schemacie z początku rozdziału, wejściowy sygnał cyfrowy może zostać zwarty do masy przed wejściem bramki Schmitta:
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.
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.
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.
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 | – | – | – | – |
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: 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: 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: 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: 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: 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: 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: 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:
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 | – | – | – | – |
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 | – | – | – | – |
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: źródło zegarowe dla timera/licznika 0.
T1: źródło zegarowe dla timera/licznika 1.
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: 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: Ź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: Ź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: Ź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: Ź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 |
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: Ź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: Ź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: Ź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: Ź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: 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: 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: 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: 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 |
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
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:
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.
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.
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.
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: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 |
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: 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: 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: 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: sygnał zatrzaskiwania adresu zewnętrznej pamięci danych.
RD: strob kontrolny odczytu zewnętrznej pamięci danych.
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 | – | – | – |
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: Źródło zegarowe dla timera/licznika 4.
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: 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: 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: 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: 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: Końcówka nadawcza modułu USART 2.
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 | – | – | – | – |
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: Ź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: 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: 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: 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 | – | – | – | – |
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: 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 |
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: 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: 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: 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: Źródło zegara dla timera/licznika 5.
ICP5: Końcówka Input Capture dla timera/licznika 5.
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 | – | – | – | – |
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 |
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".
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
![]() |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2023 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.