Prekidi u mikrokontroleru 8051 i struktura i programiranje

Isprobajte Naš Instrument Za Uklanjanje Problema





Najmoćnija i najvažnija obilježja su prekidi u 8051 mikrokontroler . U većini procesa u stvarnom vremenu, da bi se pravilno obrađivali određeni uvjeti, stvarni zadatak mora se zaustaviti na neko vrijeme - poduzima potrebne radnje - a zatim se mora vratiti glavnom zadatku. Za izvršavanje takve vrste programa neophodni su prekidi. U potpunosti se razlikuje od metode ankete u kojoj procesor mora uzastopno provjeravati svaki uređaj i pitati je li usluga potrebna ili ne, dok troši više vremena procesora.

Prekidi u mikrokontroleru 8051

Prekidi u mikrokontroleru 8051



Prekidi u mikrokontroleru 8051 poželjniji su kako bi se smanjila redovita provjera statusa međusobno povezanih uređaja ili ugrađenih uređaja. Prekid je događaj koji privremeno suspendira glavni program, prosljeđuje kontrolu posebnom odjeljku koda, izvršava funkciju povezanu s događajem i nastavlja glavni tok programa tamo gdje je stao.


Prekidi su različitih vrsta kao što su softver i hardver, maskibilni i nemaskirani, fiksni i vektorski prekidi itd. Rutinska usluga prekida (ISR) pojavljuje se u slici kad se dogodi prekid, a zatim govori procesoru da poduzme odgovarajuće radnje za prekid, a nakon izvršavanja ISR-a kontroler uskače u glavni program.



Vrste prekida u mikrokontroleru 8051

Mikrokontroler 8051 može prepoznati pet različitih događaja zbog kojih se glavni program prekida zbog normalnog izvršavanja. Ovih pet izvora prekida 8051 .:

  1. Prekid preljeva tajmera 0 - TF0
  2. Prekid preljeva timera 1 - TF1
  3. Vanjski hardverski prekid- INT0
  4. Vanjski hardverski prekidi- INT1
  5. Prekid serijske komunikacije- RI / TI

Tajmer i serijske prekida interno generira mikrokontroler, dok vanjske prekida generira dodatni uređaji za povezivanje ili sklopke koje su izvana povezane s mikrokontrolerom. Ovi vanjski prekidi mogu se pokretati rubno ili na razini. Kad se dogodi prekid, mikrokontroler izvršava rutinu usluge prekida tako da mjesto memorije odgovara prekidu koji ga omogućuje. Prekid koji odgovara mjestu memorije dan je u donjoj tablici vektora prekida.

Tablica vektora prekida

Tablica vektora prekida

Struktura prekida 8051 mikro kontrolera

Nakon 'RESET' svi prekidi postaju onemogućeni, te ih stoga mora omogućiti softver. U svih ovih pet prekida, ako je netko ili svi aktivirani, ovo postavlja odgovarajuće zastavice prekida kao što je prikazano na slici. Svi se ti prekidi mogu postaviti ili obrisati po bitu u nekom posebnom registru funkcija koji je Omogućen prekid (IE), a to zauzvrat ovisi o prioritetu koji se izvršava IP prioritetom prekida.


Struktura prekida mikrokontrolera 8051

Struktura prekida mikrokontrolera 8051

Registrirajte se za omogućavanje prekida (IE): Ovaj je registar odgovoran za omogućavanje i onemogućavanje prekida. To je malo adresirani registar u kojem EA mora biti postavljen na jedan radi omogućavanja prekida. Odgovarajući bit u ovom registru omogućuje određene prekide poput tajmera, vanjskih i serijskih ulaza. U donjem registru IE, bit koji odgovara 1 aktivira prekid, a 0 onemogućava prekid.

Registar za omogućavanje prekida (IE)

Registar za omogućavanje prekida (IE)

Registar prioriteta prekida (IP): Također je moguće promijeniti razinu prioriteta prekida postavljanjem ili brisanjem odgovarajućeg bita u registru prekida prioriteta (IP) kao što je prikazano na slici. To omogućuje prekidu niskog prioriteta da prekine prekid visokog prioriteta, ali zabranjuje prekid drugim prekidom niskog prioriteta. Slično tome, prekid visokog prioriteta ne može se prekinuti. Ako ovi prioriteti prekida nisu programirani, mikrokontroler se izvršava na unaprijed definirani način i njegov je redoslijed INT0, TF0, INT1, TF1 i SI.

IP registar

IP registar

TCON registracija: Uz gornja dva registra, registar TCON određuje vrstu vanjskog prekida mikrokontrolera 8051, kao što je prikazano na slici. Dva vanjska prekida, bilo okidački rub ili nivo, određuju ovim registrom skup ili ih brišu odgovarajući bitovi u njemu. I to je također malo adresiran registar.

TCON registar

TCON registar

Programiranje prekida 8051

1.Programiranje vremenskih prekida

Prekidi odbrojavanja 0 i odbrojavanja 1 generiraju se bitovima TF0 i TF1 registra vremenskog odredišta. Ovi prekidi programiranje pomoću C koda uključuje:

  • Odabir odbrojavanja konfiguriranjem registra TMOD i njegovog načina rada.
  • Odabir i učitavanje početnih vrijednosti TLx i THx za odgovarajuće načine.
  • Omogućavanje IE registara i pripadajući bit vremena u njemu.
  • Postavljanje bita za pokretanje tajmera za pokretanje tajmera.
  • Zapisivanje potprograma za tajmer za potrebno vrijeme i brisanje vrijednosti odbrojavanja TRx na kraju potprograma.
Programiranje prekida timera

Programiranje prekida timera

2. Programiranje vanjskih hardverskih prekida

8051 mikrokontroleri sastoje se od dva vanjska hardverska prekida: INT0 i INT1 kao što je prethodno rečeno. One su omogućene na pinu 3.2 i pinu 3.3. To mogu biti rubovi ili nivoi. U okidanju u razini, donji na pin 3.2 omogućuje prekid, dok na pin 3.2 - prijelaz od visokog prema niskom omogućuje prekid na rubu. O ovom okidanju ruba ili okidanju razine odlučuje registar TCON o kojem je već bilo riječi. The postupak programiranja u 8051 je kako slijedi:

  • Omogućite odgovarajući bit vanjskog prekida u registru IE.
  • Ako se aktivira na razini, samo napišite potprogram koji odgovara ovom prekidu, ili inače omogućite bit registra TCON koji odgovara prekidu pokrenutom rubom - bez obzira radi li se o INT0 ili INT1.
Programiranje vanjskih hardverskih prekida

Programiranje vanjskih hardverskih prekida

3. Programiranje prekida serijske komunikacije

Prekidi serijske komunikacije pojavljuju se kad postoji potreba za slanjem ili primanjem podataka. Budući da je postavljen jedan bit prekida i za zastavice TI (prekid prijenosa) i RI (prekid prijamnika), rutina usluge prekida mora ispitati ove zastavice kako bi znala stvarni prekid.

Logična ILI operacija ove dvije zastavice (RI i TI) uzrokuje ovaj prekid i uklanja ga samo softver. Ovdje se za upravljanje koristi poseban registar SCON komunikacija operacija omogućavanjem odgovarajućih bitova u njemu.

  • Konfigurirajte IE registar za omogućavanje serijskih prekida
  • Konfigurirajte SCON registar za operaciju primanja ili prijenosa
  • Napišite potprogram za ovaj prekid s odgovarajućom funkcijom i očistite zastavice TI ili RI u ovoj rutini.
Programiranje serijskih prekida

Programiranje serijskih prekida

Ovdje se radi o prekidima u mikrokontroleru 8051, tipovima, njihovoj strukturi i programiranju. Nadam se da ste iz ovog članka možda dobili dobre informacije. Također, možete nam pisati u odjeljku za komentare u nastavku za implementaciju projekti mikrokontrolera kako bismo vam mogli pomoći u boljem praktičnom iskustvu.

Foto bodovi