Keskeyttää 8051-mikrokontrollerin ja sen rakenteen ja ohjelmoinnin

Kokeile Instrumenttia Ongelmien Poistamiseksi





Tehokkaimmat ja tärkeimmät ominaisuudet ovat keskeytyksiä 8051-mikrokontrolleri . Useimmissa reaaliaikaisissa prosesseissa, jotta tietyt olosuhteet voidaan hoitaa kunnolla, varsinainen tehtävä on pysäytettävä jonkin aikaa - se vie tarvittavat toimet - ja palattava sitten päätehtävään. Tällaisen tyyppisten ohjelmien suorittamiseen tarvitaan keskeytyksiä. Se eroaa täysin kyselymenetelmästä, jossa prosessorin on tarkistettava jokainen laite peräkkäin ja kysyttävä, tarvitaanko palvelua vai ei, samalla kun kuluttaa enemmän prosessoriaikaa.

Keskeyttää 8051-mikrokontrollerin

Keskeyttää 8051-mikrokontrollerin



Keskeytykset 8051-mikrokontrollerissa ovat toivottavampia vähentämään rajapintalaitteiden tai sisäänrakennettujen laitteiden säännöllistä tilan tarkistusta. Keskeytys on tapahtuma, joka keskeyttää pääohjelman väliaikaisesti, siirtää ohjauksen erityiseen koodiosioon, suorittaa tapahtumiin liittyvän toiminnon ja jatkaa pääohjelmavirtaa siitä, mihin se oli päättynyt.


Keskeytykset ovat erityyppisiä, kuten ohjelmistot ja laitteistot, peitettävät ja peittämättömät, kiinteät ja vektorikeskeytykset ja niin edelleen. Keskeytyspalvelurutiini (ISR) tulee kuvaan keskeytymisen tapahtuessa ja käskee prosessoria suorittamaan tarvittavat toimet keskeytystä varten, ja ISR-suorituksen jälkeen ohjain hyppää pääohjelmaan.



Keskeytystyypit 8051-mikrokontrollerissa

8051-mikrokontrolleri tunnistaa viisi erilaista tapahtumaa, jotka aiheuttavat pääohjelman keskeytymisen normaalista suorituksesta. Nämä viisi keskeytyksen lähdettä vuonna 8051 ovat:

  1. Ajastimen 0 ylivuotokatkos - TF0
  2. Ajastimen 1 ylivuotokatkos - TF1
  3. Ulkoisen laitteiston keskeytys - INT0
  4. Ulkoisen laitteiston keskeytys - INT1
  5. Sarjayhteyden keskeytys - RI / TI

Ajastin- ja sarjakatkokset generoidaan sisäisesti mikro-ohjaimella, kun taas ulkoiset keskeytykset syntyvät liitäntälaitteet tai kytkimet, jotka on kytketty ulkoisesti mikrokontrolleriin. Nämä ulkoiset keskeytykset voivat olla reuna- tai tasokäynnistettyjä. Kun tapahtuu keskeytys, mikro-ohjain suorittaa keskeytyspalvelurutiinin siten, että muistipaikka vastaa sitä mahdollistavaa keskeytystä. Muistipaikkaa vastaava keskeytys on annettu alla olevassa keskeytysvektoritaulukossa.

Keskeytä vektoritaulukko

Keskeytä vektoritaulukko

8051-mikro-ohjaimen keskeytysrakenne

RESET-tilassa kaikki keskeytykset poistetaan käytöstä, ja siksi kaikkien näiden keskeytysten on oltava käytössä ohjelmistossa. Kaikissa näissä viidessä keskeytyksessä, jos joku tai kaikki aktivoidaan, tämä asettaa vastaavat keskeytysliput kuvassa esitetyllä tavalla. Kaikki nämä keskeytykset voidaan asettaa tai tyhjentää bittiä jossakin erityisessä toimintorekisterissä, joka on keskeytys käytössä (IE), ja tämä puolestaan ​​riippuu prioriteetista, jonka IP-keskeytysprioriteettirekisteri suorittaa.


8051-mikrokontrollerin keskeytysrakenne

8051-mikrokontrollerin keskeytysrakenne

Keskeytä käyttöön (IE) -rekisteri: Tämä rekisteri on vastuussa keskeytyksen sallimisesta ja käytöstä poistamisesta. Se on vähän osoitettava rekisteri, jossa EA on asetettava yhdeksi keskeytysten mahdollistamiseksi. Tämän rekisterin vastaava bitti mahdollistaa tietyn keskeytyksen, kuten ajastimen, ulkoiset ja sarjaliitännät. Alla olevassa IE-rekisterissä yhtä vastaava bitti aktivoi keskeytyksen ja 0 poistaa keskeytyksen käytöstä.

Keskeytä käyttöön (IE) -rekisteri

Keskeytä käyttöön (IE) -rekisteri

Keskeytysprioriteettirekisteri (IP): Keskeytysten prioriteettitasoja on myös mahdollista muuttaa asettamalla tai tyhjentämällä vastaava bitti Keskeytysprioriteetti (IP) -rekisterissä kuvan osoittamalla tavalla. Tämä antaa matalan prioriteetin keskeytykselle keskeyttää korkean prioriteetin keskeytyksen, mutta estää keskeytyksen uudella matalan prioriteetin keskeytyksellä. Vastaavasti korkean prioriteetin keskeytystä ei voida keskeyttää. Jos näitä keskeytysprioriteetteja ei ole ohjelmoitu, mikrokontrolleri suorittaa ennalta määrätyn tavan ja sen järjestys on INT0, TF0, INT1, TF1 ja SI.

IP-rekisteri

IP-rekisteri

TCON-rekisteri: Edellä mainittujen kahden rekisterin lisäksi TCON-rekisteri määrittelee 8051-mikrokontrollerin ulkoisen keskeytyksen tyypin, kuten kuvassa on esitetty. Kaksi ulkoista keskeytystä, olivatpa ne reunan tai tason liipaisuja, määrittelevät tämä rekisteri joukolla tai tyhjentävät sen asianmukaiset bitit. Ja se on myös vähän osoitettavissa oleva rekisteri.

TCON-rekisteri

TCON-rekisteri

Keskeytä ohjelmointi vuonna 8051

1.Ajastuksen keskeytysohjelmointi

Ajastin 0 ja ajastin 1 keskeytykset generoidaan ajastinrekisteribiteillä TF0 ja TF1. Nämä keskeyttävät ohjelmointi C-koodilla sisältää:

  • Ajastimen valinta määrittämällä TMOD-rekisteri ja sen toimintatila.
  • TLx: n ja THx: n alkuarvojen valitseminen ja lataaminen sopiville tiloille.
  • Otetaan käyttöön IE-rekisterit ja vastaava ajastinbitti siinä.
  • Ajastimen käynnistysbitin asettaminen ajastimen käynnistämiseksi.
  • Ajastimen aliohjelman kirjoittaminen vaaditulle ajalle ja tyhjennä ajastimen arvo TRx aliohjelman lopussa.
Ajastimen keskeytysohjelmointi

Ajastimen keskeytysohjelmointi

2.Ulkoinen laitteiston keskeytysohjelmointi

8051-mikrokontrollerit koostuvat kahdesta ulkoisesta laitteiston keskeytyksestä: INT0 ja INT1, kuten aiemmin keskusteltiin. Nämä ovat käytössä nastoissa 3.2 ja 3.3. Nämä voivat olla reuna- tai tason laukaisuja. Tason liipaisussa nastan 3.2 matala mahdollistaa keskeytyksen, kun taas nastassa 3.2 - ylemmästä matalaan siirtyminen mahdollistaa reunan laukaiseman keskeytyksen. Tämän reunan laukaisun tai tason laukaisun päättää TCON-rekisteri, josta on keskusteltu edellä. ohjelmointimenettely 8051: ssä on seuraava:

  • Ota vastaava ulkoinen keskeytysbitti käyttöön IE-rekisterissä.
  • Jos se on tason liipaisu, kirjoita vain tälle keskeytykselle sopiva aliohjelma tai ota muuten käyttöön reunan laukaisemaa keskeytystä vastaava TCON-rekisteribitti - olipa kyseessä sitten INT0 tai INT1.
Ulkoisen laitteiston keskeytysohjelmointi

Ulkoisen laitteiston keskeytysohjelmointi

3. sarjaliikenteen keskeytysohjelmointi

Sarjaliikenteen keskeytykset tulevat kuvaan, kun on tarpeen lähettää tai vastaanottaa tietoja. Koska yksi keskeytysbitti on asetettu sekä TI (siirron keskeytys) - että RI (vastaanottimen keskeytys) -lippuille, keskeytyspalvelurutiinin on tutkittava nämä liput varsinaisen keskeytyksen tuntemiseksi.

Näiden kahden lipun (RI ja TI TI) looginen TAI-operaatio aiheuttaa tämän keskeytyksen, ja ohjelmisto tyhjentää sen yksin. Tässä ohjauksessa käytetään erityistä rekisteriä SCON viestintä toiminto ottamalla käyttöön vastaavat bitit siinä.

  • Määritä IE-rekisteri sarjakatkaisun mahdollistamiseksi
  • Määritä SCON-rekisteri vastaanottoa tai siirtoa varten
  • Kirjoita alirutiini tälle keskeytykselle sopivalla toiminnolla ja tyhjennä TI- tai RI-liput tällä rutiinilla.
Sarjakeskeytysohjelmointi

Sarjakeskeytysohjelmointi

Kyse on 8051-mikrokontrollerin keskeytyksistä, tyypeistä, niiden rakenteesta ja ohjelmoinnista. Toivottavasti olet saattanut saada hyviä tietoja tästä artikkelista. Voit myös kirjoittaa meille alla olevaan kommenttiosioon sovelluksen reaaliaikaisen toteutuksen mikro-ohjainprojektit jotta voimme auttaa sinua saamaan paremman käytännön kokemuksen.

Valokuvahyvitykset