Elektronika - baza wiedzy

PIC16F84 - Znaczenie bitów w rejestrach


Rejestr STATUS (adres 03h, 83h)
Rejestr statusu zawiera znaczniki odzwierciedlające:
- wynik ostatnio wykonanej operacji arytmetycznej,
- aktualny stan procesora tzn. informacje o źródle ewentualnego wyzerowania procesora oraz informacje o aktywnym banku. Rejestr ten wykorzystywany jest przy sprawdzaniu wyniku ostatnio wykonanej operacji arytmetyczno-logicznej.
Znaczenie poszczególnych bitów :
bit 7 IRP : Bit wybierający bank ( używany do adresowania pośredniego ):
0 - Bank 0, 1 (adres 00h - FFh),
1 - Bank 2, 3 (adres 100h - 1FFh),
Bit IRP nie jest wykorzystywany w procesorze PIC 16F8X. Zaleca się zerowanie tego bitu w programie w celu zachowania kompatybilności tego programu z przyszłymi wersjami procesorów .
bit 6-5 RP1:RP0 : Bity do selekcji banków (używane do adresowania bezpośredniego):
0,0 - Bank 0 (adres 00h - 7Fh),
0,1 - Bank 1 (adres 80h - FFh),
1,0 - Bank 2 (adres 100h - 17Fh),
1,1 - Bank 3 (adres 180h - 1FFh).
Każdy bank jest 128-bajtowy . W PIC 16F8X wykorzystywany jest tylko bit RP0.
bit 4 TO :"Time out bit", bit informujący o zadziałaniu WatchDog-a:
1 - po włączeniu zasilania , po instrukcji CLRWDT (zerowanie licznika WatchDog-a) oraz po instrukcji SLEEP,
0 - po zadziałaniu WatchDog-a (po przepełnieniu licznika WatchDog-a),
bit 3 PD: "Power down bit" - Bit informujący o przyczynie wyzerowania procesora:
1 - po włączeniu zasilania, po instrukcji CLRWDT (zerowanie licznika WatchDog-a),
0 - po wykonaniu instrukcji SLEEP,
bit 2 Z : Bit zera:
1 - jeżeli wynikiem ostatniej operacji arytmetycznej lub logicznej jest zero,
0 - jeżeli wynik jest różny od zera,
bit 1 DC : Znacznik przeniesienia pomocniczego (CARRY) lub pożyczki (BORROW), do którego w czasie operacji dodawania (ADDWF i ADDLW) jest wpisywane przeniesienie z bitu 3 lub pożyczka z bitu 4 (wykorzystywany przy korekcji dziesiętnej, dla BORROW obowiązuje logika odwrotna):
1 - jeżeli wystąpiło przeniesienie z bitu 3-go na 4-ty (z młodszej do starszej tetrady),
0 - przy braku przeniesienia,
bit 0 C: Znacznik przeniesienia (CARRY) oraz pożyczki (BORROW), do którego wpisuje się przeniesienie z najbardziej znaczącego bitu, ustawiany w wyniku wykonania operacji arytmetycznych oraz przesunięć a także rotacji:
1 - jeżeli nastąpiło przeniesienie z najbardziej znaczącego bitu aktualnego wyniku
0 - przy braku przeniesienia


Rejestr OPTION (adres 81h)
Znaczenie poszczególnych bitów :
Bit 7 RBPU: Bit polaryzujący wyprowadzenia portu B do potencjału +Vcc przez opory (tylko przy konfiguracji portu jako wejściowe):
1 - praca portu PORTB bez polaryzacji,
0 - praca portu PORTB z polaryzacja,
Bit 6 INTEDG: Wybór rodzaju zbocza jakie należy podać na RB0/INT aby wywołać przerwanie:
1 - przerwanie po zboczu narastającym na pinie RB0/INT,
0 - przerwanie po zboczu opadającym na pinie RB0/INT,
Bit 5 T0CS: Wybór źródła sygnału zegarowego licznika TMR0:
1 - podłączenie do sygnału taktującego zewnętrznego przez końcówkę RA4/T0CKI,
0 - podłączenie do wewnętrznego sygnału taktującego,
Bit 4 T0SE: Wybór zbocza jakie musi wystąpić na końcówce RA4/T0CKI aby zwiększyć licznik TMR0 o jeden:
1 - zwiększenie TMR0 o jeden po przejściu ze stanu wysokiego na niski,
0 - zwiększenie TMR0 o jeden po przejściu ze stanu niskiego na wysoki,
Bit 3 PSA : Bit wyboru przeznaczenia podzielnika:
1 - podzielnik podłączony do WatchDog-a,
0 - podzielnik podłączony do licznika TMR0,
Bit 2-0 PS2,PS1,PS0: Ustawienie podziału podzielnika (ang. prescaler) dla licznika TMR0 i WatchDog-a (WDT ):


Rejestr INTCON (adres 0Bh, 8Bh)
Rejestr INTCON służy do konfigurowania systemu przerwań.
Bit 7 GIE: Włączenie lub wyłączenie wszystkich przerwań (bit GIE posiada najwyższy priorytet ):
1 - włączenie wszystkich nie zamaskowanych przerwań,
0 - wyłączenie wszystkich przerwań,
Bit 6 EEIE: Uaktywnienie przerwania wywoływanego po zakończeniu zapisu danej do pamięci EEPROM wewnątrz procesora:
1 - po zakończeniu zapisu zostanie wywołane przerwanie,
0 - po zakończeniu zapisu nie zostanie wywołane przerwanie,
Bit 5 T0IE: Bit uaktywniający wywołanie przerwania po przepełnieniu licznika TMR0 ,
1 - jeżeli chcemy aby przerwanie zostało wywoływane po przepełnieniu TMR0 ,
0 - jeżeli nie chcemy aby przerwanie zostało wywoływane po przepełnieniu TMR0 ,
Bit 4 INTE: Uaktywnienie przerwania zewnętrznego (z końcówki RB0/INT ):
1 - przerwanie będzie wywoływane,
0 - przerwanie nie będzie wywoływane,
Bit 3 RBIE: Włączenie przerwania pochodzącego od zmiany stanu na porcie PORTB :
1 - przerwanie będzie wywoływane,
0 - przerwanie nie będzie wywoływane,
Bit 2 T0IF: Przepełnienie licznika TMR0 powoduje jego ustawienie co jest równoznaczne z
natychmiastowym wywołaniem przerwania. Jeżeli programowo ustawimy bit T0IF.(bit T0IF =1) to także zostanie wywołane przerwanie (od razu po rozkazie BSF INTCON , T0IF )
1 - nastąpiło przepełnienie (bit ten musi być zerowany programowo)
0 - nie nastąpiło przepełnienie,
Bit 1 INTF : Bit informujący o tym, ze ostatnie przerwanie zostało wywołane zboczem na końcówce RB0/INT:
1 - nastąpiło przerwanie pochodzące od RB0/INT,
0 - nie nastąpiło przerwanie pochodzące od RB0/INT,
Bit 0 RBIF: Bit informujący o tym, ze ostatnie przerwanie zostało wywołane zmiana stanu
na jednej z końcówek portu B (RB7 do RB4):
1 - jeżeli nastąpiła zmiana stanu na którejś z końcówek RB7:RB4 (bit musi być kasowany programowo),
0 - jeżeli nie było zmiany stanów,