Ustawianie PORTÓW podczas programowania mikrokontrolerów PIC

Ustawianie PORTÓW podczas programowania mikrokontrolerów PIC

Możemy poczynić takie założenie w przykładowym programie, że wszystkie bity na wejściach PORTA i wszystkie bity w PORTB utworzymy, jako dane wyjściowe.
Poniższe instrukcje wraz z odpowiednimi komentarzami wykonają wymagane czynności.
TRISA = 0xFF; //Ustaw wszystkie bity w TRISA na logiczną „1”, która ustawi wszystkie bity na wejściach PORTA
TRISB = 0x00; //Zamień wszystkie bity w TRISB na logiczne „0”, które ustawi wszystkie bity na wyjściach PORTB

Zwróć uwagę, że 0x przed danymi oznacza, że używamy liczb szesnastkowych.
Dzieje się tak, ponieważ potrzebujemy tylko 2 cyfr, ponieważ 1 cyfra szesnastkowa reprezentuje 4 bity binarne.
Nie ma znaczenia, czy w tych liczbach używamy małych, czy wielkich liter.
Zauważ również, że używamy średnika „;” po danych OXFF.
Oznacza to koniec aktualnej instrukcji.

Zwróć również uwagę na użycie jednowierszowych komentarzy do wyjaśnienia, co robi instrukcja; należy pamiętać, że w edytorze tekstu w MPLABX te komentarze będą znajdować się w jednej linii.
Ostatnia z dwóch instrukcji mogłaby zostać napisana następująco:
TRISB = 0; Spowoduje to, że wszystkie bity w rejestrze TRISB staną się logicznymi „0”, które ustawią wszystkie bity w PORTB na wyjścia.
Używa domyślnej podstawy lub systemu liczbowego stosowanego w MPLABX, który jest dziesiętny.
Instrukcja TRISB = 0; oznacza, że wartość przechowywana w TRISB wynosiłaby zero, czyli 0b00000000 lub 0X00.

Należy zauważyć, że w słowach TRISA i TRISB używamy wielkich liter; dzieje się tak, ponieważ tak zdefiniowano etykiety w używanym przez nas pliku dołączania.
Naprawdę mikrokontroler widzi TRISA jako wartość liczbową 0XF92, czyli tam, gdzie rejestr SFR (Special Function Register) znajduje się w pamięci mikrokontrolera PIC.
Uwaga: należy zwrócić uwagę, że „0X” przed liczbą oznacza, że jest to liczba szesnastkowa, „0b” oznacza liczbę binarną, a brak przedrostka oznacza, że jest to liczba dziesiętna.
To jest ta sama koncepcja, której używa MPLABX.

Plik dołączany zawiera wszystkie etykiety, których będziemy używać dla SFR, i wszystkie są pisane wielkimi literami.
Przykładowo, gdybyśmy chcieli włączyć wszystkie diody LED lub jakiekolwiek urządzenia podłączone do PORTB, musielibyśmy napisać
PORTB = 0b11111111;
Uwaga
portb = 0b11111111; nie zadziała, ponieważ etykieta PORTB musi być zapisana wielkimi literami.
Zwróć uwagę, że „0b” oznacza binarny, ponieważ podajemy liczbę w formacie binarnym.
Moglibyśmy napisać PORTB = 255, ponieważ jest to dziesiętny odpowiednik 0b11111111, a dziesiętny jest domyślną podstawą MPLABX.
##

Komentarze z Facebooka

Komentarze obecnie - OFF.