Различни видове регистри, използвани в микроконтролера 8051

Опитайте Нашия Инструмент За Премахване На Проблемите





Регистърът е основната част на микроконтролери и процесори които осигуряват бърз начин за събиране и съхраняване на данни. Ако искаме да манипулираме данни с контролер или процесор, като извършваме събиране, изваждане и т.н., не можем да направим това директно в паметта, но се нуждаят от регистри за обработка и съхраняване на данните. Микроконтролерите съдържат няколко вида регистри, които могат да бъдат класифицирани според тяхното съдържание или инструкции, които работят в тях.

Различни видове регистри в микроконтролера 8051

Регистрирам




Регистърът е малко място в процесора, което може да съхранява малки количества от данните, използвани за извършване на различни операции като събиране и умножение и зарежда получените данни в основната памет. Регистрите съдържат адреса на местоположението в паметта, където трябва да се съхраняват данните. Размерът на регистъра е много важен за модерни контролери . Например, за 64-битов регистър, процесорът се опитва да добави две 32-битови числа и дава 64-битов резултат.

Видове регистри

Микроконтролерът 8051 съдържа предимно два вида регистри:



  • Регистри с общо предназначение (байтови адресируеми регистри)
  • Регистри на специални функции (битово адресируеми регистри)
8051 RAM памет

8051 RAM памет

The 8051 микроконтролер се състои от 256 байта RAM, което е разделено на два начина, като 128 байта за общо предназначение и 128 байта за памет със специални функционални регистри (SFR). Паметта, която се използва за общо предназначение, се нарича RAM, а паметта, използвана за SFR, съдържа всички свързани с периферията регистри като акумулатор, регистър ‘B’, таймери или броячи и регистри, свързани с прекъсвания.

Регистри с общо предназначение

Памет с общо предназначение

Памет с общо предназначение

Паметта с общо предназначение се нарича RAM на микроконтролерите 8051, която е разделена на 3 области като банки, битово адресируема зона и зона за надраскване. Банките съдържат различни регистри с общо предназначение като R0-R7 и всички такива регистри са байтово адресируеми регистри, които съхраняват или премахват само 1-байтови данни.


Банки и регистри

B0, B1, B2 и B3 означават банки и всяка банка съдържа осем регистри с общо предназначение, вариращи от „R0“ до „R7“. Всички тези регистри могат да бъдат адресирани до байтове. Прехвърлянето на данни между регистрите с общо предназначение в регистрите с общо предназначение не е възможно. Тези банки се избират от регистъра на програмата Word Status Word (PSW).

Регистри с общо предназначение

Регистри с общо предназначение

Регистриране на PSW (Word Status Word)

Регистърът на PSW е битов и байтово адресируем регистър. Този регистър отразява състоянието на операцията, която се извършва в контролера. Регистърът PSW определя избора на банка чрез RS1 и RS0, както е показано по-долу. Физическият адрес на PSW започва от D0h и отделните битове са достъпни с D0h до D7h.

Регистри на PSW

Регистри на PSW

Носете флаг (C) : Адресът на знамето за носене е D7. Този флаг за пренасяне се засяга, когато битът се генерира от 7-ма позиция.
Когато C = 0 носенето се нулира
C = 1 комплекти за носене

Носете знаме

Носете знаме

Спомагателен флаг (AC) : Адресът на спомагателното пренасяне е D5. Това спомагателно пренасяне се влияе, когато се генерира бит от 3-та позиция до 4-та позиция.
AC = 0 спомагателното се нулира
Зададен е AC = 1 спомагателен

Спомагателен носач (AC)

Спомагателен носач (AC)

Флаг за препълване (OV) : Адресът на знамето за препълване е D2. Когато се генерира бит от 6-та позиция до 7-ма позиция, тогава се влияе флагът за препълване.

OV = 0 флагът за препълване се нулира
OV = 1 набор от знамена за препълване

Флаг за преливане

Флаг за преливане

Флаг за паритет (P) : Адресът на флага за паритет е D0. Докато извършвате аритметични операции, ако резултатът е 1, тогава флагът за паритет е зададен - в противен случай нулирайте.
RS1 и RS0
RS1 и RS0, битовете в PSW регистъра, се използват за избор на различни места в паметта (bank0 до bank4) в RAM.

Регистри за избор на банка

Регистри за избор на банка

Следва пример за използване на този регистър.

Следващият пример демонстрира добавяне на две числа и след това съхранение на крайната стойност в регистъра Bank1 с помощта на програма за ниво на сглобяване.

Организация 0000ч
MOV PSW, # 00h
MOV A, 15
ДОБАВЕТЕ A, 20
MOV 00h, A
КРАЙ

Програма за сглобяване за преместване на 6 естествени числа в банка0 регистър R0-R5

Организация 0000h (декларация за начални адреси)
MOV PSW, # 00h (отворете паметта на bank0)
MOV r0, # 00h (начален адрес на паметта на bank0)
MOV r1, # 01h
MOV r2, # 02h
MOV r2, # 03h
MOV r3, # 04h
MOV r4, # 05h
КРАЙ

Програма за сглобяване за преместване на 6 естествени числа в банка1 регистър R0-R7

Организация 0000h (декларация за начални адреси)
MOV PSW, # 08h (отворете паметта на bank1)
MOV r0, 00h (стойност изпратена в паметта на банка1)
MOV r1, 02h
MOV r2, 02h
MOV r2, 03h
MOV r3, 04h
MOV r4, 05ч
MOV r5, 06h
MOV r6, 07h
MOV r7, 08h
КРАЙ

Регистри със специални функции (SFR)

Регистрите със специални функции са горната RAM памет в микроконтролерите 8051 . Тези регистри съдържат всички периферно свързани регистри като P0, P1, P2, P3, таймери или броячи, сериен порт и регистри, свързани с прекъсвания. Адресът на SFR паметта започва от 80h до FFh. Регистърът SFR се реализира от битови адресни регистри и байтови адресни регистри.

Регистри със специални функции (SFR)


Регистри със специални функции (SFR)

Регистрите на акумулатора, B, Po, P1, P2, P3, IE са битово адресируем регистър, като всички останали са байтово адресируеми регистри.

Акумулатор

Акумулаторът, който е известен също като ACC или A, е бит, както и байт-адресируем регистър от адрес на акумулатора. Ако искате да използвате бит-адресируем регистър, можете да използвате единичен бит (E0) на регистъра и можете да използвате 8-битов акумулатор като регистър, адресиран към байт. Акумулаторът съхранява резултатите от повечето аритметични и логически операции.

Регистър на акумулатора

Регистър на акумулатора

Програмата за сглобяване за изваждане, използвана с акумулатор

Организация 0000ч
MOV R0, # 09h
MOV A, # 03h (1 байт данни)
SUBB A, 01h (1 байт данни)
КРАЙ

B-регистър

B-регистърът е битов и байтово адресируем регистър. Можете да получите достъп до 1-битови или всички 8-битови от физически адрес F0h. Да предположим, че за достъп до бит 1 трябва да използваме f1. Регистърът B се използва само за операции по умножение и деление.

B-регистър

B-регистър

Програмата за сглобяване за умножение, използвана с B-регистър

Организация 0000ч
MOV A, # 09h
MOV B, # 03h
MUL A, B (Крайната стойност се съхранява в A)
КРАЙ
Програмата за сглобяване на дивизия, използвана с B-регистър
Организация 0000ч
MOV A, # 09h
MOV B, # 03h
DIC A, B (Крайна стойност, съхранявана в A)
КРАЙ

Пристанищни регистри

Микроконтролерът 8051 се състои от 4 входни и изходни порта (P0, P1, P2 и P3) или 32-I / O щифтове. Всеки щифт е проектиран с транзистор и Р регистри. The ПИН конфигурация е много важно за микроконтролера, който зависи от логическите състояния на регистрите. Конфигурацията на щифтовете като вход, зададен от 1 или изход 0, зависи от логическите състояния. Ако логика 1 е приложена към бита на P регистъра, изходният транзистор изключва подходящия щифт, който действа като входен щифт.

Пристанищни регистри от 8051 г.

Пристанищни регистри от 8051 г.

Програма за сглобяване за превключване на светодиодите на Port0

ORG 0000h
ВРЪЩАНЕ: MOV P0, # 00h
ACALL DEL1
MOV P0, #0FF
ACALL DEL1
ВРЪЩАНЕ НА SJMP
DEL1: MOV R2, # 200
ПРЕДНИ: DJNZ R0, # 230
DJNZ R2, DEL
НАДЯСНО
КРАЙ

Броячи и регистри

Много микроконтролери се състоят от един или повече таймери и броячи . Таймерите се използват за генериране на ценно времезакъснение, а източникът на таймерите е кристален осцилатор. Броячите се използват за преброяване на броя на външните събития - например обективен брояч , а източникът на броячите са външни импулси, приложени през щифта на брояча.

Микроконтролерът 8051 се състои от два 16-битови таймера и броячи като таймер 0 и таймер 1. И двата таймера се състоят от 16-битов регистър, в който долният байт се съхранява в TL, а по-високият байт се съхранява в TH. Таймерът може да се използва както за брояч, така и за операция за синхронизация, която зависи от източника на импулсите на часовника към броячите.

Броячите и таймерите в 8051 микроконтролери съдържат два специални функционални регистри: TMOD (регистър на режима на таймера) и TCON (регистър за управление на таймера) , които се използват за активиране и конфигуриране на таймери и броячи.

Видове регистър за смяна

Shift регистрите са вид последователни логически вериги, които се използват главно за съхранение на цифрови данни. Регистрите за смяна са битово адресируеми регистри, които съхраняват само един бит данни. Регистрите за смяна са конструирани с джапанки - група джапанки, свързани като верига, така че изходът от едната джапанка да се превърне във входа на следващата джапанка.

Всички джапанки се задвижват от тактовите сигнали, които се изпълняват от D-джапанката. Регистрите за смяна се използват главно за серийна комуникация .

Те се класифицират в 4 типа:

  • Сериен вход в сериен изход (SISO)
  • Сериен вход в паралелен изход (SIPO)
  • Паралелно в сериен изход (PISO)
  • Паралелен вход в паралелен изход (PIPO)
D- flipflop регистър

D- flipflop регистър

Това са различни видове регистри в микроконтролер 8051. Надяваме се, че успешно сме ви предоставили подходящо съдържание със съответната програма за всеки регистър. Освен това, за всякакъв вид помощ, за да знаете кодирането на няколко други регистри, можете да се свържете с нас, като коментирате по-долу.

Кредити за снимки: