Professional Documents
Culture Documents
Haurdic Benjamin - PDF
Haurdic Benjamin - PDF
SAŽETAK:
1. UVOD
Mikrokontroler predstavlja mali računar koji je u obliku čipa, koji se koristi za kontrolu integrisanih
kola, sklopova, uređaja itd. To je dalo poticaja da se izvrši realizaciju digitalnog sistema sa LED
indikatorima, LCD-om i komunikaciju s računarom. Program napravljen na računaru se uz pomoć
adekvatnog softvera i 25-to pinskog kabla prenosi u nas razvojni sistem. Tu ga prihvata programator
koji puni mikrokontroler zahtjevanim programom. Po završetku programiranja na monitoru računara
dobijamo informaciju da je zahtjevano učitavanje programa u mikrokontroleru završeno i tada
možemo početi sa radom. Korisnik od sistema može da dobija informacije o njegovom radu na tri
nacina: preko LED indikatora koji se pali onako kako je to korisnik unaprijed programski definisao u
odredjenom modu rada, preko LCD-a na kome se ispisuje tekst koji također korisnik prethodno
definiše u programu i komunikacija sa računarom gdje možemo posmatrati brojač na monitoru
računara.
2. MIKROPROCESORI
Mikroprocesori su elektronski sklopovi unutar računara, to jest integrirani krugovi koji obnašaju
funkcije centralne jedinice, oni predstavljaju mozak svakog računara. Koriste se u svim digitalnim
uređajima, kalkulatorima, kamerama, automobilima, itd. Podaci u mikroprocesoru su pohranjeni u
vanjskim memorijama određenim lokacijama.Svaka lokacija ima svoju adresu. Zbog toga je potrebno
znati adresu nekog podatka želi li se on dobaviti u mikroprocesor. To je dužnost programskog brojila,
ono usvakom trenu mora znati adresu podatka koji se želi dobaviti i mora pokazivati upravo adresu
tog podatka [1].
CPU čine slijedeći blokovi: ALU, PC, SP, određeni broj radnih registara, kola za taktovanje, kola za
sinhronizaciju i kola koja se koriste za prihvatanje zahtjeva za prekid. Da bi se kompletirao
mikroračunarski sistem pored mikroprocesora potrebno je dodati ROM, RAM memorijske dekodere,
oscilator, određeni broj ulazno-izlaznih uređaja, kakvi su paralelni i serijski portovi za podatke,
A/D i D/A konvertori i drugo. Pored ulazno-izlaznih uređaja specijalne namjene, često se javlja i
potreba da se ugrade i kontroleri prekida, DMA kontroleri, kao i brojači, čiji je zadatak da oslobode
CPU od obavljanja U/I aktivnosti [2].
3. MIKROKONTROLERI
Mikrokontroler u suštini predstavlja računar, malih je dimenzija, koji u sebi sadrži sve elemente kao i
veliki „Desktop“ računari (CPU, ALU, PC, SP, Registre, RAM, ROM i dr.), slika 1. Kao i
mikroprocesor, i mikrokontroler je uređaj opšte namjene, koji pribavlja podatke, obavlja ograničenu
obradu nad tim podacima, i upravlja svojim okruženjem na osnovu rezultata izračunavanja.
Mikrokontroler u toku svog rada koristi fiksni program koji je smešten u ROM-u i koji se ne
mijenja u toku životnog ciklusa sistema [5].
Mikrokontroler koristi ograničen skup jedno ili dvo bajtnih instrukcija koje se koriste za
pribavljanje programa i podataka iz interne memorije. Veliki broj ulazno-izlaznih pinova
mikrokontrolera se može koristiti za više namjena što se softverski definise.
5. MIKROKONTROLER PIC16F877A
Kao što smo već naglasili mikrokontroler PIC16F877A posjeduje tipčnu RISC arhitekturu.
Arhitektura posjeduje odvojene magistrale za podatke i programski kod. Obim podataka je 8-bitni,
dok je programski kod 14-bitni. Moguće je protočno izvršenje. Sve insrukcije su istog obima (osim
instrukcija grananja) i izvšavaju se za četiri taktna intervala. Dakle, ako koristimo oscilator 12 npr. od
20 MHz dobijamo da ciklus instrukcuije traje 200 ns [3].
Jezgro mikrokontrolera PIC16F887A pakuje se u 40-pinsko DIP pakovanje ili u 44-pinska kućišta
QFP i PLCC tipa. Na slici 1.6 prikazan je raspored nožica kod 40-to pinskog DIP pakovanja:
Napajanje od +5V se dovodi na pinove VDD (11 i 32) a masa na pinove VSS (12 i 31). Nožice OSC1
i OSC2 (pinovi 13 i 14) služe za priključivanje oscilatorskih komponeti (RC-kolo ili kvarc). Pin 1
(MCLR/VPP) ima dvostruku ulogu. Standardno se koristi kao Reset, a u procesu programiranja kao
pin za dovođenje visokog napona (13V). Ostalih 33 pina prestavljaju U/I linije. One su grupisane u
pet portova (PORTA-PORTE) i svaki od njih možemo konfigurisati kao ulazni ili izlazni. Osim opšte
namjene večina pinova ima i specifičnu namjenu koju dobija u slučaju korišćenja nekih specijalnih
periferija mikrokontrolera (brojača, ADC, serijske komunikacije) [7].
Sve veća primjena LED displeja je rezultovala pojavom različitih uređaja koji se na njih uključuju,
kao što su satovi, mobiteli, itd. Sedmo-segmentni displej je najosnovniji i najviše korišteni
elektronički uređaj za prikaz brojeva od 0 do 9. Najčešći oblik sedmo-segmentnih displeja ima niz od
osam LED dioda koje su raspoređene u obliku kvadrata, koji služi za detaljni vidljiv prikaza brojeva
ili određenih slova [4].
Svaka linija za prenos podataka ima prijemnik za detekciju greške koja se pojavi ako se linije
prenosa podataka nađu na istom naponu. Mikrokontroler PIC16F877 podržava tehniku rada sa
prekidima (interrupts) i može da opsluži ukupno 14 izvora prekida, što internih, što eksternih.
Napomenuti ćemo da svaki prekid ne posjeduje sopstveni vektor broj. Na slici 5, prikaza je strujna
shema mikrokontrolera PIC16F887A sa sedmo-segmentnim displejom.
Pored bita za dozvolu rada svih prekida General Interrupt Enable (GIE) i bita za dozvolu rada prekida
generisanih od strane periferija (PEIE), ovom registru pripadaju i markeri prekida (interrupt flags) i
bitovi koji dozvoljavaju prekid koji izaziva Tajmer0 (TMR0), spoljašnji prekid na pinu RB0/INT i
prekida porta B na promjenu stanja. Osim ova tri osnovna prekida, postoji još 11 periferijskih prekida.
Bitovi za njihovu dozvolu nalaze se u registrima PIE1 i PIE2.
8. LITERATURA
[1] Dejan L.: Serijska komunikacija računara i usart modula mikrokontrolera PIC16f877a,
Elektronski fakultet Niš, 2001
[2] Nenad R.: Povezivanje mikrokontrolera at89s8253 sa interfejsom, Elektronski fakultet Niš, 2002
[3] Mile K.: Arhitekture i programiranje računarskih sistema, Elektronski fakultet Niš, 2002
[4] Dejan L.: Serijska komunikacija računara i USART modula mikrokontrolera PIC16F877A,
Elektronski fakultet Niš, 2002
[5] Nebojsa M.: PIC mikrokontroleri, Niš, 2001
[6] Vojo M.: PC interfejsi, Niš, 2002
[7] Vojo M.: Programiranje mikrokontrolera PicBASIC-om, Niš, 2002