Ulike typer registre som brukes i 8051 mikrokontroller

Prøv Instrumentet Vårt For Å Eliminere Problemer





Registeret er hoveddelen av mikrokontrollere og prosessorer som gir en rask måte å samle inn og lagre data. Hvis vi vil manipulere data med en kontroller eller prosessor ved å utføre tillegg, subtraksjon og så videre, kan vi ikke gjøre det direkte i minnet, men det trenger registre for å behandle og lagre dataene. Microcontrollers inneholder flere typer registre som kan klassifiseres i henhold til innholdet eller instruksjonene som fungerer i dem.

Ulike typer registre i 8051 Microcontroller

Registrere




Et register er et lite sted i en CPU som kan lagre små mengder av dataene som brukes til å utføre forskjellige operasjoner som tillegg og multiplikasjon og laster de resulterende dataene i hovedminnet. Register inneholder adressen til minneplasseringen der dataene skal lagres. Størrelsen på registeret er veldig viktig for moderne kontrollere . For eksempel, for et 64-biters register, prøver en CPU å legge til to 32-biters tall og gir et 64-biters resultat.

Typer av registre

8051-mikrokontrolleren inneholder hovedsakelig to typer registre:



  • Generelle registre (Byte adresserbare registre)
  • Spesielle funksjonsregistre (Bit adresserbare registre)
8051 RAM-minne

8051 RAM-minne

De 8051 mikrokontroller består av 256 byte RAM, som er delt på to måter, for eksempel 128 byte for generelle formål og 128 byte for spesielle funksjonsregister (SFR) -minne. Minnet som brukes til generelle formål kalles RAM, og minnet som brukes til SFR inneholder alle de perifere relaterte registerene som Accumulator, ‘B’ register, Timers eller Counters, og avbryter relaterte register.

Generelle formålsregistre

Minne til generelt formål

Minne til generelt formål

Generelt minne kalles RAM for 8051 mikrokontrollere, som er delt inn i 3 områder som banker, bitadresserbart område og skrapeområde. Bankene inneholder forskjellige generelle formålsregistre som R0-R7, og alle slike registre er byte-adresserbare registre som lagrer eller fjerner bare 1 byte med data.


Banker og registre

B0, B1, B2 og B3 står for banker, og hver bank inneholder åtte generelle formålsregister som spenner fra 'R0' til 'R7'. Alle disse registerene kan adresseres på byte. Dataoverføring mellom generelle registre til generelle formål er ikke mulig. Disse bankene er valgt av PSW-registeret (Status Status Word).

Generelle formålsregistre

Generelle formålsregistre

PSW (Program Status Word) Register

PSW-registeret er et lite og byte-adresserbart register. Dette registeret gjenspeiler status for operasjonen som utføres i kontrolleren. PSW-registeret bestemmer bankvalget med en RS1 og RS0, som vist nedenfor. Den fysiske adressen til PSW starter fra D0h, og de enkelte bitene er tilgjengelige med D0h til D7h.

PSW-registre

PSW-registre

Bære Flagg (C) : Adressen til Carry-flagget er D7. Dette bæreflagget påvirkes når biten genereres fra 7. posisjon.
Når C = 0 bærer tilbakestilles
C = 1 bæresett

Bær flagg

Bær flagg

Hjelpeflagg (AC) : Adressen til hjelpetransporten er D5. Denne hjelpebæringen påvirkes når en bit genereres fra 3. posisjon til 4. posisjon.
AC = 0 ekstra er tilbakestilt
AC = 1 ekstra er satt

Auxiliary Carry (AC)

Auxiliary Carry (AC)

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

OV = 0 overløpsflagg tilbakestilles
OV = 1 overløpsflaggsett

Overløpsflagg

Overløpsflagg

Paritetsflagg (P) : Adressen til paritetsflagget er D0. Når resultatet er 1, så er paritetsflagget satt - ellers tilbakestilles det mens du utfører aritmetiske operasjoner.
RS1 og RS0
RS1 og RS0, bitene i PSW-registeret, brukes til å velge forskjellige minneplasseringer (bank0 til bank4) i RAM.

Bankvalgregister

Bankvalgregister

Følgende er et eksempel på bruk av dette registeret.

Følgende eksempel viser tillegg av to tall og deretter lagring av sluttverdi i Bank1-registeret ved hjelp av et monteringsnivåprogram.

Org 0000h
MOV PSW, # 00h
MOV A, 15
LEGG TIL A, 20
MOV 00h, A.
SLUTT

Monteringsprogram for å flytte 6 naturlige tall i bank0-registeret R0-R5

Org 0000h (startadressedeklarasjon)
MOV PSW, # 00h (åpne bank0-minnet)
MOV r0, # 00h (startadresse til bank0-minne)
MOV r1, # 01h
MOV r2, # 02h
MOV r2, # 03h
MOV r3, # 04h
MOV r4, # 05h
SLUTT

Monteringsprogram for å flytte 6 naturlige tall i bank1-register R0-R7

Org 0000h (startadressedeklarasjon)
MOV PSW, # 08h (åpne bank1-minnet)
MOV r0, 00h (verdi send til bank1-minnet)
MOV r1, 02h
MOV r2, 02h
MOV r2, 03h
MOV r3, 04h
MOV r4, 05h
MOV r5, 06h
MOV r6, 07h
MOV r7, 08h
SLUTT

Spesialfunksjonsregistre (SFR)

Spesielle funksjonsregistre er øvre RAM i 8051 mikrokontrollere . Disse registerene inneholder alle perifert relaterte registre som P0, P1, P2, P3, tidtakere eller tellere, seriell port og avbruddsrelaterte registre. SFR-minneadressen starter fra 80h til FFh. SFR-registeret er implementert av bitadresseregister og byte-adresseregister.

Spesialfunksjonsregistre (SFR)


Spesialfunksjonsregistre (SFR)

Akkumulator-, B-register-, Po-, P1-, P2-, P3-, IE-registerene er bitadresserbare, gjenværende register, alle er byte-adresserbare register.

Akkumulator

Akkumulatoren som også er kjent som ACC eller A er litt så vel som et byte-adresserbart register av en adresse til akkumulatoren. Hvis du vil bruke et bitadresserbart register, kan du bruke en enkeltbit (E0) i registeret, og du kan bruke en 8-bit av akkumulatoren som et byte-adresserbart register. Akkumulatoren inneholder resultatene av de fleste aritmetiske og logiske operasjoner.

Akkumulatorregister

Akkumulatorregister

Monteringsprogrammet for subtraksjon brukt med en akkumulator

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

B-Register

B-registeret er et lite og byte-adresserbart register. Du kan få tilgang til 1-bit eller alle 8-bits med en fysisk adresse F0h. Anta at for å få tilgang til bit 1, må vi bruke f1. B-registeret brukes bare til multiplikasjons- og divisjonsoperasjoner.

B-Register

B-Register

Samlingsprogrammet for multiplikasjon brukt med et B-register

Org 0000h
MOV A, # 09h
MOV B, # 03h
MUL A, B (sluttverdi lagret i A)
SLUTT
Samlingsprogrammet for divisjon brukt med et B-register
Org 0000h
MOV A, # 09h
MOV B, # 03h
DIC A, B (sluttverdi lagret i A)
SLUTT

Havneregistre

8051-mikrokontrolleren består av 4-inngangs- og utgangsporter (P0, P1, P2 og P3) eller 32-I / O-pinner. Hver pin er designet med en transistor og P-registre. De pin konfigurasjon er veldig viktig for en mikrokontroller som er avhengig av logikken til registrene. Pin-konfigurasjonen som inngang gitt av 1 eller output 0 avhenger av logiske tilstander. Hvis logikk 1 blir brukt på biten av P-registeret, slår utgangstransistoren av den passende pinnen som fungerer som en inngangspinne.

Havneregistre fra 8051

Havneregistre fra 8051

Monteringsprogram for å bytte lysdioder for Port0

ORG 0000h
RETUR: MOV P0, # 00h
ACALL DEL1
MOV P0, # 0FF
ACALL DEL1
SJMP RETUR
DEL1: MOV R2, # 200
FRONT: DJNZ R0, # 230
DJNZ R2, DEL
IKKE SANT
SLUTT

Teller og registre

Mange mikrokontrollere består av en eller flere tidtakere og tellere . Tidtakerne brukes til å generere dyrebar tidsforsinkelse, og kilden til tidtakerne er en krystalloscillator. Tellerne brukes til å telle antall eksterne hendelser - for eksempel objektiv teller , og kilden for tellere er eksterne pulser påført over tellerstiften.

8051-mikrokontrolleren består av to 16-biters tidtakere og tellere som tidtaker 0 og tidtaker 1. Begge timerne består av et 16-biters register der den nedre byten er lagret i TL og den høyere byten er lagret i TH. Timeren kan brukes som en teller så vel som for tidsdrift som avhenger av kilden til klokkepulsene til tellerne.

Counters and Timers i 8051 mikrokontrollere inneholder to spesielle funksjonsregistre: TMOD (Timer Mode Register) og TCON (Timer Control Register) , som brukes til å aktivere og konfigurere tidtakere og tellere.

Typer skiftregister

Skiftregistre er en type sekvensielle logiske kretser som hovedsakelig brukes til lagring av digitale data. Skiftregistrene er bitadresserbare registre som bare lagrer en bit data. Skiftregistrene er konstruert med flip-flops - en gruppe flip-flops koblet som en kjede slik at utgangen fra en flip-flop blir inngangen til neste flip-flop.

Alle flip-flops drives av kloksignalene som er implementert av D-flip-flap. Skiftregistrene brukes hovedsakelig til seriell kommunikasjon .

Disse er klassifisert i fire typer:

  • Serial in Serial out (SISO)
  • Serial in Parallel Out (SIPO)
  • Parallell in Serial out (PISO)
  • Parallell in Parallel Out (PIPO)
D- flipflop-register

D- flipflop-register

Dette er alle forskjellige typer registre i en 8051 mikrokontroller. Vi håper at vi har gitt deg relevant innhold med riktig program for hvert register. Videre, for enhver form for hjelp til å kjenne kodingen til flere andre registre, kan du kontakte oss ved å kommentere nedenfor.

Fotokreditter: