Forskellige typer registre, der bruges i 8051 Microcontroller

Prøv Vores Instrument Til At Fjerne Problemer





Registeret er hoveddelen af mikrokontrollere og processorer der giver en hurtig måde at indsamle og gemme data på. Hvis vi vil manipulere data med en controller eller processor ved at udføre addition, subtraktion osv., Kan vi ikke gøre det direkte i hukommelsen, men det har brug for registre for at behandle og gemme dataene. Mikrocontrollere indeholder flere typer registre, der kan klassificeres i henhold til deres indhold eller instruktioner, der fungerer i dem.

Forskellige typer registre i 8051 Microcontroller

Tilmeld




Et register er et lille sted i en CPU, der kan gemme små mængder af de data, der bruges til at udføre forskellige operationer såsom tilføjelse og multiplikation og indlæser de resulterende data i hovedhukommelsen. Register indeholder adressen på den hukommelsesplacering, hvor dataene skal lagres. Størrelsen på registret er meget vigtig for moderne controllere . For eksempel, for et 64-bit register, prøver en CPU at tilføje to 32-bit tal og giver et 64-bit resultat.

Typer af registre

8051-mikrocontrolleren indeholder hovedsageligt to typer registre:



  • Generelle formålsregistre (Byte adresserbare registre)
  • Specielle funktionsregistre (Bit adresserbare registre)
8051 RAM-hukommelse

8051 RAM-hukommelse

Det 8051 mikrokontroller består af 256 bytes RAM, som er opdelt på to måder, såsom 128 bytes til generelle formål og 128 bytes til SFR-hukommelse (Special Function Registers). Den hukommelse, der bruges til generelle formål, kaldes RAM, og den hukommelse, der bruges til SFR, indeholder alle de perifere relaterede registre som akkumulator, 'B' -register, timere eller tællere og afbryder relaterede registre.

Generelle formålsregistre

Hukommelse til almindeligt formål

Hukommelse til almindeligt formål

Den almindelige hukommelse kaldes RAM for 8051-mikrocontrollere, som er opdelt i 3 områder som banker, bitadresserbart område og skrabepudeområde. Bankerne indeholder forskellige generelle registre, såsom R0-R7, og alle sådanne registre er byte-adresserbare registre, der kun gemmer eller fjerner 1-byte data.


Banker og registre

B0, B1, B2 og B3 står for banker, og hver bank indeholder otte generelle registre, der spænder fra 'R0' til 'R7'. Alle disse registre kan byteadresseres. Dataoverførsel mellem generelle formålsregistre til generelle formålsregistre er ikke mulig. Disse banker vælges af PSW-registret (Program Status Word).

Generelle formålsregistre

Generelle formålsregistre

PSW (Program Status Word) Register

PSW-registret er et bit- og byte-adresserbart register. Dette register afspejler status for den operation, der udføres i controlleren. PSW-registret bestemmer bankvalg med en RS1 og RS0, som vist nedenfor. Den fysiske adresse på PSW starter fra D0h, og de enkelte bits fås med D0h til D7h.

PSW-registre

PSW-registre

Bær flag (C) : Adressen på transportflagget er D7. Dette bærer flag påvirkes, når bit genereres fra den 7. position.
Når C = 0 bærer nulstilles
C = 1 bæresæt

Bær flag

Bær flag

Hjælpeflag (AC) : Adressen til hjælpetransporten er D5. Denne hjælpebære påvirkes, når en bit genereres fra 3. position til 4. position.
AC = 0 ekstra er nulstillet
AC = 1 ekstra er indstillet

Auxiliary Carry (AC)

Auxiliary Carry (AC)

Overflow Flag (OV) : Adressen på overløbsflagget er D2. Når der genereres en bit fra den 6. position til den 7. position, påvirkes overløbsflagget.

OV = 0 overløbsflag nulstilles
OV = 1 overløbsflagsæt

Overløbsflag

Overløbsflag

Paritetsflag (P) : Adressen til paritetsflagget er D0. Under resultatet af aritmetiske operationer, hvis resultatet er 1, er paritetsflaget indstillet - ellers nulstilles.
RS1 og RS0
RS1 og RS0, bitene i PSW-registret, bruges til at vælge forskellige hukommelsesplaceringer (bank0 til bank4) i RAM.

Bankudvælgelsesregistre

Bankudvælgelsesregistre

Følgende er et eksempel på brug af dette register.

Følgende eksempel viser tilføjelsen af ​​to tal og derefter lagringen af ​​den endelige værdi i Bank1-registeret ved hjælp af et samlingsniveauprogram.

Org 0000h
MOV PSW, # 00h
MOV A, 15
TILFØJ A, 20
MOV 00h, A
ENDE

Samlingsprogram til flytning af 6 naturlige tal i bank0-register R0-R5

Organ 0000h (erklæring om startadresser)
MOV PSW, # 00h (åbn bank0-hukommelsen)
MOV r0, # 00h (startadresse til bank0-hukommelse)
MOV r1, # 01h
MOV r2, # 02h
MOV r2, # 03h
MOV r3, # 04h
MOV r4, # 05h
ENDE

Samlingsprogram til at flytte 6 naturlige tal i bank1-register R0-R7

Organ 0000h (erklæring om startadresser)
MOV PSW, # 08h (åbn bank1-hukommelsen)
MOV r0, 00h (værdi sendes til bank1-hukommelsen)
MOV r1, 02h
MOV r2, 02h
MOV r2, 03h
MOV r3, 04h
MOV r4, 05h
MOV r5, 06h
MOV r6, 07h
MOV r7, 08h
ENDE

SFR (Special Function Registers)

Specielle funktionsregistre er øvre RAM i 8051 mikrokontrollere . Disse registre indeholder alle perifert relaterede registre som P0, P1, P2, P3, timere eller tællere, seriel port og afbrydelsesrelaterede registre. SFR-hukommelsesadressen starter fra 80 timer til FFh. SFR-registret implementeres af bitadresseregistre og byte-adresseregistre.

SFR (Special Function Registers)


SFR (Special Function Registers)

Akkumulator-, B-register-, Po-, P1-, P2-, P3-, IE-registre er bitadresserbare register, der alle er byte-adresserbare registre.

Akkumulator

Akkumulatoren, der også er kendt som ACC eller A, er lidt såvel som et byte-adresserbart register af en adresse på akkumulatoren. Hvis du vil bruge et bit-adresserbart register, kan du bruge en enkelt bit (E0) i registeret, og du kan bruge en 8-bit af akkumulatoren som et byte-adresserbart register. Akkumulatoren indeholder resultaterne af de fleste aritmetiske og logiske operationer.

Akkumulatorregister

Akkumulatorregister

Samlingsprogrammet til subtraktion brugt med en akkumulator

Org 0000h
MOV R0, # 09h
MOV A, # 03h (1 byte data)
SUBB A, 01h (1 byte data)
ENDE

B-register

B-registeret er et bit- og byte-adresserbart register. Du kan få adgang til 1-bit eller alle 8-bit ved en fysisk adresse F0h. Antag at for at få adgang til bit 1, skal vi bruge f1. B-registret bruges kun til multiplikations- og divisionsoperationer.

B-register

B-register

Samlingsprogrammet til multiplikation brugt med et B-register

Org 0000h
MOV A, # 09h
MOV B, # 03h
MUL A, B (endelig værdi gemt i A)
ENDE
Samlingsprogrammet for division brugt med et B-register
Org 0000h
MOV A, # 09h
MOV B, # 03h
DIC A, B (endelig værdi gemt i A)
ENDE

Portregistre

8051-mikrocontrolleren består af 4-input- og output-porte (P0, P1, P2 og P3) eller 32-I / O-ben. Hver pin er designet med en transistor og P-registre. Det pin konfiguration er meget vigtigt for en mikrocontroller, der afhænger af registrernes logiske tilstande. Stiftekonfigurationen som input givet af 1 eller output 0 afhænger af de logiske tilstande. Hvis logik 1 anvendes på biten af ​​P-registeret, slukkes udgangstransistoren for den passende pin, der fungerer som en input pin.

Havneregistre af 8051

Havneregistre af 8051

Samlingsprogram til at skifte lysdioder fra Port0

ORG 0000h
TILBAGE: MOV P0, # 00h
ACALL DEL1
MOV P0, # 0FF
ACALL DEL1
SJMP TILBAGE
DEL1: MOV R2, # 200
FR: DJNZ R0, # 230
DJNZ R2, DEL
RET
ENDE

Tællere og registre

Mange mikrocontrollere består af en eller flere timere og tællere . Timerne bruges til at generere dyrebar tidsforsinkelse, og kilden til timerne er en krystaloscillator. Tællerne bruges til at tælle antallet af eksterne begivenheder - for eksempel objektiv tæller og kilden til tællere er eksterne impulser, der påføres over tællertappen.

8051-mikrocontrolleren består af to 16-bit-timere og tællere såsom timer 0 og timer 1. Begge timere består af et 16-bit-register, hvor den nedre byte er lagret i TL, og den højere byte er lagret i TH. Timeren kan bruges som en tæller såvel som til tidsdrift, der afhænger af kilden til urimpulser til tællerne.

Tællere og timere i 8051 mikrokontrollere indeholder to specielle funktionsregistre: TMOD (Timer Mode Register) og TCON (Timer Control Register) , der bruges til at aktivere og konfigurere timere og tællere.

Typer af skiftregister

Skiftregistre er en type sekventielle logiske kredsløb, der hovedsageligt bruges til lagring af digitale data. Skiftregistrene er bitadresserbare registre, der kun gemmer en bit data. Skiftregistrene er konstrueret med flip-flops - en gruppe flip-flops forbundet som en kæde, så output fra en flip-flop bliver input til den næste flip-flop.

Alle flip-flops drives af de ursignaler, der implementeres af D-flip-flappen. Skiftregistrene bruges hovedsageligt til seriel kommunikation .

Disse er klassificeret i 4 typer:

  • Seriel ind Seriel ud (SISO)
  • Serial in Parallel Out (SIPO)
  • Parallel i seriel udgang (PISO)
  • Parallel i Parallel Out (PIPO)
D-flipflop-register

D-flipflop-register

Disse er alle forskellige typer registre i en 8051 mikrokontroller. Vi håber, at vi med succes har givet dig relevant indhold med det relevante program til hvert register. Desuden kan du kontakte os ved at kommentere nedenfor for enhver form for hjælp til at kende kodningen af ​​flere andre registre.

Fotokreditter: