Różne typy rejestrów używane w mikrokontrolerze 8051

Różne typy rejestrów używane w mikrokontrolerze 8051

Rejestr jest główną częścią pliku mikrokontrolery i procesory które zapewniają szybki sposób gromadzenia i przechowywania danych. Jeśli chcemy manipulować danymi z administratorem lub procesorem, wykonując dodawanie, odejmowanie itp., Nie możemy tego zrobić bezpośrednio w pamięci, ale potrzebuje on rejestrów do przetwarzania i przechowywania danych. Mikrokontrolery zawierają kilka typów rejestrów, które można klasyfikować ze względu na ich zawartość lub instrukcje, które w nich działają.



Różne typy rejestrów w mikrokontrolerze 8051

Zarejestrować


Rejestr to małe miejsce w CPU, które może przechowywać niewielkie ilości danych używanych do wykonywania różnych operacji, takich jak dodawanie i mnożenie, oraz ładuje wynikowe dane do pamięci głównej. Rejestry zawierają adres miejsca pamięci, w którym mają być przechowywane dane. Wielkość rejestru jest bardzo ważna nowoczesne kontrolery . Na przykład w przypadku rejestru 64-bitowego procesor próbuje dodać dwie liczby 32-bitowe i daje wynik 64-bitowy.





Rodzaje rejestrów

Mikrokontroler 8051 zawiera głównie dwa rodzaje rejestrów:

  • Rejestry ogólnego przeznaczenia (rejestry adresowalne bajtowo)
  • Rejestry funkcji specjalnych (rejestry adresowalne bitowo)
Pamięć RAM 8051

Pamięć RAM 8051



Plik Mikrokontroler 8051 składa się z 256 bajtów pamięci RAM, która jest podzielona na dwa sposoby, na przykład 128 bajtów do celów ogólnych i 128 bajtów do pamięci rejestrów funkcji specjalnych (SFR). Pamięć używana do celów ogólnych nazywana jest RAM, a pamięć używana dla SFR zawiera wszystkie rejestry związane z urządzeniami peryferyjnymi, takie jak akumulator, rejestr „B”, timery lub liczniki oraz rejestry związane z przerwaniami.

Rejestry ogólnego przeznaczenia

Pamięć ogólnego przeznaczenia

Pamięć ogólnego przeznaczenia

Pamięć ogólnego przeznaczenia nazywana jest pamięcią RAM mikrokontrolerów 8051, która jest podzielona na 3 obszary, takie jak banki, obszar adresowalny bitowo i obszar notatnika. Banki zawierają różne rejestry ogólnego przeznaczenia, takie jak R0-R7, a wszystkie takie rejestry są adresami bajtowymi, które przechowują lub usuwają tylko 1 bajt danych.


Banki i rejestry

B0, B1, B2 i B3 oznaczają banki, a każdy bank zawiera osiem rejestrów ogólnego przeznaczenia od „R0” do „R7”. Wszystkie te rejestry są adresowane bajtowo. Transfer danych między rejestrami ogólnego przeznaczenia do rejestrów ogólnego przeznaczenia nie jest możliwy. Banki te są wybierane przez rejestr słowa statusu programu (PSW).

Rejestry ogólnego przeznaczenia

Rejestry ogólnego przeznaczenia

Rejestr PSW (słowo stanu programu)

Rejestr PSW jest rejestrem adresowalnym bitowo i bajtowo. Rejestr ten odzwierciedla stan operacji wykonywanej w kontrolerze. Rejestr PSW określa wybór banku przez RS1 i RS0, jak pokazano poniżej. Fizyczny adres PSW zaczyna się od D0h, a dostęp do poszczególnych bitów uzyskuje się od D0h do D7h.

Rejestry PSW

Rejestry PSW

Carry Flag (C) : Adres flagi Carry to D7. Na tę flagę przeniesienia ma wpływ, gdy bit jest generowany z pozycji 7.
Kiedy C = 0 przenoszenie resetuje się
C = 1 zestawy do noszenia

Carry Flag

Carry Flag

Flaga pomocnicza (AC) : Adres pomocniczego przenoszenia to D5. Na to pomocnicze przeniesienie ma wpływ generowanie bitu z pozycji 3 do 4.
AC = 0 pomocniczy jest resetowany
AC = 1 pomocniczy jest ustawiony

Pomocniczy uchwyt (AC)

Pomocniczy uchwyt (AC)

Flaga przepełnienia (OV) : Adres flagi przepełnienia to D2. Kiedy bit jest generowany z pozycji 6 do 7, ma to wpływ na flagę przepełnienia.

OV = 0 resetuje flagę przepełnienia
OV = 1 zestaw flag przepełnienia

Flaga przepełnienia

Flaga przepełnienia

Flaga parzystości (P) : Adres flagi parzystości to D0. W przypadku wykonywania operacji arytmetycznych, jeśli wynikiem jest 1, to ustawiana jest flaga parzystości - w przeciwnym razie reset.
RS1 i RS0
RS1 i RS0, bity w rejestrze PSW, służą do wybierania różnych lokalizacji pamięci (bank 0 do bank4) w RAM.

Rejestry wyboru banków

Rejestry wyboru banków

Poniżej znajduje się przykład użycia tego rejestru.

Poniższy przykład demonstruje dodanie dwóch liczb, a następnie zapisanie końcowej wartości w rejestrze Bank1 przy użyciu programu na poziomie assemblera.

Org 0000h
MOV PSW, # 00h
MOV A, 15
DODAJ A, 20
MOV 00h, A
KONIEC

Program asemblera do przeniesienia 6 liczb naturalnych w rejestrze banku0 R0-R5

Org 0000h (deklaracja adresów początkowych)
MOV PSW, # 00h (otwórz pamięć bank0)
MOV r0, # 00h (początkowy adres pamięci Bank0)
MOV r1, # 01h
MOV r2, # 02h
MOV r2, # 03h
MOV r3, # 04h
MOV r4, # 05h
KONIEC

Program asemblera do przeniesienia 6 liczb naturalnych w rejestrze banku1 R0-R7

Org 0000h (deklaracja adresów początkowych)
MOV PSW, # 08h (otwórz pamięć bank1)
MOV r0, 00h (wartość wysyłana do pamięci Bank1)
MOV r1, 02h
MOV r2, 02h
MOV r2, 03 godz
MOV r3, 04h
MOV r4, 05h
MOV r5, 06h
MOV r6, 07h
MOV r7, 08h
KONIEC

Rejestry funkcji specjalnych (SFR)

Rejestry funkcji specjalnych to górna pamięć RAM w mikrokontrolerach 8051 . Rejestry te zawierają wszystkie rejestry związane z urządzeniami peryferyjnymi, takie jak P0, P1, P2, P3, timery lub liczniki, port szeregowy i rejestry związane z przerwaniami. Adres pamięci SFR zaczyna się od 80h do FFh. Rejestr SFR jest implementowany przez rejestry adresów bitowych i rejestry adresów bajtowych.

Rejestry funkcji specjalnych (SFR)


Rejestry funkcji specjalnych (SFR)

Akumulator, rejestr B, rejestry Po, P1, P2, P3, IE są rejestrami adresowalnymi bitowo, pozostałe wszystkie są rejestrami adresowalnymi bajtami.

Akumulator

Akumulator, który jest również znany jako ACC lub A, jest bitem, a także rejestrem adresowalnym bajtowo przez adres akumulatora. Jeśli chcesz użyć rejestru adresowalnego bitowo, możesz użyć pojedynczego bitu (E0) rejestru i możesz użyć 8-bitowego akumulatora jako rejestru adresowalnego bajtowo. Akumulator przechowuje wyniki większości operacji arytmetycznych i logicznych.

Rejestr akumulatorów

Rejestr akumulatorów

Program asemblera do odejmowania używany z akumulatorem

Org 0000h
MOV R0, # 09h
MOV A, # 03h (1 bajt danych)
SUBB A, 01h (1 bajt danych)
KONIEC

B-Register

Rejestr B jest rejestrem adresowalnym bitowo i bajtowo. Możesz uzyskać dostęp do 1-bitowego lub wszystkich 8-bitowych poprzez adres fizyczny F0h. Załóżmy, że aby uzyskać dostęp do bitu 1, musimy użyć f1. Rejestr B jest używany tylko do operacji mnożenia i dzielenia.

B-Register

B-Register

Program asemblera do mnożenia używany z B-Register

Org 0000h
MOV A, nr 09h
MOV B, # 03h
MUL A, B (wartość końcowa zapisana w A)
KONIEC
Program montażowy dla Division używany z rejestrem B.
Org 0000h
MOV A, nr 09h
MOV B, # 03h
DIC A, B (wartość końcowa przechowywana w A)
KONIEC

Rejestry portów

Mikrokontroler 8051 składa się z 4 portów wejściowych i wyjściowych (P0, P1, P2 i P3) lub 32 pinów I / O. Każdy pin jest zaprojektowany z tranzystorem i P. Plik konfiguracja pinów jest bardzo ważne dla mikrokontrolera, który zależy od stanów logicznych rejestrów. Konfiguracja pinów jako wejście podane przez 1 lub wyjście 0 zależy od stanów logicznych. Jeśli logika 1 jest zastosowana do bitu rejestru P, tranzystor wyjściowy wyłącza odpowiedni pin, który działa jako pin wejściowy.

Rejestry portowe z 8051

Rejestry portowe z 8051

Program montażowy do przełączania diod LED portu0

ORG 0000h
POWRÓT: MOV P0, # 00h
ACALL DEL1
MOV P0, # 0FF
ACALL DEL1
SJMP RETURN
DEL1: MOV R2, # 200
PRZÓD: DJNZ R0, # 230
DJNZ R2, DEL
DOBRZE
KONIEC

Liczniki i rejestry

Wiele mikrokontrolerów składa się z jednego lub więcej timery i liczniki . Timery są używane do generowania cennego opóźnienia czasowego, a źródłem timerów jest oscylator kwarcowy. Liczniki służą do zliczania liczby zdarzeń zewnętrznych - na przykład licznik celów , a źródłem dla liczników są zewnętrzne impulsy podawane na kołek licznika.

Mikrokontroler 8051 składa się z dwóch 16-bitowych timerów i liczników, takich jak timer 0 i timer 1. Oba timery składają się z 16-bitowego rejestru, w którym niższy bajt jest przechowywany w TL, a wyższy bajt w TH. Timer może być używany zarówno jako licznik, jak i do pracy czasowej zależnej od źródła impulsów zegarowych do liczników.

Liczniki i Timery w mikrokontrolerach 8051 zawierają dwa rejestry funkcji specjalnych: TMOD (rejestr trybu timera) i TCON (rejestr sterowania timerem) , które służą do aktywacji i konfiguracji timerów i liczników.

Rodzaje rejestru zmianowego

Rejestry przesuwne to rodzaj sekwencyjnych układów logicznych, które są używane głównie do przechowywania danych cyfrowych. Rejestry przesuwne są rejestrami adresowalnymi bitowo, które przechowują tylko jeden bit danych. Rejestry przesuwne zbudowane są z przerzutników - grupy przerzutników połączonych w łańcuch tak, że wyjście z jednego przerzutnika staje się wejściem kolejnego przerzutnika.

Wszystkie przerzutniki są napędzane sygnałami zegarowymi, które są realizowane przez przerzutnik D. Rejestry przesuwne są używane głównie do Komunikacja szeregowa .

Są one podzielone na 4 rodzaje:

  • Serial in Serial out (SISO)
  • Szeregowe wejście równoległe (SIPO)
  • Równoległe wyjście szeregowe (PISO)
  • Równoległe równoległe wyjście (PIPO)
D-rejestr flipflop

D-rejestr flipflop

Są to różne typy rejestrów w mikrokontrolerze 8051. Mamy nadzieję, że z powodzeniem udostępniliśmy odpowiednią treść za pomocą odpowiedniego programu dla każdego rejestru. Ponadto, aby uzyskać pomoc w poznaniu kodowania kilku innych rejestrów, możesz skontaktować się z nami, komentując poniżej.

Kredyty fotograficzne: