Региструјте банке и доделите меморију стека у микроконтролеру 8051

Испробајте Наш Инструмент За Елиминисање Проблема





Збирка регистара опште намене (Р0-Р7) назива се банкама регистара, које прихватају један бајт података. Банкарски регистар је део РАМ меморија у уграђеном микроконтролера, а користи се за чување програмских упутстава. Сваки микроконтролер се састоји од различитих банака меморије, а сваки регистар банака састоји се од јединствене адресе за препознавање места складиштења.

Региструјте банке 8051

Региструјте банке 8051

Региструјте банке 8051



Микроконтролер 8051 састоји се од четири банке регистра, као што су Банк0, Банк1, Банк2, Банк3, које су одабране у регистру ПСВ (Програм Статус Ворд). Ове банке регистра су присутне у интерној РАМ меморији микроконтролера 8051 и користе се за обраду података када је микроконтролер програмиран.


Промена регистарских банака



Подразумевано се микроконтролер 8051 напаја регистрацијом 0 и помоћу програма Ворд Статус Ворд (ПСВ) можемо се пребацити на друге банке. Два бита ПСВ користе се за пребацивање између матичних банака. Ова два бита приступају се упутствима за адресирање битова СЕТБ и ЦЛР.

На основу могућих комбинација РС1 и РС0 ПСВ, банка регистра се мења у складу с тим, тј. Ако су РС1 и РС0 0, онда је изабрана банка 0. Слично томе, банка1, 2 и 3 су одабране према вредностима РС1 и РС0.

Додељивање меморије стека у микроконтролеру 8051

Склоп је подручје меморије са случајним приступом (РАМ) додељено за привремено држање свих параметара променљивих. Стек је такође одговоран за подсећање на редослед позивања функције како би се могла правилно вратити. Кад год се функција позове, параметри и локалне променљиве повезане са њом додају се у стек (ПУСХ). Када се функција врати, параметри и променљиве се уклањају („ПОП“) из стека. Због тога се величина стека програма непрекидно мења док је програм покренут.


Регистар који се користи за приступ стеку назива се регистар показивача стека. Показивач стека је мали регистар који се користи за усмеравање на стек. Када нешто угурамо у меморију стека, показивач стека се повећава.

Додељивање меморије стека у микроконтролеру 8051

Додељивање меморије стека у микроконтролеру 8051

Пример

Када се укључи микроконтролер 8051, показивач стека садржи вредност 07, по дефаулту, као што је приказано на горњој слици. Ако извршимо операцију „ПУСХ“, тада ће се адреса показивача стека повећати и преместити у други регистар. Да бисмо избегли овај проблем, пре покретања програма показивачу стека морамо доделити другу локацију адресе.

ПУСХ операција

„ПУСХ“ се користи за преузимање вредности из било ког регистра и чување у почетној адреси показивача стека, тј. 00х, помоћу операције „ПУСХ“. И за следећи „ПУСХ“ повећава +1 и чува вредност у следећој адреси показивача стека, тј. 01х.

ПУСХ рад стека

ПУСХ рад стека

ПУСХ оперативна средства (први у првом излазу)

Пример: ВАП на асемблерском језику за рад ПУСХ

0000х
МОВ 08х, # 21х
МОВ 09х, # 56х
ПУСХ 00х
ПУСХ 01х
КРАЈ

ПОП операција

Користи се за постављање вредности са максималне адресе показивача стека на било коју другу адресу регистра. Ако поново користимо овај „ПОП“, он се смањује за 1, а вредност сачувана у било ком регистру даје се као „ПОП“.

ПОП операција у стеку

ПОП операција у стеку

ПОП операција значи „Последњи у првом изласку“.

000Х
МОВ 00Х, # 12Х
МОВ 01Х, # 32Х
ПОП 1ФХ
ПОП 0ЕХ
КРАЈ

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

Ако изводимо било коју операцију сабирања или одузимања, тада те операције не могу да се изврше директно у меморији, па се стога извршавају помоћу регистара. Постоје различите врсте региструје у 8051 микроконтролер .

Ови регистри су класификовани у две врсте према њиховом пословању:

• Регистри опште намене

• Регистри посебне функције

Регистри опште намене

Као што смо раније говорили у овом чланку, постоје четири различита регистра банака, при чему свака банка има 8 адресних 8-битних регистара, а одједном се може приступити само једном регистру банака. Али, променом броја банкарског регистра у регистру застава, можемо приступити другим банкарским регистрима, о којима је раније било речи у овом раду, заједно са концепт прекида 8051 .

Регистри посебне функције

Регистри посебних функција, укључујући акумулатор, регистар Б, показивач података, ПЦОН, ПСВ итд., Дизајнирани су за унапред одређену сврху током производње са адресом од 80Х до ФФХ и ово подручје се не може користити у сврху складиштења података или програма. Ови регистри се могу применити помоћу регистара битова адреса и бајтова.

Врсте регистара посебне функције

8051 се састоји од четири регистара посебних функција повезаних са улазом / излазом у којима има укупно 32 И / О линије. Регистри посебне функције контролишу вредности очитане из И / О линија и регистри посебне функције који контролишу рад 8051. Регистри помоћних посебних функција нису директно повезани са 8051 - али, у ствари, без тих регистара - 8051 не може правилно да ради. Комплет регистра 8051 је објашњен у наставку.

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

Постављање фиксне константне вредности у регистар назива се скупом регистра. Вредности се постављају у регистре помоћу скупа инструкција. 8051 следи упутства ЦИСЦ са архитектуром „Харвард“. Тхе ЦИСЦ је скраћеница за сложено рачунање скупа инструкција . Различите врсте упутстава у микроконтролеру 8051 укључују:

  1. Аритметичка упутства
  2. Условна упутства
  3. Упутства за позив и скок
  4. Лооп Инструцтионс
  5. Логичка упутства
  6. Инструкције за полуге

1. Аритметичка упутства

Аритметичка упутства изводе неколико основних операција као што су:

  • Сабирање
  • Одузимање
  • Множење
  • Дивизија
Аритметичка упутства у микроконтролеру 8051

Аритметичка упутства у микроконтролеру 8051

Примери:

а. Додатак:

Организација 0000х
МОВ Р0, # 03Х // помери вредност 3 је регистар Р0 //
МОВ А, # 05Х // премештање вредности 5 у акумулатор А //
Додајте А, 00Х // вредност акумулатора ‘5’ са 0 и чувајте на акумулатору //
КРАЈ

б. Одузимање:

Организација 0000х
МОВ Р0, # 03Х // помери вредност 3 је регистар Р0 //
МОВ А, # 05Х // премештање вредности 5 у акумулатор А //
СУББ А, 03Х // А = 5-3 крајња вредност је 2 ускладиштена у акумулатору А //
КРАЈ

Ц. Множење:

Организација 0000х
МОВ Р0, # 03Х // помери вредност 3 је регистар Р0 //
МОВ А, # 05Х // премештање вредности 5 у акумулатор А //
МУЛ А, 03Х // А = 5 * 3 коначна вредност је 15, чува се у акумулатору А //
КРАЈ

Д. одељење:

Организација 0000х
МОВ Р0, # 03Х // помери вредност 3 је регистар Р0 //
МОВ А, # 15Х // премештање вредности 5 у акумулатор А //
ДИВ А, 03Х // А = 15/3 коначна вредност је 5 сачувана у акумулатору А //
КРАЈ

2. Условна упутства

ЦПУ може извршити инструкције на основу услова тако што ће проверити статус једног бита или статус бајта назива се условним упутствима као што су:

Да бисте проверили статус једног бита у регистру који се може адресирати битовима

ЈБ- скок ако је испод

ЈНБ- скок ако не изнад

Да бисте проверили статус носача битова

ЈЦ- скок ако носи заставу

ЈНЦ-скок ако нема ношења

Да бисте проверили статус акумулатора или 0 или 1

ЈЗ- скок ако је нула заставица

ЈНЗ- скок ако не и нула

Ово је све о регистру постављеном у микроконтролеру 8051 и њиховој додели меморије стека. Надамо се да вам је овај чланак можда дао неке кључне увиде у тему, заједно са врло занимљивим програмима који прате сваку тему. Такође нам можете писати за било какву помоћ у кодирање микроконтролера а такође и о најновији пројекти на микроконтролеру .