Uvodni pojmovi, mikrokontroleri i sklopovlje
Mikrokontroleri su u osnovi računala u malom. Mikrokontroler (engl. microcontroller) je uređaj iz područja digitalne elektronike čiju je funkciju moguće programirati, tj. ona nije unaprijed određena.
Projektiranje sustava temeljenih na mikrokontrolerima može se podijeliti u dva osnovna dijela:
- projektiranje elektroničkog sklopovlja
- pisanje programa za izvođenje na mikrokontroleru
Za početak ćemo nešto govoriti o samim mikrokontrolerima i najnužnijem perifernom elektroničkom sklopovlju. Dodatne periferije biti će obrađene kasnije u poglavlju koje govori o perifernim uređajima.
Gornja slika prikazuje tipičan izgled mikrokontrolera. Na prvi pogled nije moguće razlikovati mikrokontroler od bilo kojeg drugog integriranog kruga korištenog u digitalnoj elektronici.
Za početak mikrokontroler možete zamisliti kao crnu kutiju s odeđenim brojem izvoda (engl. pin).
Na slici desno možete vidjeti prikaz jednog kontrolera (PIC18F442). Svaki integrirani krug ima na sebi izvode. Ovaj mikrokontroler ima 40 izvoda za spajanje sa vanjskim elektroničkim komponentama. Važno je znati da se izvodi svih digitalnih sklopova numeriraju počevši od gornjeg lijevog kuta kućišta komponente u smjeru obrnutom od kazaljke na satu. Gornji lijevi kut moguće je odrediti pomoću polukručne oznake na kućištu kako je vidljivo na slici desno. Osim toga, neki proizvođači kod izvoda koji je numeriran brojem jedan stavljaju malo kružno udubljenje u kućištu. |
Većina izvoda mikrokontrolera namjenjena je za korištenje od strane krajnjeg korisnika. Svaki pojedini izvod mikrokontrolera ima od proizvođača mikrokontrolera definirano ime. Kao tipični primjer možemo pogledati imena izvoda mikrokotrolera PIC18F452 (slika lijevo). Neki izvodi mikrokontrolera su namijenjeni korištenju kao ulazno-izlazni izvodi koje krajnji korisnik može koristiti, dok su drugi namijenjeni dovođenju mikrokontrolera u normalno aktivno stanje rada. Izvodi za korisničke potrebe grupiraju se u grupe od po (najčešće) osam izvoda i takve grupe nazivamo portovima. Nazivlje pojednih izvoda proizlazi upravo iz takve konvencije. Naime, naziv izvoda RA0 je skraćenica za nulti izvod na portu naziva PORT A. Na isti način su dodjeljeni nazivi svim izvodima mikrokontrolera. |
Za jednostavniji pregled izvoda mikrokontorolera pogledajte donju tablicu.
Port A se sastoji od šest izvoda, port E od 3 izvoda, dok se portovi B, C i D sastoje od po osam izvoda. Kod ovog mikrokontrolera ukupno su trideset i tri izvoda dostupna za korisničke potrebe. Izvode mikrokontrolera možemo podijeliti prema nekoliko kriterija u nekoliko kategorija. Prije svega izvodi mikrokontrolera mogu biti ulazni ili izlazni. To znači da svaki izvod može služiti kao generator nekog digitalnog stanja (izlazni režim rada) ili kao izvod za očitanje vanjskog narinutog stanja (ulazni režim rada). Osim toga izvodi mikrokontrolera mogu se podijeliti na analogne i digitalne izvode. Naime, određeni izvodi mikrokontrolera mogu raditi isključivo u digitalnom režimu rada (prepoznajući samo visoko i nisko logičko stanje) dok drugi izvodi mogu biti podešeni da očitavaju analognu vrijednost koja je narinuta na njih. Bitno je napomenuti da u analognom režimu rada izvodi mogu biti samo ulazni (mogu služiti samo kao “voltmetar”, a ne kao izvor podesivog napona). Isto tako, bitno je shvatiti da izvodi koji mogu biti analogni mogu biti i digitalni, nasuprot tome, svi digitalni izvodi nemogu biti analogni. Izvodi s posebnim funkcijama mikrokontrolera mogu biti konfigurirani na vise načina, međutim mi ćemo iskoristiti najjednostavniju konfiguraciju. |
Izvod MCLR služi za postavljanje mikrokontrolera u početni režim rada te mora biti spojen na napon napajanja mikrokontrolera preko otpornika (Rrst) vrijednosti 4,7 kOhm. Nadalje, izvodi Vdd i Vss služe za napajanje mikrokontrolera. Na izvod Vdd spaja se pozitini pol izvora napajanja a na Vss se spaja masa izvora. Bitno je napomenuti kako je dovoljno izvor spojiti samo na jedan od mogućih izvoda za Vdd, odnosno Vss. Izvodi OSC1 i OSC2 služe za ulazni signal takta. Signal takta generirat će se preko kvartznog oscilatora i dva kondenzatora koja zajedno s oscilatorom tvore titrajni krug. Tipična vrijednost kondenzatora za frekvenciju od 12 Mhz je 33pF. Shemu spajanja vidimo na slici desno. Kada smo mikrokontroler spojili kao na slici, ostvarili smo sve nužne sklopovske preduvjete za rad mikrokontrolera i možemo prijeći na pisanje našeg prvog programa, a potom program prenijeti u sam mikrokontroler te izvršiti program. Kako bismo izvršili program možemo koristiti pravi mikrokontroler i komponente ali možemo i cjelokupan sustav simulirati. |