Prekinitve v mikrokrmilniku 8051 ter struktura in programiranje

Preizkusite Naš Instrument Za Odpravo Težav





Najmočnejše in najpomembnejše funkcije so prekinitve v 8051 mikrokrmilnik . V večini procesov v realnem času je treba za pravilno obdelavo določenih pogojev dejansko nalogo za nekaj časa ustaviti - potrebno je ukrepati - in se nato vrniti k glavni nalogi. Za izvajanje tovrstnih programov so potrebne prekinitve. Popolnoma se razlikuje od metode glasovanja, pri kateri mora procesor zaporedno preverjati vsako napravo in vprašati, ali je storitev potrebna ali ne, medtem ko porabi več časa procesorja.

Prekinitve v mikrokrmilniku 8051

Prekinitve v mikrokrmilniku 8051



Prekinitve v mikrokrmilniku 8051 so bolj zaželene, da se zmanjša redno preverjanje stanja vmesniških naprav ali vgrajenih naprav. Prekinitev je dogodek, ki začasno ustavi glavni program, nadzor prenese na poseben odsek kode, izvede funkcijo, povezano z dogodkom, in nadaljuje glavni tok programa tam, kjer je končal.


Prekinitve so različnih vrst, kot so programska in strojna oprema, zamaskirane in nemaskabilne, fiksne in vektorske prekinitve itd. Rutina storitve prekinitev (ISR) se prikaže na sliki, ko pride do prekinitve, in nato sporoči procesorju, naj ustrezno ukrepa za prekinitev, po izvedbi ISR ​​pa krmilnik skoči v glavni program.



Vrste prekinitev v mikrokrmilniku 8051

Mikrokrmilnik 8051 lahko prepozna pet različnih dogodkov, zaradi katerih glavni program prekine normalno izvajanje. Teh pet virov prekinitev leta 8051 je:

  1. Prekinitev prelivanja časovnika 0 - TF0
  2. Prekinitev prelivanja časovnika 1 - TF1
  3. Zunanja strojna prekinitev - INT0
  4. Zunanja strojna prekinitev - INT1
  5. Prekinitev serijske komunikacije - RI / TI

Prekinitve časovnika in serijsko interno generira mikrokrmilnik, zunanje prekinitve pa dodatne vmesniške naprave ali stikala, ki so zunanje priključena na mikrokrmilnik. Te zunanje prekinitve lahko sproži rob ali nivo. Ko pride do prekinitve, mikrokrmilnik izvede rutino storitve prekinitve, tako da mesto pomnilnika ustreza prekinitvi, ki jo omogoča. Prekinitev, ki ustreza pomnilniški lokaciji, je podana v spodnji tabeli vektorskih prekinitev.

Tabela vektorskih prekinitev

Tabela vektorskih prekinitev

Prekinitvena struktura 8051 mikro krmilnika

Po 'RESET' se vse prekinitve onemogočijo, zato jih mora programska oprema omogočiti. Če je v vseh teh petih prekinitvah aktiviran kdo ali vsi, to nastavi ustrezne zastavice prekinitve, kot je prikazano na sliki. Vse te prekinitve lahko nastavite ali zbrišete z bitom v nekem posebnem registru funkcij, ki je prekinjen (IE), to pa je odvisno od prioritete, ki jo izvede IP prednostni register prekinitev.


Prekinitvena struktura mikrokrmilnika 8051

Prekinitvena struktura mikrokrmilnika 8051

Registracija prek prekinitve (IE): Ta register je odgovoren za omogočanje in onemogočanje prekinitve. Je malo naslovljiv register, v katerem mora biti EA nastavljen na enega za omogočanje prekinitev. Ustrezni bit v tem registru omogoča določene prekinitve, kot so časovnik, zunanji in serijski vhodi. V spodnjem registru IE bit, ki ustreza 1, aktivira prekinitev in 0 onemogoči prekinitev.

Register za omogočanje prekinitev (IE)

Register za omogočanje prekinitev (IE)

Interrupt Priority Register (IP): Prav tako je mogoče spremeniti prednostne stopnje prekinitev z nastavitvijo ali brisanjem ustreznega bita v registru Prekinitev prioritete (IP), kot je prikazano na sliki. To omogoča, da prekinitev z nizko prioriteto prekine prekinitev z visoko prioriteto, vendar prepove prekinitev z drugo prekinitvijo z nizko prioriteto. Podobno tudi visoko prioritetne prekinitve ni mogoče prekiniti. Če te prioritete prekinitev niso programirane, se mikrokrmilnik izvede na vnaprej določen način in ima vrstni red INT0, TF0, INT1, TF1 in SI.

IP register

IP register

Register TCON: Poleg zgornjih dveh registrov register TCON določa vrsto zunanje prekinitve mikrokrmilnika 8051, kot je prikazano na sliki. Dve zunanji prekinitvi, bodisi sproženi z robom ali nivojem, ta register določi z nizom ali ga pobriše z ustreznimi biti. In to je tudi nekoliko naslovljiv register.

TCON Register

TCON Register

Prekinitev programiranja leta 8051

1. Programiranje časovnih prekinitev

Prekinitve časovnika 0 in časovnika 1 generirajo bita časovnega registra TF0 in TF1. Te prekinitve programiranje s kodo C. vključuje:

  • Izbira časovnika s konfiguriranjem registra TMOD in načina njegovega delovanja.
  • Izbira in nalaganje začetnih vrednosti TLx in THx za ustrezne načine.
  • Omogočanje registrov IE in ustreznih bitov časovnika v njih.
  • Nastavitev bitov časovnika za zagon časovnika.
  • Zapis podprograma za časovnik za potreben čas in na koncu podprograma počistite vrednost časovnika TRx.
Programiranje prekinjevalnika časa

Programiranje prekinjevalnika časa

2. Programiranje prekinitev zunanje strojne opreme

8051 mikrokrmilniki so sestavljeni iz dveh zunanjih strojnih prekinitev: INT0 in INT1, kot smo že omenili. Ti so omogočeni na nožicah 3.2 in 3.3. Ti so lahko sproženi z robom ali ravni. Pri sprožanju nivoja nizko na zatiču 3.2 omogoča prekinitev, medtem ko pri zatiču 3.2 - prehod od visokega do nizkega omogoča prekinitev, ki ga sproži rob. To sprožitev roba ali sprožanje ravni določa zgoraj obravnavani register TCON. The postopek programiranja v 8051 kot sledi:

  • Omogoči ustrezni bit zunanje prekinitve v registru IE.
  • Če sproža nivo, preprosto napišite podprogram, primeren za to prekinitev, ali pa omogočite registrski bit TCON, ki ustreza prekinitvi, ki jo sproži rob - ne glede na to, ali gre za INT0 ali INT1.
Zunanje programiranje prekinitev strojne opreme

Zunanje programiranje prekinitev strojne opreme

3. Programiranje prekinitev serijske komunikacije

Prekinitve serijske komunikacije se pojavijo, ko je treba poslati ali prejeti podatke. Ker je en bit prekinitve nastavljen tako za zastavice TI (Prekinitev prenosa) kot RI (Prekinitev sprejemnika), mora rutina Interrupt Service pregledati te zastavice, da bi ugotovila dejansko prekinitev.

Logična operacija obeh zastavic (RI in TI) povzroči to prekinitev in jo odpravi samo programska oprema. Tu se za nadzor uporablja poseben register SCON komunikacijo omogočanje ustreznih bitov v njem.

  • Konfigurirajte register IE za omogočanje serijskih prekinitev
  • Konfigurirajte register SCON za sprejemanje ali prenašanje
  • Za to prekinitev napišite podprogram z ustrezno funkcijo in v tej rutini počistite zastavice TI ali RI.
Programiranje serijskih prekinitev

Programiranje serijskih prekinitev

Tu gre za prekinitve v mikrokrmilniku 8051, tipe, njihovo strukturo in programiranje. Upam, da ste iz tega članka morda prejeli dobre informacije. Prav tako nam lahko pišete v spodnjem oddelku za komentarje za sprotno izvajanje projekti mikrokrmilnikov tako da vam lahko pomagamo za boljšo praktično izkušnjo.

Foto krediti