De kraftigste og viktigste funksjonene er avbrudd i 8051 mikrokontroller . I de fleste sanntidsprosesser, for å håndtere visse forhold riktig, må den faktiske oppgaven være stanset i noen tid - den tar nødvendige tiltak - og må deretter gå tilbake til hovedoppgaven. For å utføre en slik type programmer, er avbrudd nødvendig. Det skiller seg helt fra avstemningsmetoden der prosessoren må sjekke hver enhet i rekkefølge og spørre om tjenesten er nødvendig eller ikke mens den bruker mer prosessortid.
Avbryter i 8051 mikrokontroller
Avbrudd i 8051 mikrokontroller er mer ønskelig for å redusere den vanlige statuskontrollen av grensesnittene eller innebygde enheter. Interrupt er en hendelse som midlertidig avbryter hovedprogrammet, overfører kontrollen til en spesiell kodeseksjon, utfører den hendelsesrelaterte funksjonen og gjenopptar hovedprogramflyten der den slapp.
Avbrudd er av forskjellige typer som programvare og maskinvare, maskerbare og ikke-maskerbare, faste og vektoravbrudd, og så videre. Interrupt Service Routine (ISR) kommer inn i bildet når avbrudd oppstår, og ber prosessoren om å ta passende tiltak for avbruddet, og etter ISR-utførelse hopper kontrolleren inn i hovedprogrammet.
Typer av avbrudd i 8051 mikrokontroller
8051-mikrokontrolleren kan gjenkjenne fem forskjellige hendelser som får hovedprogrammet til å avbryte fra den normale kjøringen. Disse fem kildene til avbrudd i 8051 er:
- Timer 0 overløpsavbrudd- TF0
- Timer 1 overløpsavbrudd - TF1
- Ekstern maskinvareavbrudd- INT0
- Ekstern maskinvareavbrudd- INT1
- Seriell kommunikasjonsavbrudd - RI / TI
Timer- og seriellavbrudd genereres internt av mikrokontrolleren, mens de eksterne avbruddene genereres av ytterligere grensesnitt enheter eller brytere som er eksternt koblet til mikrokontrolleren. Disse eksterne avbruddene kan kantutløses eller nivåutløses. Når det oppstår et avbrudd, utfører mikrokontrolleren avbruddsrutiner slik at minneplasseringen tilsvarer avbruddet som muliggjør det. Avbruddet som tilsvarer minneplasseringen er gitt i avbruddsvektortabellen nedenfor.
Avbryt vektortabellen
Interrupt Structure of 8051 Micro controller
Ved 'RESET' blir alle avbrudd deaktivert, og derfor må alle disse avbruddene være aktivert av en programvare. I alle disse fem avbruddene, hvis noen eller alle er aktivert, setter dette de tilsvarende avbruddsflaggene som vist i figuren. Alle disse avbruddene kan settes eller tømmes bitvis i et spesialfunksjonsregister som er Interrupt Enabled (IE), og dette avhenger igjen av prioriteten, som utføres av IP-avbruddsprioritetsregisteret.
Avbryt strukturen til 8051 mikrokontroller
Interrupt Enable (IE) Register: Dette registeret er ansvarlig for å aktivere og deaktivere avbruddet. Det er et litt adresserbart register der EA må være satt til ett for å muliggjøre avbrudd. Den tilsvarende biten i dette registeret muliggjør spesiell avbrudd som timer, eksterne og serielle innganger. I IE-registeret nedenfor aktiverer bit tilsvarende 1 avbruddet og 0 deaktiverer avbruddet.
Interrupt Enable (IE) Register
Interrupt Priority Register (IP): Det er også mulig å endre prioritetsnivåene for avbruddene ved å sette eller fjerne den tilsvarende biten i Interrupt prioritetsregistret (IP) som vist i figuren. Dette tillater avbrudd med lav prioritet å avbryte avbrudd med høy prioritet, men forbyr avbrudd av en annen avbrudd med lav prioritet. Tilsvarende kan ikke høyprioritetsavbruddet avbrytes. Hvis disse avbruddsprioritetene ikke er programmert, utfører mikrokontrolleren på forhåndsdefinert måte og dens rekkefølge er INT0, TF0, INT1, TF1 og SI.
IP-register
TCON-register: I tillegg til de ovennevnte to registerene, spesifiserer TCON-registeret typen ekstern forstyrrelse til 8051-mikrokontrolleren, som vist i figuren. De to eksterne avbruddene, enten kant eller nivå utløst, spesifiserer av dette registeret av et sett, eller fjernes av passende biter i det. Og det er også et lite adresserbart register.
TCON-register
Avbryt programmering i 8051
1.Timer Interrupt Programmering
Timer 0 og Timer 1-avbrudd genereres av tidtakerregistreringsbitene TF0 og TF1. Disse avbryter programmering etter C-kode involverer:
- Velge tidtakeren ved å konfigurere TMOD-registeret og dets driftsmåte.
- Velge og laste inn startverdiene for TLx og THx for passende modus.
- Aktivering av IE-registerene og den tilsvarende tidtakerbiten i den.
- Stille inn tidtakeren for å starte timeren.
- Å skrive underrutinen for tidtakeren for den tid som kreves, og fjerne tidverdien TRx på slutten av underrutinen.
Timer Interrupt Programming
2. ekstern maskinvareavbruddsprogrammering
8051 mikrokontrollere består av to eksterne maskinvareavbrudd: INT0 og INT1 som diskutert tidligere. Disse er aktivert på pin 3.2 og pin 3.3. Disse kan kantutløses eller nivåutløses. I nivåutløsing muliggjør lav ved pin 3.2 avbrudd, mens ved pin 3.2 - høy til lav overgang muliggjør kantutløst avbrytelse. Denne kantutløseren eller nivåutløsningen avgjøres av TCON-registeret som er diskutert ovenfor. De programmeringsprosedyre i 8051 er som følgende:
- Aktiver den tilsvarende biten av ekstern avbrudd i IE-registeret.
- Hvis det er nivåutløsende, er det bare å skrive underrutinen som er passende for dette avbruddet, ellers aktiver TCON-registerbiten som tilsvarer den kantutløste avbruddet - enten det er INT0 eller INT1.
Ekstern maskinvareavbruddsprogrammering
3. seriell kommunikasjon avbryte programmering
Serielle kommunikasjonsavbrudd kommer inn i bildet når det er behov for å sende eller motta data. Siden en avbrytningsbit er satt for både TI (Transfer Interrupt) og RI (Receiver Interrupt) -flagg, må Interrupt Service-rutinen undersøke disse flaggene for å kjenne den faktiske avbruddet.
Den logiske ELLER-operasjonen av disse to flaggene (RI og TI) forårsaker denne forstyrrelsen, og den blir fjernet av programvaren alene. Her brukes et spesialregister SCON for styring kommunikasjon ved å aktivere de tilsvarende bitene i den.
- Konfigurer IE-registeret for aktivering av seriell avbrudd
- Konfigurer SCON-registeret for mottak eller overføring
- Skriv underrutine for dette avbruddet med passende funksjon og fjern TI- eller RI-flagg med i denne rutinen.
Seriell avbruddsprogrammering
Dette handler om avbrudd i 8051 mikrokontroller, typer, deres struktur og programmering. Håper du kanskje har mottatt god informasjon fra denne artikkelen. Du kan også skrive til oss i kommentarfeltet nedenfor for sanntidsimplementering av mikrokontroller-prosjekter slik at vi kan hjelpe deg for en bedre praktisk opplevelse.
Fotokreditt
- Avbryter i 8051 mikrokontroller av ingeniørgarasje
- Avbryt vektor Tabell av 8051prosjekter
- Avbryt strukturen til 8051 mikrokontroller av børste
- Interrupt Enable (IE) Registrer innen elektroner
- IP-register av kretsdag
- TCON Registrer deg innen kretsdag