Pertraukia 8051 mikrovaldiklį ir struktūrą bei programavimą

Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas





Galingiausios ir svarbiausios funkcijos yra pertraukos 8051 mikrovaldiklis . Daugumoje realiuoju laiku vykstančių procesų, norint tinkamai valdyti tam tikras sąlygas, tikroji užduotis kurį laiką turi būti sustabdyta - reikia imtis reikiamų veiksmų - ir tada grįžti prie pagrindinės užduoties. Norint vykdyti tokio tipo programas, reikalingi pertraukimai. Tai visiškai skiriasi nuo apklausos metodo, kai procesorius turi nuosekliai tikrinti kiekvieną įrenginį ir paklausti, ar paslauga reikalinga, ar ne.

Pertraukia 8051 mikrovaldiklį

Pertraukia 8051 mikrovaldiklį



8051 mikrovaldiklio pertraukimai yra labiau pageidautini, siekiant sumažinti reguliarų sąsajų įrenginių arba įmontuotų įrenginių būsenos tikrinimą. Pertraukimas yra įvykis, laikinai sustabdantis pagrindinę programą, perduodantis valdymą specialiam kodo skyriui, vykdantis su įvykiu susijusią funkciją ir atnaujinantis pagrindinės programos srautą ten, kur jis buvo nutrauktas.


Pertraukimai yra įvairių tipų, pavyzdžiui, programinė ir techninė įranga, maskuojami ir nemaskuojami, fiksuoti ir vektoriniai pertraukimai ir pan. Pertraukiamo aptarnavimo režimas (ISR) patenka į paveikslėlį, kai įvyksta pertraukimas, ir tada liepia procesoriui imtis atitinkamų veiksmų pertraukimui, o po ISR vykdymo valdiklis peršoka į pagrindinę programą.



8051 mikrovaldiklio pertraukimų tipai

„8051“ mikrovaldiklis gali atpažinti penkis skirtingus įvykius, dėl kurių pagrindinė programa nutraukia įprastą vykdymą. Šie penki 8051 m. Pertraukimų šaltiniai yra:

  1. 0 laikmačio perpildymo pertraukimas - TF0
  2. 1 laikmačio perpildymo pertraukimas - TF1
  3. Išorinės aparatūros pertraukimas - INT0
  4. Išorinės aparatūros pertraukimas - INT1
  5. Nuoseklus ryšio nutraukimas - RI / TI

Laikmatį ir nuoseklų pertraukimą viduje sukuria mikrovaldiklis, o išorinius pertraukimus - papildomi sąsajos įtaisai arba jungikliai, išoriškai prijungti prie mikrovaldiklio. Šie išoriniai pertraukimai gali būti suveikti kraštu arba suveikti lygiu. Įvykus pertraukai, mikrovaldiklis vykdo pertraukimo tarnybos tvarką taip, kad atminties vieta atitiktų ją įgalinantį pertraukimą. Atminties vietą atitinkantis pertraukimas pateiktas žemiau esančioje pertraukimo vektoriaus lentelėje.

Pertraukiamo vektoriaus lentelė

Pertraukiamo vektoriaus lentelė

8051 mikrovaldiklio pertraukimo struktūra

„RESET“ atveju visi pertraukikliai išjungiami, todėl visus šiuos pertraukimus turi įgalinti programinė įranga. Visų šių penkių pertraukimų metu, jei kas nors ar visi yra aktyvuoti, tai nustato atitinkamas pertraukimo žymes, kaip parodyta paveikslėlyje. Visus šiuos pertraukimus bitais galima nustatyti arba išvalyti kažkokiame specialiame funkcijų registre, kuris yra įjungtas pertraukimas (IE), o tai savo ruožtu priklauso nuo prioriteto, kurį vykdo IP pertraukimo prioriteto registras.


Pertraukianti 8051 mikrovaldiklio struktūra

Pertraukianti 8051 mikrovaldiklio struktūra

Pertraukimo įgalinimo (IE) registras: Šis registras yra atsakingas už pertraukimo įjungimą ir išjungimą. Tai yra šiek tiek adresuojamas registras, kuriame EA turi būti nustatytas vienas, kad būtų galima įjungti pertraukimus. Atitinkamas šio registro bitas įgalina tam tikrą pertraukimą, pavyzdžiui, laikmatį, išorinius ir nuoseklius įėjimus. Žemiau esančiame IE registre bitai, atitinkantys 1, įjungia pertraukimą, o 0 išjungia pertraukimą.

Pertraukimo įgalinimo (IE) registras

Pertraukimo įgalinimo (IE) registras

Pertraukiamo prioriteto registras (IP): Taip pat galima pakeisti pertraukimų prioriteto lygius nustatant arba išvalant atitinkamą bitą „Interrupt prioriteto (IP)“ registre, kaip parodyta paveikslėlyje. Tai leidžia mažo prioriteto pertraukimui nutraukti aukšto prioriteto pertraukimą, tačiau draudžiama pertraukti kitą mažo prioriteto pertraukimą. Taip pat negalima nutraukti aukšto prioriteto pertraukimo. Jei šie pertraukimo prioritetai nėra užprogramuoti, mikrovaldiklis vykdo iš anksto nustatytą būdą ir jo tvarka yra INT0, TF0, INT1, TF1 ir SI.

IP registras

IP registras

TCON registras: Be pirmiau minėtų dviejų registrų, TCON registre nurodomas 8051 mikrovaldiklio išorinio pertraukimo tipas, kaip parodyta paveikslėlyje. Du išoriniai pertraukimai, nesvarbu, ar jie suveikė kraštu, ar lygiu, nurodomi pagal šį registrą rinkiniu arba išvalomi atitinkamais jo bitais. Tai taip pat yra šiek tiek adresuojamas registras.

TCON registras

TCON registras

Nutraukti programavimą 8051 m

1. Laikino pertraukimo programavimas

Laikmačio 0 ir laikmačio 1 pertraukimai generuojami laikmačio registro bitais TF0 ir TF1. Šie pertraukia programavimas pagal C kodą apima:

  • Laikmačio pasirinkimas sukonfigūruojant TMOD registrą ir jo veikimo režimą.
  • Pradinių TLx ir THx verčių pasirinkimas ir įkėlimas tinkamiems režimams.
  • Įgalinant IE registrus ir atitinkamus laikmačio bitus jame.
  • Laikmačio paleidimo bitų nustatymas norint paleisti laikmatį.
  • Parašykite laikmačio paprogramę reikalingam laikui ir paprogramės pabaigoje išvalykite laikmačio vertę TRx.
Laikmačio pertraukimo programavimas

Laikmačio pertraukimo programavimas

2. Išorinio aparatūros pertraukimo programavimas

8051 mikrovaldikliai susideda iš dviejų išorinių aparatinės įrangos pertraukiklių: INT0 ir INT1, kaip aptarta anksčiau. Jie įgalinami 3.2 ir 3.3 kaiščiuose. Tai gali būti suaktyvinta kraštu arba suveikti lygiu. Paleidžiant lygį, žemas taškas 3.2 kaiščiu įgalina pertraukimą, o kaištis 3.2 - perėjimas nuo aukšto iki žemiausio leidžia perjungti kraštą. Šį krašto suveikimą arba lygio suveikimą sprendžia TCON registras, kuris buvo aptartas aukščiau. The programavimo procedūra 8051 m yra toks:

  • Įgalinkite atitinkamą išorinio pertraukimo bitą IE registre.
  • Jei tai yra lygio suveikimas, tiesiog parašykite šiam pertraukimui tinkamą paprogramę arba įgalinkite TCON registro bitą, atitinkantį krašto suaktyvintą pertraukimą - nesvarbu, ar tai INT0, ar INT1.
Išorinės aparatinės įrangos pertraukimo programavimas

Išorinės aparatinės įrangos pertraukimo programavimas

3. Serijos komunikacijos pertraukimo programavimas

Nuoseklus bendravimas nutrūksta, kai reikia siųsti ar gauti duomenis. Kadangi tiek TI (perdavimo pertraukimas), tiek RI (imtuvo pertraukimas) vėliavoms nustatytas vienas pertraukimo bitas, pertraukimo tarnybos rutina turi išnagrinėti šias vėliavas, kad žinotų faktinį pertraukimą.

Loginė ARBA šių dviejų žymėjimų (RI ir TI TI) operacija sukelia šį pertraukimą, ir tai pašalina tik programinė įranga. Čia valdymui naudojamas specialus registras SCON bendravimas operaciją įgalindami atitinkamus joje esančius bitus.

  • Konfigūruokite IE registrą, kad įgalintumėte nuoseklų pertraukimą
  • Konfigūruokite SCON registrą, kad gautumėte arba perkeltumėte operaciją
  • Parašykite šio pertraukimo paprogramę naudodami atitinkamą funkciją ir ištrinkite TI arba RI žymes naudodami šią tvarką.
Serijinis pertraukimo programavimas

Serijinis pertraukimo programavimas

Viskas apie 8051 mikrovaldiklio pertraukimus, tipus, jų struktūrą ir programavimą. Tikimės, kad iš šio straipsnio galėjote gauti geros informacijos. Be to, galite parašyti mums žemiau esančiame komentarų skyriuje, kad galėtumėte realiuoju laiku įdiegti mikrovaldiklių projektai kad galėtume jums padėti gauti geresnę praktinę patirtį.

Nuotraukų kreditai