Rejestry - banki

System 8051 zaopatrzony jest w rejestry uniwersalne i rejestry specjalne. Rejestry  uniwersalne Rn (n = 0..7) są to 8 - bitowe rejestry ogólnego zastosowania. Rejestry te znajdują się w wewnętrznej pamięci RAM i zajmują odpowiednio adresy 0..1Fh. Są one podzielone na cztery banki rejestrów po osiem rejestrów w każdym banku. W danym momencie możliwy jest dostęp tylko do jednego z wybranych banków. Numer aktualnie aktywnego banku rejestrów zapisany jest w rejestrze słowa statusowego PSW w bitach RS1 i RS0. Wszystkie banki rejestrów rozmieszczone są w początkowym obszarze wewnętrznej pamięci RAM mikrokontrolera. Oznacza to że do każdego z rejestrów można odwołać się przez podanie jednego symbolu i numeru banku rejestru, np. rejestr R7 w banku BR1 lub przez podanie adresu komórki wewnętrznej pamięci RAM, np. adres 0Fh dla tego samego rejestru.
Pomimo, że mamy do dyspozycji 4 banki rejestrów, każdy po 8 rejestrów (łącznie 32 rejestry), to programowy dostęp przez podanie symbolu  rejestru możliwy jest tylko do jednego, wybranego banku. Po sprzętowym zerowaniu procesora (linią RST) wybrany jest jako domyślny bank RB0, tzn. rejestry R0…R7 o adresach od 0 do 7. adresując bezpośrednio wewnętrzną pamięć RAM w zakresie 0…1Fh dostępne są wszystkie 32 rejestry (taktowane jako komórki pamięci).  

 

 

 Adresy rejestrów w poszczególnych bankach są następujące:
 
                 0   0      0          00h..07h
 
                 0   1      1          08h..0Fh
 
                 1   0      2          10h..17h
 
                 1   1      3          18h..1Fh


Rejestry R0 i R1 stosujemy przy adresowaniu pośrednim. 

Komentarze



link W układzie Intel 8051 jest zaimplementowany system wieloźródłowy przerwań o dwóch priorytetach z możliwością zagnieżdżania. Czas reakcji po wystąpieniu żądania obsługi zawiera się między 3 a 7 s przy zegarze 12MHz.



link Prezentujemy listę instrukcji - mikroprocesor 8051 ( Intel 8051 ): ACALL addr11 Dzialanie: (PC)  (PC) + 2 (SP)  (SP) + 1 ((SP))  (PC7-0) (SP)  (SP) + 1 ((SP))  (PC15-8) (PC10-0)  addr11