A legerősebb és legfontosabb funkciók a megszakítások 8051 mikrovezérlő . A valós idejű folyamatok többségében bizonyos feltételek megfelelő kezelése érdekében a tényleges feladatot egy ideig le kell állítani - a szükséges lépéseket meg kell tennie -, majd vissza kell térnie a fő feladathoz. Az ilyen típusú programok futtatásához megszakításokra van szükség. Teljesen eltér a közvélemény-kutatási módszertől, amelyben a processzornak minden eszközt egymás után ellenőriznie kell, és meg kell kérdeznie, hogy szükség van-e a szolgáltatásra, miközben több processzoridőt fogyaszt.
Megszakítja a 8051 mikrovezérlőt
A 8051 mikrovezérlő megszakításai kívánatosabbak az interfészes eszközök vagy a beépített eszközök rendszeres állapotellenőrzésének csökkentése érdekében. A megszakítás olyan esemény, amely ideiglenesen felfüggeszti a főprogramot, átadja a vezérlést egy speciális kódrésznek, végrehajtja az eseményhez kapcsolódó funkciót, és ott folytatja a fő programfolyamatot, ahol abbahagyta.
A megszakítások különböző típusúak, például szoftverek és hardverek, maszkolható és nem maszkolható, fix és vektoros megszakítások stb. Az Interrupt Service Routine (ISR) megszakítás bekövetkezésekor kerül a képbe, majd felszólítja a processzort, hogy tegye meg a megszakításhoz szükséges lépéseket, majd az ISR végrehajtása után a vezérlő beugrik a főprogramba.
Megszakítások típusai a 8051 mikrovezérlőben
A 8051 mikrovezérlő öt különböző eseményt képes felismerni, amelyek miatt a fő program megszakad a normál végrehajtástól. Ez az öt megszakításforrás 8051-ben:
- 0. időzítő túlcsordulás megszakítása - TF0
- 1. időzítő túlcsordulás megszakítása - TF1
- Külső hardver megszakítás - INT0
- Külső hardver megszakítás - INT1
- Soros kommunikációs megszakítás - RI / TI
Az időzítő és soros megszakításokat a mikrovezérlő belsőleg generálja, míg a külső megszakításokat további összekötő eszközök vagy kapcsolók, amelyek külsőleg kapcsolódnak a mikrovezérlőhöz. Ezek a külső megszakítások lehetnek élindítottak vagy szintindítóak. Megszakítás bekövetkezésekor a mikrovezérlő úgy hajtja végre a megszakítási szolgáltatás rutint, hogy a memória helye megegyezzen az azt lehetővé tevő megszakítással. A memória helyének megfelelő megszakítást az alábbi megszakítási vektor táblázat tartalmazza.
Megszakító vektor táblázat
A 8051 mikrovezérlő megszakító felépítése
A „RESET” állapotban az összes megszakítás letiltásra kerül, ezért ezeket a megszakításokat szoftverrel kell engedélyezni. Mind az öt megszakításnál, ha valaki vagy mindegyik aktiválva van, ez beállítja a megfelelő megszakítási jelzőket az ábrán látható módon. Mindezek a megszakítások bitenként beállíthatók vagy törölhetők valamilyen speciális függvényregiszterben, amely megszakítás engedélyezve van (IE), és ez viszont a prioritástól függ, amelyet az IP megszakítás prioritási regiszter hajt végre.
A 8051 mikrokontroller megszakító szerkezete
Interrupt Enable (IE) regisztráció: Ez a regisztráció felelős a megszakítás engedélyezéséért és letiltásáért. Ez egy kicsit címezhető regisztráció, amelyben az EA-t egyre kell állítani a megszakítások engedélyezéséhez. A regiszter megfelelő bitje lehetővé teszi bizonyos megszakításokat, például időzítőt, külső és soros bemeneteket. Az alábbi IE regiszterben az 1-es bit aktiválja a megszakítást, a 0 pedig a megszakítást.
Interrupt Enable (IE) regisztráció
Megszakítási prioritási regisztráció (IP): A megszakítások prioritási szintje megváltoztatható a megfelelő bit beállításával vagy törlésével is az Interrupt prioritás (IP) regiszterben, az ábra szerint. Ez lehetővé teszi az alacsony prioritású megszakítás megszakítását a magas prioritású megszakítással, de megtiltja a megszakítást egy másik alacsony prioritású megszakítással. Hasonlóképpen a nagy prioritású megszakítást sem lehet megszakítani. Ha ezek a megszakítási prioritások nincsenek beprogramozva, akkor a mikrovezérlő előre meghatározott módon hajt végre, sorrendje INT0, TF0, INT1, TF1 és SI.
IP regisztráció
TCON regisztráció: A fenti két regiszter mellett a TCON regiszter meghatározza a 8051 mikrovezérlő külső megszakításának típusát, az ábrán látható módon. A két külső megszakítást, függetlenül attól, hogy él vagy szint váltotta-e ki, a regiszter egy halmaz által határozza meg, vagy a benne lévő megfelelő bitekkel törli. És ez egy kicsit címezhető regisztráció is.
TCON regisztráció
Programozás megszakítása 8051-ben
1. Időzítő megszakítás programozás
A 0 és 1 időzítő megszakításokat a TF0 és TF1 időzítő regiszter bitek generálják. Ezek megszakítják programozás C kóddal magában foglalja:
- Az időzítő kiválasztása a TMOD regiszter és annak működési módjának konfigurálásával.
- A TLx és a THx kezdeti értékeinek kiválasztása és betöltése a megfelelő módokhoz.
- Az IE regiszterek és a megfelelő időzítő bitek engedélyezése benne.
- Az időzítő futási bitjének beállítása az időzítő elindításához.
- A szubrutin írása az időzítő számára a szükséges időre és az alprogram végén törölje a TRx időzítő értékét.
Időzítő megszakítás programozás
2. Külső hardver megszakító programozás
A 8051 mikrovezérlő két külső hardveres megszakítóból áll: az INT0-ból és az INT1-ből, amint azt korábban tárgyaltuk. Ezeket a 3.2 és a 3.3 érintkezőkön engedélyezik. Ezek lehetnek élindítottak vagy szintindítóak. A szintindításban a 3.2-es érintkező mélysége lehetővé teszi a megszakítást, míg a 3.2-es érintkezőnél - a magas és az alacsony közötti átmenet lehetővé teszi az él által kiváltott megszakítást. Ezt az élindítást vagy a szintindítást a TCON regiszter dönti el, amelyet fentebb tárgyaltunk. A programozási eljárás a 8051-ben az alábbiak:
- Engedélyezze a megfelelő külső megszakítás bitjét az IE regiszterben.
- Ha szintindító, csak írja be a megszakításnak megfelelő alprogramot, vagy engedélyezze az él által kiváltott megszakításnak megfelelő TCON regiszterbitet - legyen az INT0 vagy INT1.
Külső hardver megszakítás programozás
3. Soros kommunikáció megszakítás programozás
A soros kommunikációs megszakítások képbe kerülnek, amikor szükség van adatok küldésére vagy fogadására. Mivel mind a TI (Transfer Interrupt), mind az RI (Receiver Interrupt) zászlókhoz egy megszakítási bit van beállítva, a megszakítási szolgáltatás rutinnak meg kell vizsgálnia ezeket a jelzéseket a tényleges megszakítás ismerete érdekében.
Ennek a két zászlónak (RI és TI TI) a logikai VAGY művelete okozza ezt a megszakítást, és ezt egyedül a szoftver törli. Itt egy speciális SCON regisztert használnak a vezérléshez kommunikáció a megfelelő bitek engedélyezésével.
- Állítsa be az IE regisztrációt a soros megszakítás engedélyezéséhez
- Konfigurálja a SCON regisztert a fogadáshoz vagy az átvitelhez
- Írjon szubrutint ehhez a megszakításhoz megfelelő funkcióval, és törölje a TI vagy RI jelzőket ezzel a rutinnal.
Soros megszakítás programozás
Ez a 8051 mikrovezérlő megszakításairól, típusairól, felépítésükről és programozásukról szól. Remélem, jó információkat kaphatott erről a cikkről. Ezenkívül írhat nekünk az alábbi megjegyzés részben a valós idejű megvalósításhoz mikrokontroller projektek hogy segítsünk Önnek a jobb gyakorlati élmény érdekében.
Fotók
- Megszakítja a 8051 mikrovezérlőt mérnökgarázs
- Vektor megszakítása táblázat szerint 8051projects
- Megszakítja a 8051 mikrovezérlő szerkezetét kefe
- Interrupt Enable (IE) regisztráció elektronok
- IP regisztráció by ma
- TCON Regisztráljon ma