wyjściowa powoduje wystawienie stanów logicznych odzwierciedlających stan rejestru na odpowiednich pinach mikrokontrolera.
• Rejestr IOOSET oraz IOISET umożliwia ustawienie wybranych linii I/O w stan wysoki („1”) bez zmiany stanu pozostałych linii.
• Rejestr IOOCLR oraz IOICLR umożliwia ustawienie wybranych linii I/O w stan niski („0”) bez zmiany stanu pozostałych linii. Wpisanie 1 na wybranym bicie powoduje wyzerowanie odpowiadającego bitu w porcie I/O.
Sterowanie portami I/O mikrokontrolera jest realizowane następująco: aby odczytać zawartość linii wystarczy skonfigurować wybraną linię jako wejściową za pomocą rejestru kierunku IOxDIR, a następnie odczytać stan wybranej linii z rejestru IOxPIN. Natomiast jeżeli chcemy ustawić wybrane linie w odpowiedni stan wystarczy za pomocą rejestru IOxDIR ustawić wybrane linie jako wyjściowe i za pośrednictwem par rejestrów IOxSET, IOxCLR lub IOxPIN ustawić odpowiednie bity. Zastosowanie rejestrów IOxSET i IOxCLR jest bardzo wygodne ponieważ możemy ustawić/skasować wybrane bity portu bez wcześniejszego ich odczytywania. W przypadku, gdy chcemy zmienić całą zawartość danego portu, wygodniej będzie skorzystać z rejestru IOxPIN, który od razu ustawi cały port zgodnie z zawartością rejestru.
IOOPIN | |- | |||
IOODIR | |||
IOOCLR |
~~n- |
o Ot | |
IOOSET |
izo-J |
« o | |
Rys. 4. Każda linia I/O jest sterowana za pomocą bitów ulokowanych w czterech rejestrach
7