Прекиди у микроконтролеру 8051 и структура и програмирање

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





Најмоћнија и најважнија својства су прекиди у 8051 микроконтролер . У већини процеса у реалном времену, да би се правилно руковали одређеним условима, стварни задатак мора да се заустави на неко време - предузима потребне радње - а затим се мора вратити главном задатку. За извршавање такве врсте програма неопходни су прекиди. У потпуности се разликује од методе анкете у којој процесор мора узастопно да проверава сваки уређај и пита да ли је услуга потребна или не, док троши више времена процесора.

Прекиди у микроконтролеру 8051

Прекиди у микроконтролеру 8051



Прекиди у микроконтролеру 8051 су пожељнији да би се смањила редовна провера статуса повезаних уређаја или уграђених уређаја. Прекид је догађај који привремено суспендује главни програм, прослеђује контролу посебном одељку кода, извршава функцију повезану са догађајем и наставља главни ток програма тамо где је стао.


Прекиди су различитих врста као што су софтвер и хардвер, маскибилни и немаскирани, фиксни и векторски прекиди итд. Рутинска услуга прекида (ИСР) појављује се у слици када дође до прекида, а затим говори процесору да предузме одговарајуће мере за прекид, а након извршавања ИСР-а контролер ускаче у главни програм.



Врсте прекида у микроконтролеру 8051

Микроконтролер 8051 може да препозна пет различитих догађаја због којих се главни програм прекида из нормалног извршавања. Ових пет извора прекида у 8051 години су:

  1. Прекид преливања тајмера 0 - ТФ0
  2. Прекид преливања тајмера 1 - ТФ1
  3. Спољни хардверски прекиди - ИНТ0
  4. Спољни хардверски прекиди - ИНТ1
  5. Прекид серијске комуникације - РИ / ТИ

Тајмер и серијске прекиде интерно генерише микроконтролер, док се спољни прекиди генеришу додатним уређаји за повезивање или прекидачи који су споља повезани са микроконтролером. Ови спољни прекиди могу се активирати ивицом или нивоом. Када дође до прекида, микроконтролер извршава рутину услуге прекида тако да меморијска локација одговара прекиду који га омогућава. Прекид који одговара меморијској локацији дат је у доњој табели вектора прекида.

Табела вектора прекида

Табела вектора прекида

Структура прекида 8051 микро контролера

Након „РЕСЕТ“, сви прекиди постају онемогућени, те их зато мора омогућити софтвер. У свих ових пет прекида, ако је неко или сви активирани, ово поставља одговарајуће заставице прекида као што је приказано на слици. Сви ови прекиди могу се поставити или обрисати битовима у неком посебном регистру функција који је Омогућен прекид (ИЕ), а то заузврат зависи од приоритета који се извршава помоћу регистра приоритета прекида ИП.


Структура прекида микроконтролера 8051

Структура прекида микроконтролера 8051

Регистрирајте се за омогућавање прекида (ИЕ): Овај регистар је одговоран за омогућавање и онемогућавање прекида. То је мало адресирани регистар у којем ЕА мора бити постављен на један ради омогућавања прекида. Одговарајући бит у овом регистру омогућава одређени прекид попут тајмера, екстерних и серијских улаза. У доњем регистру ИЕ, бит који одговара 1 активира прекид, а 0 онемогућава прекид.

Регистар за омогућавање прекида (ИЕ)

Регистар за омогућавање прекида (ИЕ)

Регистар приоритета прекида (ИП): Такође је могуће променити ниво приоритета прекида постављањем или брисањем одговарајућег бита у регистру прекида приоритета (ИП) као што је приказано на слици. Ово омогућава прекиду ниског приоритета да прекине прекид високог приоритета, али забрањује прекид другим прекидом ниског приоритета. Слично томе, прекид високог приоритета не може се прекинути. Ако ови приоритети прекида нису програмирани, микроконтролер се извршава на унапред дефинисани начин и његов редослед је ИНТ0, ТФ0, ИНТ1, ТФ1 и СИ.

ИП регистар

ИП регистар

ТЦОН Регистер: Поред горе наведена два регистра, регистар ТЦОН наводи тип спољног прекида микроконтролера 8051, као што је приказано на слици. Два спољна прекида, било да су окидачи ивице или нивоа одређени овим регистром скупом или обрисани одговарајућим битовима у њему. И то је такође мало адресиран регистар.

ТЦОН Регистер

ТЦОН Регистер

Програмирање прекида 8051

1.Програмирање временских прекида

Прекиди тајмера 0 и тајмера 1 генеришу се битовима регистра тајмера ТФ0 и ТФ1. Ови прекиди програмирање помоћу Ц кода подразумева:

  • Одабир тајмера конфигурисањем регистра ТМОД и његовог начина рада.
  • Избор и учитавање почетних вредности ТЛк и ТХк за одговарајуће режиме.
  • Омогућавање ИЕ регистара и одговарајућег тајмера у њему.
  • Подешавање покретања бита тајмера за покретање тајмера.
  • Записивање потпрограма за тајмер за потребно време и брисање вредности тајмера ТРк на крају потпрограма.
Програмирање прекида тајмера

Програмирање прекида тајмера

2.Програмирање спољних хардверских прекида

8051 микроконтролери се састоје од два спољна хардверска прекида: ИНТ0 и ИНТ1 као што је претходно речено. Они су омогућени на пину 3.2 и пину 3.3. То могу бити окидачи ивице или нивои. У окидању нивоа, ниско на пину 3.2 омогућава прекид, док на пину 3.2 - прелаз од високог ка ниском омогућава прекид на ивици. О овом окидању ивице или окидању нивоа одлучује ТЦОН регистар о коме је већ било речи. Тхе поступак програмирања у 8051 је као што следи:

  • Омогућите одговарајући бит спољног прекида у ИЕ регистру.
  • Ако покреће ниво, само напишите потпрограм који одговара овом прекиду, или омогућите ТЦОН регистрациони бит који одговара прекиду који је покренуо ивица - било да је то ИНТ0 или ИНТ1.
Програмирање спољних хардверских прекида

Програмирање спољних хардверских прекида

3. Програмирање прекида серијске комуникације

Прекиди серијске комуникације појављују се када постоји потреба за слањем или примањем података. Пошто је један бит прекида постављен и за заставице ТИ (Прекид преноса) и РИ (Прекид пријемника), рутина Услуга прекида мора испитати ове заставице да би знала стварни прекид.

Логична ИЛИ операција ове две заставице (РИ и ТИ) узрокује овај прекид и то уклања само софтвер. Овде се за контролу користи посебан регистар СЦОН комуникација операција омогућавањем одговарајућих битова у њему.

  • Конфигуришите ИЕ регистар за омогућавање серијског прекида
  • Конфигуришите СЦОН регистар за операцију пријема или преноса
  • Напишите потпрограм за овај прекид одговарајућом функцијом и очистите заставице ТИ или РИ у овој рутини.
Програмирање серијских прекида

Програмирање серијских прекида

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

Пхото Цредитс