Skirtingi registrų tipai, naudojami 8051 mikrovaldiklyje

Skirtingi registrų tipai, naudojami 8051 mikrovaldiklyje

Registras yra pagrindinė mikrovaldikliai ir procesoriai kurie suteikia greitą būdą rinkti ir saugoti duomenis. Jei norime manipuliuoti duomenimis valdikliu ar procesoriumi, atlikdami susiejimą, atimimą ir pan., Negalime to padaryti tiesiogiai atmintyje, tačiau duomenų apdorojimui ir saugojimui reikia registrų. Mikrovaldikliuose yra keli registrų tipai, kuriuos galima klasifikuoti pagal jų turinį arba juose veikiančias instrukcijas.



Skirtingi registrų tipai 8051 mikrovaldiklyje

Registruotis


Registras yra nedidelė vieta procesoriuje, kurioje galima saugoti nedidelį kiekį duomenų, naudojamų įvairioms operacijoms atlikti, pavyzdžiui, sudėti ir dauginti, ir įkelti gautus duomenis į pagrindinę atmintį. Registruose nurodomas atminties vietos, kurioje bus saugomi duomenys, adresas. Registro dydis yra labai svarbus šiuolaikiniai valdikliai . Pvz., 64 bitų registrui CPU bando pridėti du 32 bitų skaičius ir pateikia 64 bitų rezultatą.



Registrų rūšys

8051 mikrovaldiklį sudaro daugiausia dviejų tipų registrai:

  • Bendrosios paskirties registrai (baitų adresuojami registrai)
  • Specialūs funkcijų registrai (bitų adresuojami registrai)
8051 RAM atmintis

8051 RAM atmintis



8051 mikrovaldiklis susideda iš 256 baitų RAM, kuri yra padalinta į du būdus, pavyzdžiui, 128 baitai bendrosios paskirties ir 128 baitai specialiųjų funkcijų registrų (SFR) atminties. Atmintis, kuri naudojama bendram tikslui, vadinama RAM, o SFR naudojamoje atmintyje yra visi su periferiniais įrenginiais susiję registrai, tokie kaip akumuliatorius, „B“ registras, laikmačiai ar skaitikliai, ir nutraukiami susiję registrai.

Bendrosios paskirties registrai

Bendrosios paskirties atmintis

Bendrosios paskirties atmintis

Bendrosios paskirties atmintis vadinama 8051 mikrovaldiklių RAM, kuri yra padalinta į 3 sritis, tokias kaip bankai, bitų adresavimo sritis ir įbrėžimų sritis. Bankuose yra skirtingi bendrosios paskirties registrai, tokie kaip R0-R7, ir visi tokie registrai yra baitų adresų registrai, kuriuose saugomi arba pašalinami tik 1 baito duomenys.


Bankai ir registrai

B0, B1, B2 ir B3 reiškia bankus, o kiekviename banke yra aštuoni bendrosios paskirties registrai nuo „R0“ iki „R7“. Visi šie registrai gali būti adresuojami baitais. Duomenų perdavimas tarp bendrosios paskirties registrų į bendrosios paskirties registrus neįmanomas. Šiuos bankus parenka „Program Status Status Word“ (PSW) registras.

Bendrosios paskirties registrai

Bendrosios paskirties registrai

PSW (programos būsenos žodis) registras

PSW registras yra bitų ir baitų adresų registras. Šis registras atspindi valdiklyje atliekamos operacijos būseną. PSW registras nustato banko pasirinkimą pagal RS1 ir RS0, kaip parodyta žemiau. Fizinis PSW adresas prasideda nuo D0h, o atskiri bitai pasiekiami nuo D0h iki D7h.

PSW registrai

PSW registrai

Nešimo vėliava (C) : „Carry“ vėliavos adresas yra D7. Ši nešimo vėliava yra paveikta, kai bitas generuojamas iš 7 pozicijos.
Kai C = 0 nešiojimo atstatymai
C = 1 nešiojimo rinkiniai

Nešioti vėliavą

Nešioti vėliavą

Pagalbinė vėliava (AC) : Pagalbinio nešiojimo adresas yra D5. Šis pagalbinis nešiojimas yra paveiktas, kai bitai generuojami iš 3-osios ir 4-osios padėties.
AC = 0 pagalbinė nustatoma iš naujo
AC = 1 nustatytas pagalbinis

Pagalbinis nešiojimas (AC)

Pagalbinis nešiojimas (AC)

Perpildymo vėliava (OV) : Perpildymo vėliavos adresas yra D2. Kai iš 6-os ir 7-os pozicijos generuojamas bitas, tai turi įtakos perpildymo vėliavai.

Iš naujo nustatoma OV = 0 perpildymo vėliava
OV = 1 perpildymo vėliavos rinkiniai

Perpildymo vėliava

Perpildymo vėliava

Pariteto vėliava (P) : Pariteto vėliavos adresas yra D0. Atliekant aritmetines operacijas, jei rezultatas yra 1, tada nustatoma pariteto vėliava - kitaip nustatykite iš naujo.
RS1 ir RS0
RSW ir RS0, PSW registro bitai, naudojami norint pasirinkti skirtingas atminties vietas (nuo 0 iki 4 banko atminties).

Banko atrankos registrai

Banko atrankos registrai

Toliau pateikiamas šio registro naudojimo pavyzdys.

Šis pavyzdys rodo dviejų skaičių pridėjimą ir galutinės vertės saugojimą „Bank1“ registre naudojant surinkimo lygio programą.

Org 0000h
Perkelti PSW, # 00h
MOV A, 15
PRIDĖTI A, 20
MOV 00h, A
GALAS

Surinkimo programa 6 natūraliems skaičiams perkelti į banko 0 registrą R0-R5

Organizacija 0000h (pradinių adresų deklaracija)
MOV PSW, # 00h (atidarykite bank0 atmintį)
MOV r0, # 00h (pradinis bank0 atminties adresas)
MOV r1, # 01h
MOV r2, # 02h
MOV r2, # 03h
MOV r3, # 04h
MOV r4, # 05h
GALAS

Surinkimo programa 6 natūraliems skaičiams perkelti į banko 1 registrą R0-R7

Organizacija 0000h (pradinių adresų deklaracija)
MOV PSW, # 08h (atidarykite „bank1“ atmintį)
MOV r0, 00h (vertė siunčiama į „bank1“ atmintį)
MOV r1, 02h
MOV r2, 02 val
MOV r2, 03h
MOV r3, 04h
MOV r4, 05 val
MOV r5, 06 val
MOV r6, 07 val
MOV r7, 08h
GALAS

Specialiųjų funkcijų registrai (SFR)

Specialiųjų funkcijų registrai yra viršutinė RAM 8051 mikrovaldikliuose . Šiuose registruose yra visi periferiškai susiję registrai, pvz., P0, P1, P2, P3, laikmačiai ar skaitikliai, nuoseklusis prievadas ir su pertraukimais susiję registrai. SFR atminties adresas prasideda nuo 80h iki FFh. SFR registrą įgyvendina bitų adresų registrai ir baitų adresų registrai.

Specialiųjų funkcijų registrai (SFR)


Specialiųjų funkcijų registrai (SFR)

Akumuliatorių, B registrų, Po, P1, P2, P3, IE registrai yra bitų adresų registrai, likę visi yra baitų adresų registrai.

Akumuliatorius

Akumuliatorius, kuris taip pat žinomas kaip ACC arba A, yra šiek tiek, taip pat baitų adresuojamas registras pagal akumuliatoriaus adresą. Jei norite naudoti bitų adresų registrą, galite naudoti vieną registro bitą (E0) ir naudoti 8 bitų kaupiklį kaip baitų adresuojamą registrą. Akumuliatoriuje laikomi daugumos aritmetinių ir loginių operacijų rezultatai.

Kaupiamųjų registras

Kaupiamųjų registras

Asamblėjos atimties programa, naudojama su akumuliatoriumi

Org 0000h
MOV R0, # 09h
MOV A, # 03h (1 baito duomenys)
A SUBB, 01h (1 baito duomenys)
GALAS

B registras

B registras yra bitų ir baitų adresų registras. Fiziniu adresu F0h galite pasiekti 1 bitą arba visus 8 bitus. Tarkime, kad galėtume pasiekti 1 bitą, turime naudoti f1. B registras naudojamas tik daugybos ir dalijimo operacijoms.

B registras

B registras

Asamblėjos daugybos programa naudojama kartu su B registru

Org 0000h
MOV A, # 09h
MOV B, # 03h
MUL A, B (galutinė vertė saugoma A)
GALAS
Divizijos asamblėjos programa naudojama kartu su B registru
Org 0000h
MOV A, # 09h
MOV B, # 03h
DIC A, B (galutinė vertė saugoma A)
GALAS

Uosto registrai

8051 mikrovaldiklį sudaro 4 įvesties ir išvesties prievadai (P0, P1, P2 ir P3) arba 32 įvesties / išvesties kaiščiai. Kiekvienas kaištis yra suprojektuotas su tranzistoriumi ir P registrai. kaiščių konfigūracija yra labai svarbus mikrovaldikliui, kuris priklauso nuo registrų loginių būsenų. Smeigtuko konfigūracija kaip įvestis, kurią suteikia 1 arba išėjimas 0, priklauso nuo loginių būsenų. Jei P registro bitui taikoma logika 1, išėjimo tranzistorius išjungia atitinkamą kaištį, kuris veikia kaip įvesties kaištis.

8051 uosto registrai

8051 uosto registrai

Surinkimo programa perjungti „Port0“ šviesos diodus

ORG 0000h
GRĄŽINIMAS: MOV P0, # 00h
KVIETIMAS DEL1
MOV P0, # 0FF
KVIETIMAS DEL1
SJMP GRĄŽINIMAS
DEL1: MOV R2, # 200
Priekinė dalis: DJNZ R0, # 230
DJNZ R2, DEL
TEISĖ
GALAS

Skaitikliai ir registrai

Daugelis mikrovaldiklių susideda iš vieno ar daugiau laikmačiai ir skaitikliai . Laikmačiai naudojami brangiam laiko atidėjimui generuoti, o laikmačių šaltinis yra kristalinis osciliatorius. Skaitikliai naudojami išorinių įvykių skaičiui skaičiuoti, pavyzdžiui, objektyvus skaitiklis , o skaitiklių šaltinis yra išoriniai impulsai, taikomi visam skaitiklio kaiščiui.

8051 mikrovaldiklį sudaro du 16 bitų laikmačiai ir skaitikliai, tokie kaip laikmatis 0 ir laikmatis 1. Abu laikmačiai susideda iš 16 bitų registro, kuriame apatinis baitas saugomas TL, o aukštesnis - TH. Laikmatis gali būti naudojamas kaip skaitiklis, taip pat laiko nustatymo operacijoms, kurios priklauso nuo skaitiklių impulsų šaltinio.

8051 mikrovaldiklių skaitikliuose ir laikmačiuose yra du specialūs funkcijų registrai: TMOD (laikmačio režimo registras) ir TCON (laikmačio valdymo registras) , kurie naudojami laikmačiams ir skaitikliams suaktyvinti ir konfigūruoti.

Pamainų registro tipai

„Shift“ registrai yra nuoseklios loginės grandinės, kurios daugiausia naudojamos skaitmeniniams duomenims saugoti. Pamainų registrai yra bitų adresų registrai, kuriuose saugomas tik vienas duomenų bitas. Pamainų registrai sukonstruoti su šlepetėmis - šlepetių grupe, sujungta kaip grandinė, kad vieno šlepetės išvestis taptų kito šlepetės įvestimi.

Visus šlepetes valdo laikrodžio signalai, kuriuos įgyvendina D šleifas. Pamainų registrai dažniausiai naudojami nuoseklus bendravimas .

Jie skirstomi į 4 tipus:

  • Serial in Serial out (SISO)
  • Serial in Parallel Out (SIPO)
  • Lygiagretus nuoseklus išėjimas (PISO)
  • Lygiagretus į lygiagrečią išėjimą (PIPO)
D- flipflop registras

D- flipflop registras

Tai visi skirtingi 8051 mikrovaldiklio registrų tipai. Tikimės, kad sėkmingai pateikėme jums atitinkamą turinį su kiekvienam registrui skirta programa. Be to, norėdami sužinoti apie kelių kitų registrų kodavimą, susisiekite su mumis komentuodami toliau.

Nuotraukų kreditai: