Erinevat tüüpi registrid, mida kasutatakse mikrokontrolleris 8051

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





Register on programmi peamine osa mikrokontrollerid ja protsessorid mis pakuvad kiiret viisi andmete kogumiseks ja salvestamiseks. Kui tahame andmetega manipuleerida kontrolleri või protsessoriga liitmise, lahutamise jms abil, ei saa me seda otse mällu teha, kuid see vajab andmete töötlemiseks ja salvestamiseks registreid. Mikrokontrollerid sisaldavad mitut tüüpi registreid, mida saab liigitada vastavalt nende sisule või neis töötavatele juhistele.

Erinevat tüüpi registrid mikrokontrolleris 8051

Registreeri




Register on protsessori väike koht, kuhu saab salvestada väikestes kogustes andmeid, mida kasutatakse mitmesuguste toimingute, näiteks liitmise ja korrutamise jaoks, ning laadib saadud andmed põhimällu. Registrid sisaldavad selle mälukoha aadressi, kuhu andmed salvestatakse. Registri suurus on kaasaegsed kontrollerid . Näiteks proovib CPU 64-bitise registri jaoks lisada kahte 32-bitist numbrit ja annab 64-bitise tulemuse.

Registrite tüübid

Mikrokontroller 8051 sisaldab peamiselt kahte tüüpi registreid:



  • Üldotstarbelised registrid (baitidega adresseeritavad registrid)
  • Spetsiaalsed funktsioonide registrid (bittidega adresseeritavad registrid)
8051 RAM-mälu

8051 RAM-mälu

The 8051 mikrokontroller koosneb 256 baiti RAM-ist, mis on jagatud kahel viisil, näiteks 128 baiti üldotstarbeks ja 128 baiti spetsiaalsete funktsioonide registrite (SFR) mäluks. Üldotstarbelist mälu nimetatakse RAM-iks ja SFR-i jaoks kasutatav mälu sisaldab kõiki välisseadmetega seotud registreid nagu Akumulaator, B-register, Taimerid või Loendurid ja katkestavad seotud registrid.

Üldotstarbelised registrid

Üldotstarbeline mälu

Üldotstarbeline mälu

Üldotstarbelist mälu nimetatakse mikrokontrollerite 8051 RAM-iks, mis on jagatud kolmeks alaks, näiteks pankadeks, bitt-adresseeritavaks alaks ja kriimustuste alaks. Pangad sisaldavad erinevaid üldotstarbelisi registreid nagu R0-R7 ja kõik sellised registrid on baitidega adresseeritavad registrid, mis salvestavad või eemaldavad ainult 1-baidiseid andmeid.


Pangad ja registrid

B0, B1, B2 ja B3 tähistavad panku ja igas pangas on kaheksa üldotstarbelist registrit vahemikus ‘R0’ kuni ’R7’. Kõik need registrid on baitidega adresseeritavad. Andmete edastamine üldotstarbeliste registrite vahel üldotstarbeliste registrite vahel pole võimalik. Need pangad valib programm Status Word (PSW) register.

Üldotstarbelised registrid

Üldotstarbelised registrid

PSW (Program Status Word) register

PSW register on natuke ja baitidega adresseeritav register. See register kajastab kontrolleris teostatava toimingu olekut. PSW register määrab panga valiku RS1 ja RS0 abil, nagu allpool näidatud. PSW füüsiline aadress algab D0h-st ja üksikutele bittidele pääseb juurde punktidega D0h kuni D7h.

PSW registrid

PSW registrid

Kandelipp (C) : Carry lipu aadress on D7. Seda kandelippu mõjutab see, kui bitt genereeritakse 7. positsioonilt.
Kui C = 0, siis lähtestamine toimub
C = 1 kandekomplekt

Kandelipp

Kandelipp

Abilipp (AC) : Abikanduri aadress on D5. Seda lisakandmist mõjutab see, kui bitt genereeritakse 3. ja 4. positsiooni vahel.
AC = 0 abiseade lähtestatakse
AC = 1 abiseade on seatud

Abikandur (vahelduvvool)

Abikandur (vahelduvvool)

Ülevoolulipp (OV) : Ülevoolulipu aadress on D2. Kui bitt genereeritakse 6. positsioonist 7. positsiooni, mõjutab see ülevoolulippu.

OV = 0 ülevoolulipp lähtestatakse
OV = 1 ülevoolulipu komplekt

Ülevoolulipp

Ülevoolulipp

Pariteedilipp (P) : Pariteedilipu aadress on D0. Aritmeetiliste toimingute tegemisel määratakse pariteedilipp tulemuse korral 1 - muul juhul lähtestage.
RS1 ja RS0
PSW registris olevaid bitte RS1 ja RS0 kasutatakse RAM-is erinevate mälupaikade (panga0 kuni panga4) valimiseks.

Pangavaliku registrid

Pangavaliku registrid

Järgnev on näide selle registri kasutamisest.

Järgmine näide näitab kahe numbri lisamist ja seejärel lõpliku väärtuse salvestamist Bank1 registrisse koostetaseme programmi abil.

Org 0000h
MOV PSW, # 00h
MOV A, 15
LISA A, 20
MOV 00h, A
LÕPP

Koosteprogramm 6 loomuliku numbri teisaldamiseks panga 0 registris R0-R5

Org 0000h (algusaadresside deklaratsioon)
MOV PSW, # 00h (avage panga0 mälu)
MOV r0, # 00h (panga0 mälu algusaadress)
MOV r1, # 01h
MOV r2, # 02h
MOV r2, # 03h
MOV r3, # 04h
MOV r4, # 05h
LÕPP

Koosteprogramm 6 loomuliku numbri teisaldamiseks panga 1 registris R0-R7

Org 0000h (algusaadresside deklaratsioon)
MOV PSW, # 08h (avage panga 1 mälu)
MOV r0, 00h (väärtus saadetakse panga 1 mällu)
MOV r1, 02h
MOV r2, 02h
MOV r2, 03h
MOV r3, 04h
MOV r4, 05h
MOV r5, 06h
MOV r6, 07h
MOV r7, 08h
LÕPP

Erifunktsioonide registrid (SFR)

Erifunktsioonide registrid on ülemine RAM 8051 mikrokontrollerites . Need registrid sisaldavad kõiki perifeerselt seotud registreid, nagu P0, P1, P2, P3, taimereid või loendureid, jadaporti ja katkestustega seotud registreid. SFR-i mäluaadress algab 80 h-st kuni FFh-ni. SFR-registrit rakendavad bitt-aadressiregistrid ja bait-aadressiregistrid.

Erifunktsioonide registrid (SFR)


Erifunktsioonide registrid (SFR)

Akumulaatori, B-registri, Po-, P1-, P2-, P3-, IE-registrid on bitiaadressiga registrid, ülejäänud on kõik baidiaadressiga registrid.

Akumulaator

Akumulaator, mida nimetatakse ka ACC-ks või A-ks, on nii natuke kui ka baitidega adresseeritav register aku aadressi järgi. Kui soovite kasutada natuke adresseeritavat registrit, võite kasutada registri ühte bitti (E0) ja bait-adresseeritava registrina saate kasutada 8-bitist akut. Akumulaator sisaldab enamiku aritmeetiliste ja loogiliste toimingute tulemusi.

Akumulaatorite register

Akumulaatorite register

Akumulaatoriga kasutatav assamblee programm lahutamiseks

Org 0000h
MOV R0, # 09h
MOV A, # 03h (1-baidised andmed)
AUBA A, 01 h (1-baidised andmed)
LÕPP

B-register

B-register on natuke ja baitidega adresseeritav register. 1-bitisele või kõigile 8-bitistele pääseb juurde füüsilise aadressi F0h järgi. Oletame, et juurdepääsuks natuke 1-le peame kasutama f1. B-registrit kasutatakse ainult korrutamis- ja jagamistoiminguteks.

B-register

B-register

Korrutamise assamblee programm, mida kasutatakse B-registriga

Org 0000h
MOV A, # 09h
MOV B, # 03h
MUL A, B (A-sse salvestatud lõplik väärtus)
LÕPP
Divisjoni assamblee programm, mida kasutatakse B-registriga
Org 0000h
MOV A, # 09h
MOV B, # 03h
DIC A, B (A-sse salvestatud lõplik väärtus)
LÕPP

Sadamaregistrid

Mikrokontroller 8051 koosneb 4 sisend- ja väljundportist (P0, P1, P2 ja P3) või 32-I / O tihvtidest. Iga tihvt on kujundatud transistoriga ja P registrid. The tihvti konfiguratsioon on mikrokontrolleri jaoks väga oluline, mis sõltub registrite loogikaseisunditest. Tihvtide konfiguratsioon sisendina, mille annab 1 või väljund 0, sõltub loogikaseisunditest. Kui P-registri bitile rakendatakse loogikat 1, lülitab väljundtransistor välja sobiva tihvti, mis toimib sisendnõelana.

8051. sadamaregistrid

8051. sadamaregistrid

Montaažiprogramm Port0 LED-de vahetamiseks

ORG 0000h
TAGASI: MOV P0, # 00h
HELISTA DEL1
MOV P0, # 0FF
HELISTA DEL1
SJMP TAGASI
DEL1: MOV R2, # 200
ESI: DJNZ R0, # 230
DJNZ R2, DEL
PAREM
LÕPP

Loendurid ja registrid

Paljud mikrokontrollerid koosnevad ühest või mitmest taimerid ja loendurid . Taimereid kasutatakse väärtusliku viivituse genereerimiseks ja taimerite allikaks on kristall-ostsillaator. Loendureid kasutatakse väliste sündmuste - näiteks objektiivne loendur ja loendurite allikaks on välised impulsid, mis rakendatakse kogu loendustihvti.

Mikrokontroller 8051 koosneb kahest 16-bitisest taimerist ja loenduritest, näiteks taimer 0 ja taimer 1. Mõlemad taimerid koosnevad 16-bitisest registrist, milles madalam bait on salvestatud TL-s ja kõrgem bait TH-s. Taimerit saab kasutada nii loendurina kui ka ajastustoiminguteks, mis sõltuvad loendurite kellaimpulsside allikast.

8051 mikrokontrolleri loendurid ja taimerid sisaldavad kahte erifunktsioonide registrit: TMOD (taimeri režiimi register) ja TCON (taimeri juhtimise register) , mida kasutatakse taimerite ja loendurite aktiveerimiseks ja konfigureerimiseks.

Vahetusregistri tüübid

Nihkeregistrid on järjestikuste loogikalülituste tüüp, mida kasutatakse peamiselt digitaalsete andmete salvestamiseks. Nihkeregistrid on bittadresseeritavad registrid, mis talletavad ainult ühte bitti andmeid. Nihutusregistrid on üles ehitatud plätudega - ketiga ühendatud plätude rühmaga, nii et ühe plätu väljundist saab järgmise plätu sisend.

Kõiki plätusid juhivad kellasignaalid, mida rakendab D-klapp. Peamiselt kasutatakse vahetuste registreid järjestikune suhtlus .

Need liigitatakse 4 tüüpi:

  • Serial in Serial out (SISO)
  • Seeria paralleelses väljundis (SIPO)
  • Paralleelne jadaväljas (PISO)
  • Paralleelselt paralleelselt (PIPO)
D- flipflop register

D- flipflop register

Need kõik on erinevat tüüpi registrid 8051 mikrokontrolleris. Loodame, et oleme teile edukalt edastanud asjakohase sisu iga registri jaoks sobiva programmiga. Lisaks võite mitmete teiste registrite kodeerimise kohta abi saamiseks meiega ühendust võtta, kommenteerides allpool.

Foto autorid: