W pętli głównej programu najpierw włączana, a po sekundzie wyłączana jest dioda LED1:
1 2 3 |
PJOUT |= BIT0; __delay_cycles(TAKTY_ZEGARA_1_SEK ); PJOUT &=~ BIT0; |
Następnie w analogiczny sposób obsługiwana jest dioda LED8:
1 2 3 |
P3OUT |= BIT7; __delay_cycles(TAKTY_ZEGARA_1_SEK ); P3OUT &=~ BIT7; |
W kolejnej instrukcji programu włączane, a po sekundzie wyłączane są diody LED4, LED3, LED2, LED1:
1 2 3 |
PJOUT |= (BIT3 + BIT2 + BIT1 + BIT0); __delay_cycles(TAKTY_ZEGARA_1_SEK ); PJOUT &=~ (BIT3 + BIT2 + BIT1 + BIT0); |
Następnie włączane, a po sekundzie włączane są diody LED8, LED7, LED6, LED5:
1 2 3 |
P3OUT |= (BIT7 + BIT6 + BIT5 + BIT4); __delay_cycles(TAKTY_ZEGARA_1_SEK ); P3OUT &=~ (BIT7 + BIT6 + BIT5 + BIT4); |
Wprowadzane jest 3 sekundy opóźnienia (pauza na zakończenie cyklu sterowania):
1 |
__delay_cycles(TAKTY_ZEGARA_1_SEK * 3); |
Następnie rozpoczyna się kolejny cykl sterowania diodami.
Parametry pracy mikrokontrolera MSP430FR5739 konfigurujemy zmieniając wartość bitów w jego rejestrach. Ustawianie, zerowanie, odczyt, oraz zmianę stanu bitu na przeciwny przećwiczymy na przykładzie rejestru P1DIR (rejestr kierunku portu P1). Sterować będziemy bitami numer 4 i 0. Jeśli chcemy ustawić bity 4 i 0, oraz wyzerować pozostałe bity rejestru, to korzystamy z operatora przypisania ”=” (konfiguracja wszystkich bitów rejestru). Instrukcja ustawiania bitów rejestru wygląda następująco:
Jeśli chcemy ustawić bity 4 i 0, ale nie chcemy zmieniać wartości pozostałych bitów, to korzystamy z operatora bitowego „|” (or – suma). Instrukcja ustawienia bitów wygląda następująco:
Jeśli chcemy wyzerować bity 4 i 0, a pozostałe bity pozostawić bez zmian, korzystamy z operatorów bitowych „&” ( and – mnożenie logiczne) oraz „~” ( not – negacja). W omawianym przypadku instrukcja zerowania bitów wygląda następująco:
Jeśli chcemy wartość bitów 4 i 0 zmienić na przeciwną, a pozostałe bity pozostawić bez zmian, to korzystamy z operatora bitowego „^” ( xor – suma z uzupełnieniem do dwóch). Instrukcja zmiany bitów wygląda następująco:
Jeśli chcemy sprawdzić wartość bitu, to korzystamy z funkcji „if” ( if – jeśli), operatora bitowego „&” ( and – mnożenie) i opcjonalnie operatora logicznego „!” (zaprzeczenie). Instrukcja sprawdzenia, czy bit 0 na wartość „1”:
Instrukcja sprawdzenia, czy bit 0 na wartość „0”:
W środowisku IAR, umieszczono definicje bitów mikrokontrolera (BIT7, BIT6…BIT0). Jeśli skorzystamy z definicji bitów to instrukcje ustawiania, zerowania, zmiany stanu, odczytu wartości bitów staną się bardziej czytelne. W omawianym przypadku instrukcje ustawienia, oraz zerowania bitów 4 i 0 z użyciem definicji bitów wyglądają następująco:
|